Creative Computing +
This course combines two powerful areas of technology, Physical Computing and Programming, and asks students to consider their implications. It will enable you to leap from being just a user of technology to becoming a mindful creator with it.
The course begins with Physical Computing, which allows you to break free from both the limitations of mouse, keyboard and monitor interfaces and stationary locations at home or the office. We begin by exploring the expressive capabilities of the human body and how we experience our physical environment. 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 make things happen 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, and machine learning. The Javascript ‘p5’ programming environment is the primary vehicle. P5 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.
What can computation add to human communication? The ultimate question of this class is not “how” to program but “why” to program. You will gain a deeper understanding of the possibilities of computation in order to see how it applies to your interests (e.g. art, design, humanities, sciences, engineering). In addition to weekly technical assignments there are blogging assignments, usually reacting to short readings, allowing you to reflect in writing about the nature of computation and how it fits into your life and into human society.
There is an even workload each week of a technical production assignment and a writing assignment but none of them are big. The course is designed for computer programming novices but the project-centered pedagogy will allow more experienced programmers the opportunity to go further with their project ideas and collaborate with other students.