Creative Computing

Scott Fitzgerald

What can computation add to human communication? Creating computer
applications, instead of just using them, will give you a deeper understanding of the essential possibilities of computation. Conversely excitement about your computational project ideas whether they be in the domain of art, design, humanities, sciences or engineering will best propel your acquisition of skills necessary to realize those ideas. This course will begin with the expressive capabilities of the human body and how we experience our physical environment. The Physical Computing skills will allow you to go past the limitations of the mouse, keyboard & monitor interface and at locations other than the home or the office. The platform for the class is a microcontroller (Arduino brand), a very small inexpensive single-­‐chip computer that can be embedded anywhere and sense and actuate in the
physical world. The core technical concepts include digital, analog and serial input and output. The second portion of the course focuses on fundamentals of computer programming (variables, conditionals, iteration, functions & objects) as well as more advanced techniques such as data parsing, image processing, networking, computer vision. The Java-­‐based ‘Processing’ programming environment is the primary vehicle. Processing is more oriented towards visual displays on desktops, laptops, tablets or smartphones but can also connect back to the physical sensor & actuators
from the first part of the class. The course is designed for computer programming novices but the project centered pedagogy will allow more experienced programmers the opportunity to play further with their project ideas and make lots of friends by helping the other students.