It’s time to put it all together! You have learned all of Karel’s abilities, and have practiced writing programs to solve Karel problems. In this unit, you will synthesize all of the skills and concepts learned in the Karel unit to solve increasingly challenging Karel puzzles.

TEST DAY–Group up! You cannot move on until EVERYONE in your group is finished with an activity!


Students will be able to…
* Define a problem in their own words and plan out a solution to the problem
* Break a large problem down into smaller pieces and solve each of the pieces, then use these solutions as building blocks to solve the larger problem
* Utilize the proper control structures to create general solutions that solve multiple Karel worlds
* Write clear and readable code using control structures, functions, decomposition, and comments


These are the key terms for this lesson.

Term Definition
Break Down (Decompose) Breaking down (decomposing) your code is splitting it into more functions.
Read Like a Story Programs that “Read like a story” have good decomposition and make the code easy to follow.
Programming Style The way your code is written is the style. It covers the aspects of the code that goes beyond whether or not it just works.
Comment A message in your code that explains what is going on.
Decomposition Decomposition is breaking your program into smaller parts.
Fencepost Problem A problem when using a while loop where you forget one action at the beginning or the end.


  • Review the idea of pseudocode. Plan out your solution to a problem first in plain language, then pseudocode, before ever typing out your code. Your solution should read out like a story, then you can code each step of the story.
  • Remember you will need to solve the challenge for every Karel world provided, not just the starter world.
  • Sometimes it’s best to learn best by doing. The Karel Challenges synthesize skills and concepts learned from the entire unit. You will likely need multiple class periods to solve all of the challenges.
  • Some of the challenges are very tricky, but the longer you spend trying, the more rewarding it is when you finally solve the problem. Growth mindset is very important here. Many solutions will seem promising at first, but then will end up being incorrect. This is an opportunity to learn what was wrong, and try again with a better plan. Most of the time, the first solution you try to code will not end up being correct, and that’s okay! The bugs you run into are chances to learn from your mistakes.


These are all the activities included in the lesson.

Discussion Questions:

Answer the following at the top of your Word Online file for this class:

  1. What should you do if you get stuck?

Leave a comment

Your email address will not be published. Required fields are marked *