Below are lesson plans to solve a variety of problems (including TED-Ed Riddles) using Python code in Jupyter notebooks. For each problem, there are three resources:

  • Teacher lesson plan (how to introduce and teach the problem)
  • Teacher Jupyter notebook (including instructions)
  • Student Jupyter notebook

Amphibians and algorithms
Suggest grade levels: 4-8

There are a group of frogs hanging out on a log. Students need to figure out to move one group of frogs on the left-hand side of the log, and another group to the right-hand side of the log.

Decoding coins
Suggested grade levels: 8-10

There are 21 coins on a table; the student who takes the last coin wins. No one can skip a turn and students can only take a two coins per turn. 

Calendars and code
Suggested grade levels: 8-10

In this problem, students determine which day of week their birthday falls on for the current year. Students need to use multiple numbers and patterns to solve the problem.

Escape zombies with patterns
Suggested grade levels: 7-9

Students need to use patterns to help four characters escape a zombie attack. The escape route is a rickety bridge that can only support two people at a time. The zombies arrive in 17 minutes.

Simulating Games with Randomness – Unfair Dice
Suggested grade levels: 9-12

Two players competing for the same resources. Game seems rigged. Students explore a live simulation of the game, to calculate how to balance the game for everyone involved.

Introduction to Data Science with COVID-19
Suggsted grade levels: 5-12

Using online data about the COVID-19 pandemic to learn about data manipulation and create graphs and other visualizations.

Modelling the COVID-19 Outbreak in Canada 
Suggested grade levels: 9-12

Students will learn how to use mathematics to explore a model of the COVID-19 outbreak in Canada. From there, they’ll compare the model against data from COVID-19 confirmed casesin Canada using graphs.