Suggested Lesson Flow

Table of contents

  1. Warm Up
  2. Lesson
  3. Practice
  4. Discuss

Warm Up

Give students a warm-up program to complete.This is usually to review last lesson’s topics and get them engaged from the get-go. Some warm-ups can be found under the practice package of each unit.

Lesson

Show/live code example programs to demonstrate new concepts. Lesson code can be found under the lessons package of each unit.

Practice

Give students a programming problem for them to attempt to complete on their own. This allows them (and you) to test how much they retained during the lesson and reinforces concepts.

If you want to live code your own solution with them, that’s great too! Practice problems can be found under the practice package of each unit. Problem statements should be in a multi-line comment near the beginning of the program.

Discuss

Once most/all students are done with their solution, ask them to share their code with everyone. Look over their code and encourage students to do the same. Encourage the student who is currently sharing to explain their thought process.

Check for errors, and be understanding, not punitive, when pointing them out. Also make sure their programming style is good - they should have comments, indent properly, etc.

At the very end, you should share your solution (or the solution code provided in the repository) and explain it. This is perhaps the most important part of the lesson, because it gives everyone a chance to evaluate their work and also see how other people may have solved the problem differently.