Monday, October 7, 2013

Computational Art Using Processing for CS0 / GHC13

I love the curriculum that Zoe Wood and Julie Workman created for their school's CS0 course and that they spoke about at GHC13.  It uses Processing, like the CS1 course that I'm currently teaching for non-majors, but focuses solely on the idea of computational art for its context.  My course has a bigger variety of problems to introduce concepts, but that's not necessarily a better thing. I do like their course's focus.

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)
Zoe and Julie emphasized just how fun the course is to teach, but also shared its success in terms of increasing female participation.  In four years, they went from 9% to 21% women!

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.


Post a Comment

Comments are moderated - please be patient while I approve yours.

Note: Only a member of this blog may post a comment.