Learning Guide

Who this course is for

This course is for someone who is new to Python or wants to rebuild their fundamentals. Previous experience with Java or another programming language is helpful, but not required.

You do not need to know programming before starting. You only need a computer, patience, and a willingness to type and test small programs.

How the course is organized

Each chapter has the same simple journey:

Read the explanation → Type the example → Change the example
→ Solve practice problems → Do homework → Take the checkpoint
→ Move to the next chapter

The links at the bottom of every lesson take you to the previous chapter, the Course Map, and the next chapter.

How to study each lesson

  1. Read the simple picture and the explanation of each new word.
  2. Type the examples yourself. Do not only copy and paste.
  3. Change the examples and observe what happens.
  4. Complete the practice activities.
  5. Solve the ten problems on the lesson page without opening the solutions.
  6. Take the checkpoint.
  7. Record the mistakes you made and what caused them.

Problem-solving routine

For every programming problem:

  1. Restate the problem in your own words.
  2. List the inputs and expected outputs.
  3. Write two or three examples, including an edge case.
  4. Break the solution into small steps.
  5. Write pseudocode.
  6. Implement the simplest correct version.
  7. Test normal, boundary, and invalid inputs.
  8. Improve names and readability.

Suggested pace

Study one topic over one or two days. Spend at least as much time solving problems as reading explanations. A learner who needs more time should repeat the problems; speed is less important than being able to explain the solution.

Completion standard

Move forward when you can explain the topic, write a small example without copying, solve at least eight of ten problems, and complete the checkpoint. Revisit the topic if you cannot explain why your solution works.

A gentle reminder

Errors are not failures. An error is Python telling you what it did not understand. Read the last line of the error first, look at the line number, and change one thing at a time.

How to use hints and solutions

Hints are intentionally small. Open one hint at a time, then return to the problem. Solutions are for comparison and learning, not for copying. After reading a solution, close it and rewrite the program from memory.