This Harvard Summer School course introduces computing as an expressive medium. We prototype, exhibit, and critique interactive, computational stories, art, and games presented as web applications and physical prototypes. We use JavaScript as a unifying language for programmatically controlling and combining audio, video, graphics, text, sensors, and actuators in these projects. Libraries like Processing.js, D3.js, and Snap.svg help us create data-rich, interactive visualizations, and Tessel serves as the microcontroller platform for our physical computing work.

A semester might not seem like a very long time when you want to build something, especially if you don't have much experience using these tools and technologies. It's possible, but it requires that you deeply immerse yourself in the processes of design and development over the four months. In order to come out of this course with something you're truly excited about and proud of, we think you will need to do a few things:

  1. brainstorm and publish project inspirations, ideas, and refinements on your Github pages site every week
  2. write code–for your own project, as extensions to class projects, or as exercises–and push it to Github every week
  3. set–and meet–monthly milestones based on your own goals for the course (with our support, if that would be helpful)

To describe in a bit more detail the textures of time and work that will make up your experience in the course…

Exercises & sample projects

During the first few weeks of the course, we will provide exercises, prompts, sample projects, and suggested extensions and riffs on those projects to help you dig into the tools of coding. These materials are meant to help expose you to what is possible with the tools we are using, to act as inspiring examples of digital and physical work in this domain, and ultimately to help you transition your time from responding to our prompts towards working on personal projects.

Studio sessions & asking for help

While we want this course to be "hard" and "intense," we don't want it to be frustrating or overwhelming. Part of the reason we teach this course as a team, in addition to enjoying each other's company, is that we want to be in a position to provide everyone in the course with the support they need. Whether you're having trouble brainstorming project ideas, getting your coding environment set up, having a particular technical challenge, or just feeling overwhelmed by everything and nothing in particular, please:

  1. come to our Monday and Wednesday studio sessions from 3-5PM at a location TBA in Harvard Square
  2. join us after any class session at Felipe's where we will be available to continue conversations and answer questions
  3. email us with any questions, big or small
  4. schedule one-on-one time to meet and/or work with us

We will make ourselves as available to you as we can.

Personal projects

One of the most common complaints by participants in past sessions of this course is that they wish they'd begun working in earnest on their personal projects earlier. In January, May seems like a long ways off, but it will come soon enough. We strongly encourage everyone in the course to veer from the curricular path we are providing during classtime as soon as they would like, focusing their time in- and out-of-class on developing personal projects.

These projects will look drastically different from participant to participant. They will involve different levels of complexity in terms of coding, aethetics, and finish. They will involve different technologies altogether. Some people will build a single, final project while others will make a collection of smaller pieces. Get in touch with us early about your thoughts for your own projects. We are happy to lend a hand at any phase: brainstorming, scoping, designing, implementing, etc.