A second course teaching more advanced programming concepts within the context of image, sound and interaction using an object-oriented language; introduction to interactive systems, user interfaces, event-driven programming, object design and inheritance; implementation using debuggers, integrated development environments, user interface builders.
In keeping with the ongoing remote-ness that is COVID-19 we will consider ourselves to be team members in a Global Arts Collective (or if you prefer 'a Distributed Software Company') - "how would remote team members, each with different skills and backgrounds, come together digitally to contribute to an interactive web-based exhibition? what will this look like? how will we keep track of the code? who does what? is it a virtual reality? does it have physical components in a physical location?".. in this way we will work with 'real-world' constraints (different time zones, different locations, online and remote access etc.) and develop methodologies to tangibly engage with an 'intangible' audience.
OUR OBJECTIVE: Submit our Group Interactive Art Projects to the Digital Media End of Year Exhibition. ...you might even consider submitting a collection of your individual 1720 (and/or 1710) work?
During lectures we will follow a complementary and comparative process where students will expand on the JAVA - processing framework with both P5.js and processing.py - JavaScript and Python - providing a foundation for future Digital Media development for integrated software (e.g., NodeJS, React) and hardware (e.g., CircuitPython) systems.
Processing is not a single programming language, but an arts-centric system for learning, teaching, and making visual form with code.
Sarah Vollmer
Office: TBD | EECS 17xx Discord Server
Email: workscv
Tuesday and Thursday from 14:30 to 16:00 - Zoom
Tuesdays, Wednesdays, Thursdays - Discord after class/labs
Levin, Golan, and Tega Brain. Code as Creative Medium: A Handbook for Computational Art and Design. MIT Press, 2021.
more optional reading TBA
General prerequisites; LE/EECS1710 3.00 Programming for Digital Media.
You should be familiar with Git, Github.
You should know Processing (java version - EECS 1710 competency).
100 Days of Code (100 @ 0.1%) | 10% |
Quizes (4 @ 5%) | 20% |
Group Project (3 Phases: 5%, 10%, 15%) | 30% |
Individual Lab Projects (4 @ 10%: 2 parts each 2%, 8%) | 40% |
Total | 100% |
It is important that you look at the departmental guidelines on academic honesty. You must cite all sources that you use - yes even if you adapt and borrow code!
Some links to get started:
Beginners guide to git/github
How to check running Linux Processes
Processing
Some suggested reading:
Levin, Golan, and Tega Brain. Code as Creative Medium: A Handbook for Computational Art and Design. MIT Press, 2021.
Shiffman, Daniel. Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction. 2nd ed. Morgan Kaufmann, 2015.
Shiffman, Daniel. The Nature of Code: Simulating Natural Systems with Processing. 2012.
Gonzalez Vivo, Patricio, and Jen Lowe. The Book of Shaders. 2015.
Marino, Mark C. Critical Code Studies. MIT Press, 2020.
Sack, Warren. The Software Arts. MIT Press, 2019.
Benjamin, Ruha. Race After Technology: Abolitionist Codes for the New Jim Code. Polity Press, 2019.
Moser, Mary Anne (ed.) and MacLeod, Douglas (ed.) Immersed in Technology: Art and Virtual Environments. MIT Press, 1996.
Boden, Margaret A. and Edmonds, Ernest A. From Fingers to Digits: An Artificial Aesthetic. MIT Press, 2019.