Course Profile

Key Topics

What are the key subject topics that this course will cover?

  • This course covers the practical application of computer programming techniques to the creation of expressive software art and computational design. Topics include generative art, networked interactivity, gestural interaction systems, and immersive world-making.

Prerequisite Knowledge

What prior knowledge must students have in order to be successful in this course?

  • This course is intended as a second course for students who have already had one semester of elementary programming (in any language). Students must be familiar and comfortable with computer programming fundamentals, such as iteration, conditional testing, functional abstraction, static and dynamic memory structures, and object-oriented programming, as taught in a course like 15-104, 15-110, or 15-112.
  • A strong foundation in mathematics, especially including geometry, algebra, and trigonometry, will also be very helpful.
  • This course is taught primarily with JavaScript. Students fluent only in Python may need to do some additional preparation.

Course Relevance

How is this course relevant to the targeted student populations?

This course is relevant to students who are interested in:

  • Exploring the use of computation in expanding our expressive vocabulary
  • Designing procedural form for games, virtual environments, and other modes of creative expression
  • Developing expertise in the aesthetic nuances and conceptual landscape of interactivity
  • Understanding the practical and social assumptions that underpin code in culture

Course Goals

What are the overall goals of this course that students will achieve after completing it?

At the conclusion of this course, students will be able to:

  • Be proficient in creating computer programs capable of responding to user interaction, in a variety of different creative coding tools, such as p5.js and Unity3D.
  • Demonstrate familiarity with the artists, designers, works and workflows centered around interactive art, generative form, and computational design.
  • Understand the role of computation in artworks that explore concepts of transmediality, connectivity, generativity, and immersivity, and how these may be applied to the production of expressive and provocative new culture.
  • Understand how to document and present creative work online, and in person.

Assessment Structure

How will students be assessed in this course: assignments, exams, final, presentation, project, etc.?

  • There are approximately 6-8 main assignments (software art coding projects). Participation also plays an important role in the final grade.

Learning Resources

What resources will be available for students: web pages, learning applications, texts, case studies, etc.?

  • Available resources include a specialized hardware, GitHub repositories, YouTube lectures, and a course web site.

Extra Time Commitments

Are there extra time commitments required outside of the regularly scheduled course meeting times?

  • No. However, students may wish to take advantage of the Professor’s posted office hours.

Course Tags

Keywords referencing general topics and/or course structure. 

  • Computational
  • Creative Coding
  • New Media Art
  • IDeATe
  • Interdisciplinary
  • Lab Component
  • Research
  • Maker