Unit 00: Drawing

Unit 00: Drawing

This initial unit prioritizes getting students making personally-meaningful things as fast as possible. This means we aren’t aiming for completeness. In particular, we’re not introducing data structures in this unit; most students won’t need them, and we’ll spend a lot of time with them in the next unit.

Working within the context of drawing, students practice building up complex programs from simple ones. We’ll use Python’s turtle library.


  • Imperative programming
  • Basics of syntax
  • Control flow: sequences, loops, conditionals, functions
  • Levels of abstraction: functions, modules
  • Decomposition and code reuse.
  • Introductory debugging strategies.


Create some personally-meaningful drawing. First, a draft will be due with a sketch of the final project and some planning, including planned subroutines and pseudocode. Each drawing project should highlight the unique opportunities of computational art by utilizing repeated patterns, abstract designs, customization, and/or user/viewer interaction.