In this course, students will learn to use computers and software as platforms for creative expression. Following a series of intensive coding workshops, students will learn to execute projects involving chance operations, rule-based systems, simulated autonomy, and interactivity. These projects will emerge as animations, drawings, prints, and screen-based artworks. Students will work primarily with the creative coding applications Processing and Grasshopper. These are coding environments designed by artists to facilitate the use of data, mathematics, and computation in visual practice. In addition to learning to program, students will translate their code into physical artifacts using computer-driven hardware such as a CNC router, a laser cutter, and Arduinos. Additionally, students will be exposed to the history and practice of generative and computational art through lectures and student presentations. This conceptual work will emphasize the formal and critical paradigms of computational media and design beginning in the 1960s.