Sheena is a computer scientist and artist turned educator who has been teaching in public school in California for the last 7 years.  She also teachers computer programming for Los Altos School District. Below we share an excerpt for her article written for CSEd week 2012. 

Building with code

By Sheena Vaidyanathan

From blocks to Legos to Minecraft - children like to build things. The sixth graders at Los Altos School District (LASD) are now building using code. Yes, they are programming.  They are creating art by writing programs in Processing.js, (a JavaScript implementation of the Processing language). They are doing this through the Khan Academy Computer Science platform. Approximately 500 sixth graders at LASD  learn computer programming in a weekly program called CSTEM. This required class uses creative and collaborative projects to teach the basics of computer hardware and programming. 

The introduction to programming starts with a 'human computer' activity. They execute a small program by hand to draw on graph paper. Working with partners, some students are able to make the drawing. "It is a house!" they shout out, excited about turning these strange lines of code into art. It is not an easy exercise for a sixth grader - understanding the parameters of the functions and then finding co-ordinates on an inverted graph paper (the origin in this graph paper is on the top left) . The struggle of this unfamiliar exercise helps them understand and appreciate program execution.

As you may imagine, the sixth graders are proud when they discover that they executed real programming code. The Processing language in the example they are given is widely used by designers and artists to produce finished work (in fact, programs are called sketches in Processing). It is also used to teach programming at UCLA, RISD, CMU and many universities in the world (see list here).  After working through the code by hand, the students are excited to try it on the computer. These initial 3 lines of code and the house they create is below




The students then start adding to the program, writing code to create windows, grass, a chimney, and much more.  Without further instructions or videos, they use what they have learned about the rectangle function and try it out.  Some hesitate, afraid to write their first line of code.  Some plan it out carefully, drawing on the graph paper and converting co-ordinates. Others jump in, entering random numbers for the function parameters. They are exploring programming. Will they really be able to write in a line of their own code now?  Will it work?

Visit Sheena's website for the full article