Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu
Project-based course designed to guide students through three advanced projects: data visualization with APIs, games that communicate specific experiences, and cooperative networked interactions where two users work together to achieve a common goal. Each project is split into 3-4 weeks, so students have ample time to thoughtfully design a program, think through the technical architecture, develop it, and iterate based on in-class feedback.
Media, Culture & Communication (Undergraduate)
4 credits – 15 Weeks
Credits: 4
Duration: 14 Weeks
Dates: Mon
Data is the means by which we turn experience into something that can be published, compared, and analyzed. Data can facilitate the production of new knowledge about the world—but it can also be used as a method of control and exploitation. As such, the ability to understand and work with data is indispensable both for those who want to uncover truth, and those who want to hold power to account. This intensive course serves as an introduction to essential computational tools and techniques for working with data. The course is designed for artists, designers, and researchers in the humanities who have no previous programming experience. Covered topics include: the Python programming language, Jupyter Notebook, data formats, regular expressions, Pandas, web scraping, relational database concepts, simple data visualization and data-driven text generation. Weekly technical tutorials and short readings culminate in a self-directed final project.
Interactive Telecommunications (Graduate)
4 credits – 14 Weeks
Credits: 2
Duration: 6 Weeks
Dates: Fri
We experience screens daily in many forms: in our hands, on our desktops, on walls and public installations as we travel. This course will explore the creative possibilities of real-time interactive and reactive art on screens in various forms. Using the recently developed p5VideoKit we will create standalone installations. p5VideoKit is a new library of live video effects – building on p5js – presented as a dashboard for mixing video in the browser. This library allows the user to apply visual effects to live video from connected cameras and sensors or streaming from devices on the internet. p5VideoKit is open source and can be extended with the user’s p5js code for a plethora of visual effects and interactivity. One possible application of p5Videokit would be a public facing installation allowing anonymous people on the street to use their hand held devices to interact with large street facing screens, thereby collaborating on real time creation of “digital graffiti”. Building on ICM, students will learn how to adapt simple sketches into components of p5VideoKit so that algorithms can be quickly composited and orchestrated into more complex works. Students will also learn how to edit and share code beyond the p5js editor, use nodejs/javascript to automate deployment of installations, and remotely configure dedicated computers with long running installations. Several dedicated computers and screens will be available to preview installations on the floor and street facing areas of the 370 Jay Street campus. Prerequisites: ICM or equivalent coding experience. About John Henry Thompson: http://johnhenrythompson.com
Interactive Telecommunications (Graduate)
2 credits – 6 Weeks
Credits: 4
Duration: 14 Weeks
Dates: Mon
This course provides students an opportunity to sharpen their coding skills in several ways: by reviewing fundamental programming concepts, acquiring techniques to systematically develop code-driven projects, and then implementing those to develop an independent project with the structure and support of a classroom learning community. The first part of the semester consists of weekly exercises to practice strategies for learning new algorithms, writing pseudocode, pair programming, debugging, refactoring, version control, and more. Screen-based code examples for the activities and assignments draw inspiration from the history of creative coding. The second part of the semester shifts to a project development studio format for students to apply these strategies to a self-directed project. This could be an existing idea or one devised during the course. Ultimately this course aims to empower students to reflect on their process and teach themselves how to program with greater efficiency and independence. It is a direct follow-up to Introduction to Computational Media (ICM) or for anyone interested in advancing their coding practice. Examples and exercises will be provided in JavaScript using the p5.js library. However, students are welcome to consult the instructor about working with another programming library, framework, or language with which they have interest or prior experience. Prerequisite: ICM or equivalent experience
Interactive Telecommunications (Graduate)
4 credits – 14 Weeks