Category Archives: IMA Electives (Legacy Structure – Programming & Data)

Courses that count in IMA’s Programming and Data category

Veillance (ITPG-GT 2469)

he course title, “Veillance” is a reference to the root of “surveillance” and “sousveillance”, watching from above and watching from below respectively. As digital media becomes a greater part of our everyday lives, it is important to understand the new forms of surveillance that it enables as well as to harness these capabilities and perhaps to create systems of sousveillance. Through the course, we’ll critically examine technologies that have become integral part of our lives; the technologies that drive the internet, the capabilities of web browsers, mobile phones, and the emerging class of networked devices such as IP cameras and Amazon’s Alexa and Google Home. Through the course of this examination, we’ll look at how this technology works, the policies that govern their use, what their benefits are, and finally look at what we are giving up by embracing them. This will be a hands-on endeavor; we’ll develop software to illustrate their use and misuse as well as looking for ways that we can harness their “veillance” capabilities for creative, educational, and possibly subversive purposes. Of course, in this process, we’ll pay particular attention to ethical and moral concerns. The course will have weekly reading and technical assignments, encompasses group work, and will culminate final projects.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2020)


ITPG-GT 2469-000 (23068)01/29/2020 – 05/06/2020 Wed12:00 AM – 2:00 PM (Early afternoon)at Brooklyn CampusInstructed by Van Every, Shawn

Digital Security and Human Rights (ITPG-GT 2188)

What do WhatsApp and Nelson Mandela have in common? How about Mr. Robot and the UN Council for Human Rights? When most people think “digital security”, they rarely think of these connections; but the connections are there. Digital security is much more than an industry buzzword— it encompasses techno-social idealism, open source development, and symbiotic coordination between sectors in tech, the humanities, and civic society. Certainly, we’re going to talk about Signal, Tor, VPNs, and OTR. But let’s dig even deeper. In this course, students will learn the principals of digital security; from end-to-end encryption, to circumvention technology, resilient communications, and beyond. Part lab exploration, part oral history, and part prototyping workshop, students will come away with the tools they need to undertake development projects with end-user security in mind; and foster an appreciation for digital security’s integral, timely, and often life-saving role in human rights struggles across the globe.

Interactive Telecommunications (Graduate)
2 credits – 8 Weeks

Sections (Spring 2020)


ITPG-GT 2188-000 (22879)01/27/2020 – 03/23/2020 Mon6:00 PM – 9:00 PM (Evening)at Brooklyn CampusInstructed by Holmes, Harlo

Collective Play (ITPG-GT 2176)

Rules of play shape competitive games from checkers to football. But how do rules of interaction shape everyday life? And what happens when there are no established conventions and the rules are being made up as we go along as they have been for the past 6 months of living almost exclusively online? In this course, we will explore, code and test design strategies for playful, serious and bizarre group interactions while at the same time interrogating both what it means to play and how individual identities and group behaviors emerge. (The interactions we create in this class will be designed specifically for synchronous, in-person, embodied experiences.) Some of the questions we will ask and attempt to answer: What motivates participation? What hinders it? When does participation become oppressive? What’s the difference between self-consciousness and self-awareness? Who has power? Who doesn’t? Are leaders necessary? What’s the difference between taking turns and engaging in conversation? What happens when the slowest person sets the pace? And most importantly, what happens when there are no rules? Interaction inputs we will play with will include: mouse, keyboard, mobile device sensors, and microphone. Outputs can include visuals, text and sound. We will use p5, websockets and node.js for real-time interaction. Class time will be split between group improvisation exercises, playing with and critiquing examples and translating design strategies into code and logic.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2025)


ITPG-GT 2176-000 (11384)01/22/2025 – 04/30/2025 Wed12:00 AM – 2:00 PM (Early afternoon)at Brooklyn CampusInstructed by Yin, Yue

Mobile Lab (ITPG-GT 2180)

One of the most transformative consumer products in history, the iPhone remains the standard bearer for great design and user experience. With the latest version of iOS and the introduction of the iPhone X, Apple puts depth sensing and augmented reality in our pockets. How do we take advantage of this incredible platform to produce our own compelling experiences? This course will be a hands-on workshop where we explore the world beyond generic apps and push the boundaries of what’s possible on iOS hardware. We will cover both the design and technical elements that pertain to end-to-end mobile app development. Topics will include augmented reality, the Internet of Things, new interfaces for musical expression, voice interaction, wearables, and others… While the class will involve iOS programming instruction, the instructors will help facilitate coding using an established code base to ensure technical skills are not a bottleneck to implementation. Students should expect to spend additional time outside of class learning Swift and other related programming concepts. Full-time access to an iOS device and a Mac laptop running the latest operating systems are required. As part of the design process, we’ll host workshops and guest critiques with designers from top studios around New York City. At the end of the class, students will have a working app to add to their portfolios and a strong basis for future mobile application work.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2020)


ITPG-GT 2180-000 (23066)01/27/2020 – 05/11/2020 Thu3:00 PM – 5:00 PM (Late afternoon)at Brooklyn CampusInstructed by Lam, Nien · Buys, Sebastian

Choreographic Interventions (ITPG-GT 2175)

This course re-conceives interactive media as a form of choreographic intervention. Instead of asking how moving bodies can control media, we will ask how interactive systems can influence movement. How do you make someone feel soft inside? How do you shake an entire room? How do you orchestrate duets between strangers? To accomplish this, the class facilitates a semester-long collaboration between ITP students and dancers from the Barnard/Columbia Dance Department. Choreographers will learn to apply computational thinking to choreography and creative coders will learn to apply choreographic thinking to computation. To whatever extent possible, we will attempt to embody code. Using computer vision and visual media, we will look at directing both how people move (quality of movement) as well as where they move (pathways and spatial relationships). We will evaluate the strengths and weaknesses of the various sensing technologies available to us today. How wide is the gulf between what we can see and feel (strength, hardness, contortion) and what a computer can see and interpret (locations, contours, velocity, acceleration)? Class time will be split between movement exercises, playing with examples and deconstructing code. The class will culminate in a final showing of student work. All classes will take place at NYU with a separate weekly technical lab for ITP students.

Interactive Telecommunications (Graduate)
4 credits – 12 Weeks

Sections (Spring 2020)


ITPG-GT 2175-000 (22932)01/31/2020 – 04/24/2020 Fri3:00 PM – 6:00 PM (Late afternoon)at Brooklyn CampusInstructed by Yin, Yue

Hacking the Browser (ITPG-GT 2811)

Web browsers were originally used only for displaying simple HTML pages, but over the years they have become supercharged all-powerful web execution machines. In this class we’ll explore experimental new features and HTML5 APIs that allow browsers to communicate with the OS and their environment. APIs that will be covered may include: Battery Status, Geolocation, notifications, accelerometer usage, video access, speech recognition, and text-to-speech. We’ll cover the mechanics of bookmarklets and Chrome extensions, with a sustained multi-week focus on building extensions and exploring Chrome’s extensions APIs. Class workshops will include projects such as building an ad blocker, programmatically replacing text and images on a website, and making sites that respond to external events. Students will give weekly in-class presentations on web capabilities, complete small weekly assignments, and present a final project. This class leans heavily on web technologies, and experience with HTML, CSS and modern JavaScript (ICM with p5.js or Commlab Web/Networked Media) is required.

Interactive Telecommunications (Graduate)
2 credits – 5 Weeks

Sections (Spring 2020)


ITPG-GT 2811-000 (22881)01/28/2020 – 03/03/2020 Tue6:00 PM – 9:00 PM (Evening)at Brooklyn CampusInstructed by Forsyth, Cory

Electronic Rituals, Oracles and Fortune-Telling (ITPG-GT 2120)

According to anthropologists Filip de Boeck and René Devisch, divination “constitutes a space in which cognitive structures are transformed and new relations are generated in and between the human body, the social body and the cosmos.” In this class, students will learn the history of divination, engage in the practice of divination, and speculate on what forms divination might take in a world where the human body, the social body, and even the cosmos(!) are digitally mediated. Starting with an understanding of ritual and folk culture, we will track the history of fortune-telling from the casting of lots to computer-generated randomness to the contemporary revival of Tarot; from reading entrails to astrology to data science; from glossolalia to surrealist writing practices to the “ghost in the machine” of artificial intelligence. Weekly readings and assignments culminate in a final project.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2020)


ITPG-GT 2120-000 (22892)01/27/2020 – 05/11/2020 Tue12:00 AM – 2:00 PM (Early afternoon)at Brooklyn CampusInstructed by Parrish, Allison

Open Source Cinema (ITPG-GT 2865)

The medium of motion pictures will be will be transformed by virtual reality technologies. But the emerging hybrid form will likely have less to do with the iconic VR headset and immersion, than in the newly possible flow of expression in the other direction, out of the participant. This class looks at the true potential of virtual reality as its mutability, to put ordinary users in the role of director of visual media as they already are in their dreams and fantasies. Democratizing media by breaking it down into discrete more easily remixable parts has historically, from DNA to alphabets to movable type led to an explosion of expression and knowledge creation. Motion pictures, perhaps our most convincing medium, is now undergoing such a transformation thanks to virtual reality technologies. Specifically, we will look at how tools like depth cameras, motion capture, and machine learning can treat a scene as a collection of elements instead of a collection of pixels. We will work with the real-time 3D rendering capabilities available, even in your phone, for the instant contrivance of visual reality using compositing, the transformation of images and models as well as virtual camera moves. The class will also consider how the more conceptual dissection of film by cinema scholars and psychologist into things like plots and character types might be templated into reusable formulas for non-experts to create an emotionally satisfying dramatic arcs.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Spring 2020)


ITPG-GT 2865-000 (22861)03/25/2020 – 05/06/2020 Wed3:00 PM – 5:00 PM (Late afternoon)at Brooklyn CampusInstructed by O’Sullivan, Daniel

Dynamic Web Development (ITPG-GT 2577)

Credits: 2
Duration: 6 Weeks
Dates: Fri

This 7-week, 2-point course will provide a framework for learning how to develop and program web applications. It will focus on server side development using JavaScript, Node.js with the Express framework, and persistent databases on cloud based infrastructure. Additional topics will include login and session management, web services and APIs, and will lightly touch on front-end web development. The course will be a mixture of lecture and in-class collaborative coding, with weekly programming and reading homework.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Connected Devices and Networked Interaction (ITPG-GT 2565)

Credits: 4
Duration: 15 Weeks
Dates: Tue

The World Wide Web no longer stops at the edge of your screen. When it comes to products, if it powers up, it talks to another device. This class provides an overview of methods for connecting the physical world to web-based applications. We’ll consider what the emerging interaction patterns are, if any, and we’ll develop some of our own as needed. This class can be seen as a narrower and more interaction design-based complement to Understanding Networks. The latter class provides a broader overview of the dynamics of communications networks, while this class focuses specifically on the challenges of connecting embedded devices to web-based services. Neither class is a prerequisite for the other, however. This class will introduce network connection techniques for devices using microcontrollers like the Nano 33 IoT and MKR series or ESP8266 and processors running an embedded operating system like the Raspberry Pi. Prerequisites: Intro to Physical Computing and Intro to Computational Media, or equivalent experience with the topics covered in those classes. Learning Objectives: Students will gain an understanding of the basics of network programming for devices with limited computing power. They will learn about current protocols for communication between devices and networked servers, and about the rudiments of security for that communication. Reading: There will be an article or two to read each week, to foster discussion about the design of connected things. Assignments: There will be several one-week software and hardware assignments to get familiar with different technologies and communications protocols, and one hardware and software final application project.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

The Nature of Code (ITPG-GT 2480)

Credits: 4
Duration: 14 Weeks
Dates: Wed

Can we capture the unpredictable evolutionary and emergent properties of nature in software? Can understanding the mathematical principles behind our physical world world help us to create digital worlds? This class focuses on the programming strategies and techniques behind computer simulations of natural systems. We explore topics ranging from basic mathematics and physics concepts to more advanced simulations of complex systems. Subjects covered include physics simulation, trigonometry, self-organization, genetic algorithms, and neural networks. Examples are demonstrated in JavaScript using p5.js (https://p5js.org). Much of the class time will be dedicated to in-class exercises and self-study as the course is available online through a video series (https://www.youtube.com/user/shiffman/playlists) and textbook (http://natureofcode.com/book).

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

The World, Pixel By Pixel (ITPG-GT 2273)

This class focuses on the art of computer graphics and image processing. We explore the concepts of pixilation, image representation and granularity and the tension between reality and image. Students are introduced to the tools and techniques of creating dynamic and interactive computer images from scratch, manipulating and processing existing images and videos, compositing and transitioning multiple images, tracking and masking live video, compositing and manipulating live video as well as manipulating depth information from Kinect. The class uses Processing.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Topics in Computation and Data: Front end web (IMNY-UT 220)

This course is designed to provide students with hands-on experience working with computational media (programming, creative coding, etc.) and data. The forms and uses of computational media and its application are explored in a laboratory context of experimentation and discussion.

Interactive Media Arts (Undergraduate)
4 credits – 14 Weeks

Sections (Spring 2020)


IMNY-UT 220-000 (23514)01/28/2020 – 05/07/2020 Tue,Thu6:00 PM – 8:00 PM (Evening)at Brooklyn CampusInstructed by Higgins, Colleen

This course will provide a foundation for understanding modern web development with a focus on front end technologies and accessing public data. The forms and uses of these technologies are explored in a laboratory context of experimentation and discussion.

Students will create two well-designed single-page web applications, including one that leverages public APIs and digital services from a wide range of existing web products. The goal of the course is for students to learn how to think holistically about an application, both by designing a clear user experience and understanding the algorithmic steps required to build it.

Creative Approaches to Emerging Media (IMNY-UT 205)

We live in a world where we have more data, computational power, and access to digital connectivity than ever before. But how do we make sense of the promise inherent in this reality while holding space for the challenges that it presents for different groups and communities? How do we situate the technologies that we have come to take for granted? And more importantly, how do we leverage an artist’s perspective to creating active responses that interrogate and hint at the potential for different futures? This course examines emergent technological fields, spanning topics like data collection/representation, digital archives, artificial intelligence, social algorithms, and automation and asks how the technologies inherent to each can be leveraged for artistic response, creation, and critique. While this course is primarily conceptual and art theory-based, the content covered will be technical in nature and students will be tasked with making three creative responses to the content in the tradition of the new media, digital, and conceptual art worlds.

Interactive Media Arts (Undergraduate)
4 credits – 14 Weeks

Sections (Spring 2020)


IMNY-UT 205-000 (23270)01/28/2020 – 05/07/2020 Tue,Thu9:00 AM – 10:00 AM (Morning)at Brooklyn CampusInstructed by Onuoha, Chisom

Networked Media (IMNY-UT 223)

“The network is a fundamental medium for interactivity. It makes possible our interaction with machines, data, and, most importantly, other people. Though the base interaction it supports is simple, a client sends a request to a server, which replies; an incredible variety of systems can be and have been built on top of it. An equally impressive body of media theory has also arisen around its use. This hybrid theory and technology course will be 50% project driven technical work and 50% theory and discussion. The technical work will utilize JavaScript as both a client and server side programming language to build creative systems on the web. Technical topics will include server and client web frameworks, such as Express, HTML, CSS, templating, and databases. The theory portion of the course will include reading and discussion of past and current media theory texts that relate to the networks of today. **** it is HIGHLY recommended you take Front End Web Development (or have equivalent front end web development experience) to get the most out of this course. We will be going over fundamentals of HTML/CSS but it would be useful to have prior knowledge ***”

Undergraduate

The Code of Music (IMNY-UT 222)

“In this course, students learn how to create musical systems –pieces that incorporate randomness, interact with their listeners, or evolve over time, in the browser. We will start by creating audiovisual instruments and sample-based interactive songs, as students review their p5.js skills and are introduced to the Tone.js music library. Then, we will turn to a structured exploration of the elements of music, focusing on rhythm, melody, timbre, and harmony. For each, we will hold listening sessions, represent and manipulate the element in code, and interact with it via a range of existing interfaces. Students will explore the possibilities that computation and interactivity open up by designing and implementing a series of interactive studies. The last few weeks of the semester will be dedicated to introducing algorithmic composition techniques such as Markov Chains and Neural Networks. During this time, students will also develop their final project: an interactive/generative musical piece that builds on their previous classwork. Throughout the course, students are encouraged to bring in their musical tastes and interests into the classroom. This class is a good fit for students who are interested in: – Creating interactive music pieces and digital instruments. – Deepening their understanding of how music works. All musically-curious students are welcome: previous experience with music and audio will be useful, but is not required. – Continuing to develop coding skills. Creative Coding or equivalent programming experience is required.”Prerequisite: Creative Computing (IMNY-UT 101)

Undergraduate

Processing Big Data for Analytics Applications (CSCI-UA 476)

This course introduces platforms, tools, and the architectures that facilitate scalable management and processing of vast quantities of data. We will explore open source tools enabling the efficient acquisition, storage, and processing of Big Data. Students will learn about distributed storage solutions such as the Apache Hadoop Distributed File System (HDFS), which supports storage of Big Data. Students will gain hands-on experience with distributed processing Apache solutions such as Hadoop MapReduce, HBase, Hive, Impala, Pig, core Spark, Spark SQL, and Spark Streaming. Other Apache big data tools covered are Sqoop, Oozie, Zookeeper, Flume, and Kafka

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2021)


CSCI-UA 476-000 (10054)01/28/2021 – 05/10/2021 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Malavet, Ann

Numerical Computing (CSCI-UA 421)

Introduction to numerical computation: the need for floating-point arithmetic, the IEEE floating-point standard. Importance of numerical computing in a wide variety of scientific applications. Fundamental types of numerical algorithms: direct methods (e.g., for systems of linear equations), iterative methods (e.g., for a nonlinear equation), and discretization methods (e.g., for a differential equation). Numerical errors: How can you tell if you can trust your answers? The use of graphics and software packages such as Matlab. Programming assignments.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 421-000 (7822)01/24/2022 – 05/09/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Overton, Michael