Contents

Introduction

This series of lessons originated as a coorporation between the Drawing Station and Interaction Station.
It gives the student an introduction to conditional design drawing technique, and programming fundemantals. The underlying theme is Analog & Digital. What is the essential difference between giving an assignment to a human, as opposed to a computer? See also: Jam Sandwich Algorithm . And we start by using analog tehcniques (pen, paper, geo triangles), then step by step move to the computer, and end where we begun, in the analog domain, by using a pen plotter.

For the four weeks open aanbod, the lessons schedule was:

Week 1: First do some existing conditional design assignments, then make your own, and execute each other's. Discuss the results.

Week 2: Create algortihms using the analog puzzle pieces, and execute each other's. Discuss the results.

Week 3: Program the algorithm in python

Week 4: Finish the program and plot it with a pen plotter. End presentation.

Results can differ, although nobody is "wrong"! Discuss this. Difference between programming a human and a computer.

2: Turtleblocks

Laser-cut turtleblocks

Basically an analog version of scratch.

Make sure every student has 2 duplicates of every different puzzle piece.

The transparent version can be used for explaining the blocks with an overhead projector, which can be drawn upon too, using an overhead projector. We can simulate the whole turtle program in an analogue way. (You can also have a little paper triangle that can be moved around representing the turtle)

Let students draw their own and each others program, so they understand what's happening, executing the code line by line. They "play" the programmer, and "play" the turtle.

You can find the laser cut file here: Laser-cut Turtleblocks. The cheatsheet on how to convert in to python code is there too.

3: Python plotterturtle

Some good python turtle examples are to easy to find on the web.

Using the plotterturtle library, we make the code as clean and easy as possible (for instance, no need to create a turtle object)

Introduce indentation and basic error handling (see if you can spot the mistake)