Fall 2019 Electives
The first goal of the course is to nurture foundations in programmatic thinking.
You’ll learn to code. You will develop agility with fundamental programmatic primitives like: functions, loops, variables, conditional logic, recursion, & data structures. We’ll journey across a number of programming paradigms and techniques: imperative, declarative, objects & messaging, functional & code-as-data, asynchronous & event-driven, etc. You’ll make realtime multiplayer software via websockets, and query popular network services by learning http & REST basics. Begin to gain a programmer’s command of your own machine, understanding the terminal and command line tools. Our targets will be the browser and node.js, so we’ll work in Javascript and languages with a good WASM story.
The second goal of the class is to destroy computation.
Come to question everything in the course. Wonder if code is the right notation / instrument for composing computer media. Recognize a drastic literacy asymmetry in the world. See the hazards of “UI/UX” culture, hazards of how civilization currently regards computation. Consider how client-server relates to governance & truth, and how utopian rhetorics of decentralization could summon new kinds of problems for society. Understand machine-learning as painting. What are new software attitudes? How do we incubate new voices in computation?
No background with code required. Open to majors, non-majors, graduate students. Fine artists strongly encouraged.
Workshops are 1 credit and last 4 weeks. Mix and match.