This course will teach basic programming concepts with a focus on processing and web-based applications. Beyond basic cross-language technical skills, the course will also ground software practices in a critical context to examine how and why contemporary artists choose to use software, how software written by artists gets used and disseminated via the web, and how software practices intersect with traditions of performance art and public art. Students will create case studies of software-based art projects to gain greater understanding of the social, political and technological forces at work in software development. The course will explore variables, functions, data structures, loops, conditionals, web architectures — and various approaches to the software development process — iterative design, debugging, unit testing, usability. Students will collaboratively experiment with different programming languages such as ActionScript, PHP and Processing along with XML and mySQL data sources to develop web-based software projects. No prior programming experience is necessary. Restricted to Graduate, Senior Digital Media Majors can take this class as a NODE.

