Although the hope is that some of these students continue on in CS, this course is not as in-depth as a full-fledged CS course. Some of the outcomes include students understanding that computers process commands one at a time, commands must be precise, variables allow for flexibility, functions allow simple concepts to be combined into complex programs, and playing is ok! (I hope my students walk away with that last one especially.) The curriculum embodies basic computational thinking, basic programming skills, working in teams, learning basic college skills, and enjoying computer science. It covers shapes and 2D coordinates, colours, interactivity, animation basics, geometric shapes (implicit and parametric), images (arrays and pixels), and particle systems (classes).
The five course projects really inspired me. I loved how flexible they are, and how interesting the demoed results were. These are the project topics:
- Chuck Close, up close (each student makes one pixel, group puts them all together)
- self portrait of social interaction (every mouse click shows visually how student feels)
- self portrait (get a photo of themselves, do image manipulation, and implement hot spots that have different responses)
- tell a story (computational animation)
- interactive montage with a 'journey home' theme (done in teams)
I've already been leaning toward Processing as a better choice for a first language as compared to Python. The experience shared in this talk along with my own comparison of teaching both languages this semester is solidifying my view on this. Python is a great early language, but I still prefer Processing first, especially for its potential to engage non-traditional students.