Category Archives: Programming & Data (Old Structure)

Courses that count in IMA’s Programming and Data category

Programming with Data (ITPG-GT 3049)

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. Prerequisite: ICM / ICM: Media (ITPG-GT 2233 / ITPG-GT 2048)

Interactive Telecommunications (Graduate)
4 credits – 13 Weeks

Sections (Fall 2024)


ITPG-GT 3049-000 (15741)
09/09/2024 – 12/09/2024 Mon
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Parrish, Allison

Re-decentralizing the Internet (ITPG-GT 3032)

Decentralization has become a buzzword in the technology space, and there is much more to decentralized technology than NFTs and cryptocurrency. In this course, we will examine the fundamental concepts of the existing internet infrastructure, work to define what decentralization means, learn about the “why” of decentralization, survey the landscape of decentralized, distributed, and p2p protocols, and develop decentralized applications. We learn about will examine the implementation of decentralized technology and throughout the course, we will look at different use cases of decentralization such as evading censorship, protecting privacy, and creating resilient applications. We will also consider ethical questions about the decentralization movement—how will it grow, who benefits from decentralization, and whether a decentralized internet is even a good solution at all. We will examine the underlying technologies that enable decentralization, as well as looking at the current implementations of decentralized protocols and apps built on top of decentralized protocols. Finally, we will touch on adjacent topics such as local networks, mesh networking, and p2p networks. While this course will cover a breadth of decentralized and self-hosted applications, we will steer away from decentralized financing and NFTs and instead focus on decentralized information sharing. The goal of the class is to challenge students to think critically about the future of the decentralized web and develop applications that leverage these technologies. Students with or without a background in networking are both highly encouraged to enroll.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Fall 2023)


ITPG-GT 3032-000 (21891)09/08/2023 – 12/15/2023 Fri9:00 AM – 12:00 AM (Morning)at Brooklyn CampusInstructed by

Shared Minds (ITPG-GT 3033)

“What capabilities does computational media have for depicting and conveying the experience of our minds? In this course we will start out using 3D graphics to depict the conventional physical reality that appears before us. Then we will turn inward to reflect the multidimensional reality of our minds, using artificial neural networks. Finally we return to embodied interfaces connected with cloud networking and databases to share with other people. The class will operate at a conceptual level, inviting students’ empirical psychological and philosophical investigations of the nature of their experience and how to convey it with art and story. It will ask students to look critically at existing computational media’s tendencies to bore, divide or inflame its users. But this is also very much a coding class where students will prototype their own ideas for new media first with 3D graphics using the threejs library, and then with machine learning models like Stable Diffusion using Huggingface APIs or Colab notebooks and finally with networking and databases using Firebase or P5 Live Media. Students can substitute other coding tools but game engines will not work for this class. The coding is in javascript, with a possible touch of python, and is a natural sequel to Introduction to Computational Media.” Prerequisite: ICM / ICM: Media (ITPG-GT 2233 / ITPG-GT 2048)

Interactive Telecommunications (Graduate)
4 credits – 13 Weeks

Sections (Fall 2024)


ITPG-GT 3033-000 (15739)
09/04/2024 – 12/04/2024 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by O’Sullivan, Daniel

Seeing Machines (ITPG-GT 3031)

A programming course where we’ll explore various techniques and solutions for tracking and sensing people or objects in space. Students will get familiar with the terminology and algorithms behind many sensing topics such as computer vision, depth cameras, positional tracking, and coordinate mapping. As these subjects are explored, we will also dig into communication, and how this information can be transmitted from one tool to another, for example using OSC, Spout/Syphon, MIDI, DMX/ArtNet. The goal being to use the right tool for the job and not limit ourselves to a particular piece of software.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Fall 2023)


ITPG-GT 3031-000 (21890)
09/05/2023 – 12/12/2023 Thu
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Zananiri, Elie

Canvas for Coders (ITPG-GT 3016)

Your web browser is a digital canvas for 21st-century artists. While being one of the most common mediums today, web space has infinite possibilities for new aesthetics. This course covers Three.js fundamentals, providing students with the skills and insights to create arts in web 3D. This course requires ICM or equivalent coding experience. Prerequisite: ICM / ICM: Media (ITPG-GT 2233 / ITPG-GT 2048)

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Fall 2024)


ITPG-GT 3016-000 (15726)
09/05/2024 – 10/17/2024 Thu
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Park, Joo Hyun

Listening Machines (Digital Synesthesia: Seeing Sound) (ITPG-GT 3018)

“In even the tiniest fragment of digital sound (especially music) there lies a multiplicity of information hidden within. Using audio analysis techniques, this data can be distilled into a vast array of characteristics that describe various different features of the sound. These include things like the loudness, pitch, or the spectrum of frequencies being detected. Through additional analysis, these data points can be used to detect higher level musical features representing things like tempo, rhythm, or melody. Furthermore, the sound and music information can be used to train deep learning models that can then make accurate predictions (eg. what a sound is, what genre a song is, what mood a song evokes). Or, we can use machine learning for generative purposes using the data to guide the creation of new sounds, synthesizers, or even entire songs. The preceding are activities that fall under the areas of digital signal processing, music information retrieval, and machine learning, a trifecta that form the technological foundation for the research area known as machine listening. With a focus on ambient sound and music, this class will explore how tools and techniques from the field of machine listening can become a powerful aspect, or even strategy, in the realm of creative applications. This course will not cover, nor will it assume knowledge of, the underlying technical aspects of machine listening, or music theory. Resources for further pursuance of each week’s topics will be provided but will not be required for class. Instead, our aim will be on understanding what these techniques are doing, when and where to apply them, and how to access and apply them effectively through powerful software libraries. This high level approach will allow us to keep our efforts directed towards creative experimentation without becoming bogged down. Ultimately, students will synthesize the semester’s work into their own creative application involving sound. Here are some examples of the types of projects this class could support: An app that visualizes audio through graphics or DMX/LED lighting to create synesthesia-like effects An automatic system for transcribing music based off of a recording or real-time input A music remixing system where tracks are automatically selected, spliced, processed, and rearranged A musical instrument that adapts to its player based on real-time analysis of the played sound A synthesizer that uses machine learning to optimize and tune its parameters A music education software that visualizes rhythm and melody for the purpose of instruction A rhythm game that derives its gameplay from music information (Guitar Hero, Rock Band, DDR) A tool that analyzes the health of a machine based on its sound through a contact microphone The course will be taught in JavaScript with ICM-level programming experience recommended. No formal training in sound or music is expected or required. This course will be a great fit for any student that is interested in sound and wants to explore it more deeply. Please feel free to reach out to me via email with any questions about the class.”

Interactive Telecommunications (Graduate)
2 credits – 7 Weeks

Sections (Fall 2023)


ITPG-GT 3018-000 (21877)
09/11/2023 – 10/23/2023 Mon
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by

Text-to-Image Ais (ITPG-GT 3020)

“Over the past few years, the unprecedented advancement in text-to-image artificial intelligence models has sparked widespread attention, discussion, and mainstream adoption of these innovative co-creative interfaces, which has resulted in novelty, excitement, and curiosity, as well as concern, anger, and insult. Alongside this, the booming open-sourced text-to-image model development contributes to expanding access to working with AI tools beyond experts, tech giants, and professional technologists. In this 14-week course, we will go over the landscape of text-to-image AIs and dive deep into some of the most well known ones (such as Stable Diffusion and its variants), to see what potential they have in terms of exploring new modes of content creation and helping us re-examine our language pattern. This will be a practice technique course – in the first half, we’ll focus on building good prompting practices, and in the second half, we’ll explore different image synthesis skills related to text-to-image AIs, use Python to train our own models to create customized visuals, and create animations from text. We’ll also discuss how such tools could intervene in the workflows of artists and technologists, what they can provide for researchers, and what are the caveats and things we should look out for when we’re creating with these AIs. Pre-requisites: Introduction to Computational Media (ICM) or the equivalent.” Prerequisite: ICM / ICM: Media (ITPG-GT 2233 / ITPG-GT 2048)

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Fall 2024)


ITPG-GT 3020-000 (15729)
09/06/2024 – 12/11/2024 Fri
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Zhang, Yuguang

Writing Good Code (ITPG-GT 3014)

As software projects become more complex, it becomes increasingly important to keep the code organized and manageable; otherwise, it becomes extremely difficult to implement new ideas, and the project is much more likely to be prone to mysterious and frustrating bugs. This course will demonstrate several approaches to organizing code for larger-scale projects, including how to write and name functions and classes, DRY (Don’t Repeat Yourself), pure functions, unit testing and Test-Driven Development (TDD), and why to avoid “magic numbers” and global variables. The focus of the course will be on JavaScript, using P5.js, but the principles will apply to most languages. We will be doing an ongoing, step-by-step, in-class refactor* of a complex sketch. We will also be using version control to track our changes every class. Students will be expected to complete weekly readings and assignments, and to refactor one of their previous projects, using the principles learned in this course. * Refactoring means rewriting the code, without any changes to how the program behaves.

Interactive Telecommunications (Graduate)
1 credits – 7 Weeks

Sections (Fall 2023)


ITPG-GT 3014-000 (21874)
10/30/2023 – 11/13/2023 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Tsadok, Daniel

Experiments on the Embodied Web (ITPG-GT 3013)

Today’s internet, made up of mostly text documents and two-dimensional images and videos, is the result of historical limitations in bandwidth, graphics processing and input devices. These limitations have made the internet a place where the mind goes, but the body cannot follow. Recent advances in motion capture devices, graphics processing, machine learning, bandwidth and browsers, however, are paving the way for the body to find its place online. Experiments on the Embodied Web will explore the new realm of embodied interactions in the browser across networks. The course will include discussion of influential works in the development of online embodied interaction, including the works of Kit Galloway and Sherrie Rabinowitz, Susan Kozel, and Laurie Anderson. Together we’ll explore pose detection across webRTC peer connections in p5.js and Three.js. Experience with Node, HTML and JavaScript is helpful but not required. ICM level programming experience is required. Prerequisite: ICM / ICM: Media (ITPG-GT 2233 / ITPG-GT 2048)

Interactive Telecommunications (Graduate)
1 credits – 1 Day

Sections (Fall 2024)


ITPG-GT 3013-000 (15725)

Electronics (ENGR-UH 3611)

This course focuses on fundamentals of electronics theory and design. The topics covered include semiconductor physics, diodes, diode circuits such as limiters, clamps; bipolar junction transistors; small-signal models; cut-off, saturation, and active regions; common emitter, common base and emitter-follower amplifier configurations; field-effect transistors (MOSFET and JFET); biasing; small-signal models; common-source and common gate amplifiers; and integrated circuit MOS amplifiers. The laboratory experiments include the design, building and testing of diode circuits, including rectifiers, BJT biasing, large signal operation and FET characteristics, providing hands-on experience of design, theory and applications, with emphasis on small signal analysis and amplifier design. The course also covers the design and analysis of small-signal bipolar junction transistor and field-effect transistor amplifiers; and, diode circuits. The students are introduced to designing and analyzing circuits using the LTPSpice or Cadence simulation tool.

Engineering (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


ENGR-UH 3611-000 (3595)
08/26/2024 – 12/10/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Ha, Sohmyung


ENGR-UH 3611-000 (3596)
08/26/2024 – 12/10/2024 Wed
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Sheikh, Muhammad Faraz · Ha, Sohmyung

Introduction to Data Analysis for Engineers (ENGR-UH 2027)

This course introduces students to the fundamentals of data analysis. The course starts with tools used to summarize and visualize data. The focus then shifts to fitting and parameter estimation. The derivation of estimators of parameters using both maximum likelihood and least-squares techniques are covered. Analysis of the statistical properties of estimators is also covered. The course includes hands-on exercises using MATLAB.

Engineering (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2023)


ENGR-UH 2027-000 (17233)
10/26/2023 – 12/15/2023 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Jabari, Saif Eddin Ghazi


ENGR-UH 2027-000 (17234)
10/26/2023 – 12/15/2023 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by

Electronic Rituals, Oracles and Fortune-Telling (IMNY-UT 289)

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 Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


IMNY-UT 289-000 (21942)
09/07/2022 – 12/14/2022 Mon,Wed
5:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Parrish, Allison

Interactive Multi-Screen Experiences (ITPG-GT 3002)

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 – 7 Weeks

Sections (Spring 2024)


ITPG-GT 3002-000 (14793)
03/14/2024 – 05/02/2024 Thu
9:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Thompson, John

Mobile App Development Lab (ITPG-GT 2372)

One of the most transformative consumer products in history, the iPhone remains the standard bearer for great design and user experience. With the latest versions of iOS and iPhone, 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. Each week, you’ll be asked to complete a programming exercise meant to foster your understanding of iOS application development. We’ll leverage existing open source libraries to quickly build out your app with features such as real time communication and cloud storage. We aim to create distributed instruments for computed expression. Full-time access to an iOS device and a Mac laptop computer running the latest operating system and development tools are required. Prereq: Some programming experience (such as ICM) and willingness to learn Apple’s Swift programming language.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2024)


ITPG-GT 2372-000 (14786)
01/22/2024 – 05/06/2024 Mon
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Thompson, John

No Screens Allowed (ITPG-GT 3010)

“Since the introduction of the iPhone in 2007, the touchscreen has become the dominant manner for navigating Mobile devices. UX pattern best practices are enshrined in documents such as Apple’s ‘HIG’ (Human Interface Guidelines) or Google’s more recent Material Design. ‘No Screens Allowed’ is a class that challenges this ’Touchscreen first’ interaction approach. Taught in the Kotlin language, students will prototype solutions in response to Instructor directed assignments. The various projects structured to interrogate mobile device capabilities such as: Voice Recognition, Computer Vision, Machine Learning, and built in sensors. Students will be provided with identical hardware: Pixel 3 phones running Android, the chosen development platform for the class. Successful completion of Introduction to Computational Media and Introduction to Physical Computing are required for entry into class. “

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 3010-000 (14801)
01/25/2024 – 05/02/2024 Thu
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Jones, Brian

Introduction to Quantum Technologies (ITPG-GT 3003)

Quantum technologies are the next frontier of electronics and computing. Quantum Computers, Quantum Sensors, Quantum Materials are just beginning to emerge from laboratories and enter the realm of practical application. The course introduces the underlying principles of quantum physics, and reviews emerging capabilities of quantum computers and related technologies. Coursework will include programming quantum algorithms on a simulator, and running programs on actual cloud-based quantum computing hardware. The topics will be highly technical and will require the study of scientific principles and experimental apparatus. We will cover some basic mathematical operations in linear algebra, and we’ll be encountering some equations from physics and computer science.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Spring 2024)


ITPG-GT 3003-000 (14794)
01/23/2024 – 03/05/2024 Tue
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Shakar, Gregory

Code Your Way (ITPG-GT 3007)

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 – 15 Weeks

Sections (Spring 2024)


ITPG-GT 3007-000 (14798)
01/22/2024 – 05/06/2024 Mon
9:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Nickles, Ellen

R&D Studio: Dumb, Smart, and Super Phones (ITPG-GT 3009)

In this special format studio class, students will investigate techniques and frameworks to challenge the socioeconomics of planned obsolescence. We will research, design, and develop projects that rethink our strained relationship with smartphones and re-imagine the future of “old” devices. This is a production-heavy, four-credit course, where students will contribute to original research, and develop projects that combine HCI, design, and critical theory. Prerequisites include an open mind, the drive to make, and graduate-level Physical Computing.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2023)


ITPG-GT 3009-000 (22335)
01/26/2023 – 05/04/2023 Thu
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Galvao Cesar de Oliveira, Pedro

Web Art as Site (ITPG-GT 2094)

WEB ART AS SITE addresses the history and practice of art made for and inseparable from the web, while teaching basic coding for the web. We explore key examples of web art from the early days of the internet through today, asking questions about this idiosyncratic artistic medium like: How do different forms of interaction characterize the viewer and/or the artist? What happens to our reading practice when text is animated or animates? How is an internet-native work encountered, and how does the path we take to reach it affect our reading? Who is able to see a work of web art, and what does access/privilege look like in this landscape? How are differently-abled people considered in a web artwork? What feels difficult or aggressive in web art, and when is that useful? How do artists obscure or reveal the duration of a work, and how does that affect our reading? What are the many different forms of instruction or guidance online? As we ask these questions, we exploit the internet pedagogically, collaborating online, playing with anonymity, and breaking the internet spaces we know. Students learn web coding through specialized online tutorials; most of class time is reserved for discussion (of web art and supplementary readings) and critique. Throughout the semester, students will produce two major works of web art. Students need only a standard laptop, and will not be expected to purchase any software or text (cost of materials: $0).

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2094-000 (14781)
01/24/2024 – 05/01/2024 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Ballew, Theo Ellin

Real-Time Online: Building Video & Audio Interactions for the Web (ITPG-GT 2327)

Over the past 3 years, we have seen many aspects of our lives thrust online. Increasingly, we are working, learning, socializing with family and friends, attending live performances and more through 2D grids of video feeds on platforms such as Zoom and Google Meet. These communication tools have become essential for remote communities to connect, yet fail to replicate many of the most engaging, messy and human aspects of our in-person experience. What happens when we break out of this grid and explore new forms of real-time social interactions online using webcam video and audio? Recent explorations in this realm have shown the promise of spatial metaphors in creating engaging real-time social interactions online. In this course, students will create their own series of experimental social spaces that explore these questions: how does the shape and nature of our environment affect the way we communicate? What unique forms of real-time expression and sharing might be possible online (and only online)? How might we design experiences for the unique social dynamics we want to support? Students will be exposed to principles of spatial design as well as a series of open source Javascript tools for arranging live webcam video and audio in 2D and 3D space in the browser. They will use WebGL (through the three.js library) to build 2D and 3D environments, and will be exposed to WebRTC (Web Real-Time Communications) and Node.js to add interactivity to those environments.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2024)


ITPG-GT 2327-000 (14780)
01/22/2024 – 05/06/2024 Mon
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Nelson, Aidan

How to Count Birds (ITPG-GT 2085)

On October 8th, 2015, a team in Ecuador identified 431 species of birds – the world record for number counted in a single day. Earlier that year in Myanmar, a scientist counted one Jerdon’s babbler, the first in nearly eight decades. In December of 2019, eBird announced that its database held over 737 million bird observations. This morning, in Brooklyn Bridge park, I counted 38 house sparrows, 4 black-and-white warblers and an ovenbird. This course will consider birding as a practice, and will dive deep into the processes by which observations become data. As a collective, we will investigate how crowd-sourced data is transforming ornithology, and will explore ways to tell stories about the natural world through visualization and more radical forms of data representation.

Interactive Telecommunications (Graduate)
2 credits – 7 Weeks

Sections (Spring 2023)


ITPG-GT 2085-000 (22309)
03/23/2023 – 05/04/2023 Thu
9:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Thorp, Jeremy

DIGITAL LOGIC AND STATE MACHINE DESIGN (ECE-UY 2204)

This course covers combinational and sequential digital circuits. Topics: Introduction to digital systems. Number systems and binary arithmetic. Switching algebra and logic design. Error detection and correction. Combinational integrated circuits, including adders. Timing hazards. Sequential circuits, flipflops, state diagrams and synchronous machine synthesis. Programmable Logic Devices, PLA, PAL and FPGA. Finite-state machine design. Memory elements. A grade of C or better is required of undergraduate computer-engineering majors. | Prerequisite for Brooklyn Students: CS-UY 1114 (C- or better) or CS-UY 1133 (C- or better) | Prerequisite for Abu Dhabi Students: CS-UH 1001 (C- or better) or ENGR-UH 1000 (C- or better) | Prerequisite for Shanghai Students: CSCI-SHU 101 (C- or better)

Elect. Engineering – ECE UGRD (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


ECE-UY 2204-000 (11545)
09/03/2024 – 12/12/2024 Wed
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by


ECE-UY 2204-000 (11546)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by


ECE-UY 2204-000 (11547)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by


ECE-UY 2204-000 (11548)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by


ECE-UY 2204-000 (11549)
09/03/2024 – 12/12/2024 Tue,Thu
4:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Reagen, Brandon

Information Visualization (DATS-SHU 235)

Information visualization is the graphical representation of data to aid understanding, and is the key to analyzing massive amounts of data for fields such as science, engineering, medicine, and the humanities. This is an introductory undergraduate course on Information Visualization based on a modern and cohesive view of the area. Topics include techniques such as visual design principles, layout algorithms, and interactions as well as their applications of representing various types of data such as networks and documents. Overviews and examples from state-of-the-art research will be provided. The course is designed as a first course in information visualization for students both intending to specialize in visualization as well as students who are interested in understanding and applying visualization principles and existing techniques. Fulfillment: CS Electives, Data Science Data Analysis Required; Data Science Courses for Concentration in Artificial Intelligence. Prerequisite or Co-requisite: Data Structures. Students must be CS or DS major and have junior or senior standing.

Data Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2023)


DATS-SHU 235-000 (20423)
01/30/2023 – 05/12/2023 Mon,Wed
7:00 PM – 8:00 PM (Evening)
at Shanghai
Instructed by Gu, Xianbin

Data Structures (CSCI-SHU 210)

Data structures are fundamental programming constructs which organize information in computer memory to solve challenging real-world problems. Data structures such as stacks, queues, linked lists, and binary trees, therefore constitute building blocks that can be reused, extended, and combined in order to make powerful programs. This course teaches how to implement them in a high-level language, how to analyze their effect on algorithm efficiency, and how to modify them to write computer programs that solve complex problems in a most efficient way. Programming assignments. Prerequisite: ICS or A- in ICP. Equivalency: This course counts for CSCI-UA 102 Data Structures (NY). Fulfillment: CS Required, Data Science Required, CE Required.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2023)


CSCI-SHU 210-000 (20398)01/30/2023 – 05/12/2023 Tue3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Tam, Yik-Cheung


CSCI-SHU 210-000 (20399)01/30/2023 – 05/12/2023 Thu3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simikin, Sven


CSCI-SHU 210-000 (20400)01/30/2023 – 05/12/2023 Wed3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simikin, Sven


CSCI-SHU 210-000 (20401)01/30/2023 – 05/12/2023 Mon11:00 AM – 1:00 PM (Morning)at ShanghaiInstructed by Tam, Yik-Cheung


CSCI-SHU 210-000 (20402)01/30/2023 – 05/12/2023 Wed11:00 AM – 1:00 PM (Morning)at ShanghaiInstructed by Simikin, Sven


CSCI-SHU 210-000 (20403)01/30/2023 – 05/12/2023 Fri11:00 AM – 1:00 PM (Morning)at ShanghaiInstructed by Simikin, Sven

Human-Centered Data Science (CDAD-UH 1044Q)

Data science is changing our lives. While the importance of data science is widely acknowledged, there are also great concerns around it. How are data generated? How can they be used to make predictions and inform insights? What can be the potential dangers of applying data science techniques? What are the social and human implications of their uses? This multidisciplinary course explores these questions through hands-on experience on key technical components in data science and critical reviews of human and social implications in various real-world examples, ranging from social science to arts and humanities to engineering. In the course, students will 1) learn basic concepts and skills in data science (e.g., crawling and visualization); 2) apply these skills in a creative project; 3) discuss social and human implications of data science, including data privacy; algorithmic bias, transparency, fairness, and accountability; research ethics; data curation and reproducibility; and societal impacts. This course encourages students to reconsider our common-place assumptions about how data science works and be critical about the responsible use of data.

Core: Data and Discovery (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2024)


CDAD-UH 1044Q-000 (4632)
01/22/2024 – 05/10/2024 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Park, Minsu

Music, the Mind and Artificial Intelligence (MPATE-UE 1113)

Music is universal to all human cultures. This course will explore fundamental concepts of the psychological, emotional, and cognitive effects of music and what factors in the human body and brain are involved in producing them, with particular emphasis on cross-cultural study. Students will learn beginning methods of computational feature extraction and machine learning to explore simple artificial intelligence models that build on and articulate the conceptual frameworks of music and cognition introduced in the initial phase of the class.

Music Technology (Undergraduate)
4 credits – 15 Weeks

Real Estate Data Science, Artificial Intelligence, and Machine Learning (FINC-UB 36)

Exponential growth in the availability of high quality real estate and real estate-related data is fueling a major shift in development, investment, and lending decision-making processes. In this highly applied course, students will be introduced to major data analysis and machine learning platforms; a wide range of public and private real estate and urban data sources; approaches to exploratory data analysis, real estate data visualization, and communication of findings; applied statistical modeling, including forecast modeling; and, emerging and prospective real estate applications for artificial intelligence and machine learning. Assessment will include case work focusing on real-world real estate decisions and coding assignments. While the data and applications for this course are principally in the real estate sector, the applied skills learned may be of interest for students across a wide range of industries.

Finance (Undergraduate)
3 credits – 12 Weeks

Financial Information Systems (TECH-UB 50)

The financial services industry is being transformed by regulation, competition, consolidation, technology and globalization. These forces will be explored, focusing on how technology is both a driver of change as well as the vehicle for their implementation. The course focuses on payment products and financial markets, their key systems, how they evolved and where might they be going, algorithmic trading, market structure dark, liquidity and electronic markets. Straight through processing, risk management and industry consolidation and convergence will be viewed in light of current events. The course objective is to bring both the business practitioner and technologist closer together. Topics will be covered through a combination of lectures, readings, news, case studies and projects.

Computing and Data Science (Undergraduate)
3 credits – 12 Weeks

Sections (Fall 2020)


TECH-UB 50-000 (21263)
09/23/2020 – 12/16/2020 Wed
6:00 PM – 9:00 PM (Evening)
at Washington Square
Instructed by Donefer, Bernard

Info Technology in Business & Society (TECH-UB 9001)

Provides the background necessary to make decisions about computer-based information systems and to be an “end-user”. Two major parts of the course are hands-on experience with personal computers and information systems management. Group and individual computer assignments expose students to electronic spreadsheet analysis and database management on a personal computer. Management aspects focus on understanding computer technology, systems analysis and design, and control of information processing by managers.

Computing and Data Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2023)


TECH-UB 9001-000 (18394)
08/31/2023 – 12/12/2023 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at NYU Madrid (Global)
Instructed by Sarasua, Asier


TECH-UB 9001-000 (18374)
at NYU Prague (Global)
Instructed by

COMPUTING IN CIVIL ENGINEERING (CE-UY 3013)

This course aims to introduce the modern computing methods, tools, and best practices for students in civil and urban engineering. The course uses Python as the programming language for solving a series of fundamental computational problems in civil and urban engineering, such as solving linear equations, data interpolation, curve fitting, root finding, numerical differentiation and integration, probability and statistics, linear programming and optimization. The course also introduces a series of generic computation tools and best practices for the students’ future study and research in computing applications in civil and urban engineering, including how to debug a program, visualize data, manage source codes, collaborative programming project management, etc. It aims at laying a solid foundation for civil and urban engineering students to better understand the modern programming workflow and utilize the computing tools. Students are first introduced with the fundamental concepts through the lecture, and then guided step-by-step via the in-class lab session in each weak. There will be multiple homework assignments and in-class quizzes for the evaluating the students’ performances. | Prerequisite: (CS-UY 1113 or CS-UY 1114 or CS-UY 1133) and MA-UY 2034 and MA-UY 2224 or Adviser’s approval.

Civil & Urban Engineering (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CE-UY 3013-000 (11388)
09/03/2024 – 12/12/2024 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Ozturk, Baturalp

Midi Technology II (MPATE-UE 1014)

Programming for MIDI, C, and other appropriate techniques. Design and implementation of software sequencers, interface drivers, and hardware applications will be the focus.

Music Technology (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


MPATE-UE 1014-000 (12979)
09/03/2024 – 12/12/2024 Wed
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Krauss, Briggan

Computer Vision (ENGR-UH 3331)

An important goal of artificial intelligence (AI) is to equip computers with the capability of interpreting visual inputs. Computer vision is an area in AI that deals with the construction of explicit, meaningful descriptions of physical objects from images. It includes the techniques for image processing, pattern recognition, geometric modeling, and cognitive processing. This course introduces students to the fundamental concepts and techniques used in computer vision, which includes image representation, image pre-processing, edge detection, image segmentation, object recognition and detection, and neural networks and deep learning. In addition to learning about the most effective machine learning techniques, students will gain the practical implementation of applying these techniques to real engineering problems.

Engineering (Undergraduate)
2 credits – 6 Weeks

Sections (Spring 2023)


ENGR-UH 3331-000 (22825)
01/24/2023 – 03/10/2023 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Fang, Yi


ENGR-UH 3331-000 (22826)
01/24/2023 – 03/10/2023 Wed
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Fang, Yi

Computer Organization and Architecture (ENGR-UH 3511)

The course introduces the principles of computer organization and basic architecture concepts. It discusses the basic structure of a digital computer and study in details formal descriptions, machine instruction sets design, formats and data representation, addressing structures, mechanization of procedure calls, memory management, arithmetic and logical unit, virtual and cache memory organization, I/O processing and interrupts, fundamental of reliability aspects. The course also covers performance and distributed system models. The labs emphasize experiential learning of computer organization and architecture concepts, and require students to use learned knowledge to create and build prototypes and evaluate their performance.

Engineering (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


ENGR-UH 3511-000 (3593)
08/26/2024 – 12/10/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Maniatakos, Michail


ENGR-UH 3511-000 (3594)
08/26/2024 – 12/10/2024 Wed
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Maniatakos, Michail · Annor, Prince

Computer Programming for Engineers (ENGR-UH 1000)

The objective of the course is for students to acquire the fundamental knowledge of computer programming, develop transferable programming skills, and learn to solve engineering problems via programming. The course is primarily based on the C programming language and an introduction to another programming language such as MATLAB (to demonstrate transferring programming knowledge from one language to another). The course explores the application of engineering computation in various engineering domains including mechanical, civil, computer, and electrical engineering. The following topics are covered: introduction to computer systems, standard input/output, file input/output, decision structures, loop structures, functions, arrays, addressing, dynamically allocated memory, structures, introduction to object oriented programming, problem solving via programming algorithm design, and applications in another programming language such as MATLAB.

Engineering (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


ENGR-UH 1000-000 (3554)
08/26/2024 – 12/10/2024 Mon,Wed
5:00 PM – 6:00 PM (Late afternoon)
at Abu Dhabi
Instructed by Eid, Mohamad


ENGR-UH 1000-000 (3555)
08/26/2024 – 12/10/2024 Wed
11:00 AM – 2:00 PM (Morning)
at Abu Dhabi
Instructed by Jamil, Muhammad Hassan · Eid, Mohamad


ENGR-UH 1000-000 (3567)
08/26/2024 – 12/10/2024 Tue
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Negoiu, Elena · Eid, Mohamad


ENGR-UH 1000-000 (3588)
08/26/2024 – 12/10/2024 Thu
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Negoiu, Elena · Eid, Mohamad


ENGR-UH 1000-000 (3991)
08/26/2024 – 12/10/2024 Fri
2:00 PM – 5:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Jamil, Muhammad Hassan · Eid, Mohamad

Applied Machine Learning (ENGR-UH 3332)

Machine Learning is the basis for the most exciting careers in data analysis today. This course introduces students to the concepts of machine learning and deep learning. This course covers a broad introduction to machine learning techniques, which include both supervised learning and unsupervised learning techniques such as classification, support vector machines, decision trees, ensemble learning and random forests, dimensionality reduction, and neural networks and deep learning. In addition to learning about the most effective machine learning techniques, you will gain the practical implementation of applying these techniques to real engineering problems.

Engineering (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


ENGR-UH 3332-000 (4110)
08/26/2024 – 12/10/2024 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Abu Dhabi
Instructed by Fang, Yi · Annor, Prince


ENGR-UH 3332-000 (20903)
08/26/2024 – 12/10/2024 Fri
2:00 PM – 5:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Fang, Yi · Fang, Yi

Bioimaging (ENGR-UH 2812)

This introductory course to Bioimaging is designed to provide an understanding on how images of organs, tissues, cells and molecules can be obtained using different forms of penetrating radiation and waves. Students will learn the imaging techniques used for soft and hard tissue visualization such as X-ray, Computed Tomography (CT), Ultrasound (US), Magnetic Resonance Imaging (MRI), Spectroscopy and Optical Imaging. The course will give students an insight into the theoretical physics of imaging, real-life clinical applications of these modalities and demonstration of post-processing of the images using high-level programming.

Engineering (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2024)


ENGR-UH 2812-000 (4287)
08/26/2024 – 10/11/2024 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Zam, Azhar


ENGR-UH 2812-000 (4288)
08/26/2024 – 10/11/2024 Fri
9:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Zam, Azhar · Sabah, Shafiya

Probability and Statistics for Engineers (ENGR-UH 2010Q)

Introductory course in probability and statistics with an emphasis on how these topics are relevant in engineering disciplines. Topics in probability theory include sample spaces, and counting, random variables (discrete and continuous), probability distributions, cumulative density functions, rules and theorems of probability, expectation, and variance. Topics in statistics include sampling, central limit theorem, and linear regression. The course emphasizes correct application of probability and statistics and highlights the limitations of each method presented. NOTE: This course may be replaced with MATH-UH 1003Q or MATH-UH 2011Q

Engineering (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2024)


ENGR-UH 2010Q-000 (3562)
08/26/2024 – 10/11/2024 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Nadeem, Qurrat-Ul-Ain


ENGR-UH 2010Q-000 (4098)
08/26/2024 – 10/11/2024 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Diabat, Ali


ENGR-UH 2010Q-000 (3628)
08/26/2024 – 10/11/2024 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Nadeem, Qurrat-Ul-Ain · Ayed, Lana Odeh


ENGR-UH 2010Q-000 (4099)
08/26/2024 – 10/11/2024 Tue
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Ayed, Lana Odeh · Diabat, Ali

Numerical Methods (ENGR-UH 2017)

This course provides an introduction to the methods, techniques, theory, and application of numerical methods in the solution of engineering problems. Topics to be covered include the following: finding roots of equations, numerical differentiation and integration, time marching methods in solving ordinary differential equations, and optimization. MATLAB software is the primary computing environment.

Engineering (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2024)


ENGR-UH 2017-000 (3651)
10/21/2024 – 12/10/2024 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Karathanasopoulos, Nikolaos


ENGR-UH 2017-000 (4055)
10/21/2024 – 12/10/2024 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Karathanasopoulos, Nikolaos


ENGR-UH 2017-000 (3652)
10/21/2024 – 12/10/2024 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Khalifa, Duoaa Magdi


ENGR-UH 2017-000 (4056)
10/21/2024 – 12/10/2024 Tue
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Khalifa, Duoaa Magdi

Object-Oriented Programming (ENGR-UH 2510)

This intermediate-level programming course focuses on object oriented programming using C . Classes and objects including constructors, destructors, member functions and data members. Topics in this course include data representation, pointers, dynamic memory allocation and recursion, inheritance and templates, polymorphism, the process of compiling and linking using makefiles, memory management, exceptional control flow, introduction to performance evaluation, and optimization.

Engineering (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2024)


ENGR-UH 2510-000 (3818)
08/26/2024 – 10/11/2024 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Alhanai, Tuka


ENGR-UH 2510-000 (3819)
08/26/2024 – 10/11/2024 Tue
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Alhanai, Tuka

Digital Logic (ENGR-UH 2013)

This module provides a rigorous introduction to topics in digital logic design mostly focusing on combinational circuits but also touching upon basic concepts in sequential circuits. Introductory topics include: classification of digital systems, number systems and binary arithmetic, error detection and correction, and switching algebra. Combinational design analysis and synthesis topics include: logic function optimization, arithmetic units such as adders and subtractors, and control units such as decoders and multiplexers. A brief overview of sequential circuits by introducing basic memory elements such as flip-flops, and state diagrams concludes the module.

Engineering (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2024)


ENGR-UH 2013-000 (3810)
08/26/2024 – 10/11/2024 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Sinanoglu, Ozgur


ENGR-UH 2013-000 (3811)
08/26/2024 – 10/11/2024 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Sinanoglu, Ozgur


ENGR-UH 2013-000 (3660)
10/21/2024 – 12/10/2024 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Sinanoglu, Ozgur


ENGR-UH 2013-000 (4060)
10/21/2024 – 12/10/2024 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Sinanoglu, Ozgur


ENGR-UH 2013-000 (3661)
10/21/2024 – 12/10/2024 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Sinanoglu, Ozgur


ENGR-UH 2013-000 (4061)
10/21/2024 – 12/10/2024 Tue
2:00 PM – 4:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Sinanoglu, Ozgur

Projects in Programming and Data Sciences (TECH-UB 24)

This course is the follow-on course to Introduction to Programming and Data Science, which is offered in the Fall. It is recommended for undergraduate students who 1) are interested in jobs in the rapidly growing fields of data science and data analytics or 2) who are interested in acquiring the technical and data analysis skills that are becoming increasingly relevant in all disciplines. Intro to Programming and Data Science forms the basis for this course, but it is not a pre-requisite. Students with basic knowledge of programming in Python and SQL are welcome to join. This course covers select topics that build on the prior course work and is largely project based. Much of the course will be project-based work, with students working on projects that utilize the skills used in this and the prior Programming and Data Science course.

Computing and Data Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2023)


TECH-UB 24-000 (19343)
at Washington Square
Instructed by


TECH-UB 24-000 (19344)
at Washington Square
Instructed by

Introduction to Programming and Data Science (TECH-UB 23)

This course is recommended for undergraduate students without programming experience who are interested in building capabilities in the rapidly growing fields of data science and data analytics. This hands-on coding course does not have any prerequisites and is meant to help students acquire programming and data analysis skills that are becoming increasingly relevant for entrepreneurial, corporate, and research jobs. The course offers an introduction to programming (using Python) and databases (using SQL). We will cover topics related to collection, storage, organization, management, and analysis of data. There is a strong focus on live coding in the classroom, with discussion of examples.

Computing and Data Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2023)


TECH-UB 23-000 (19340)
at Washington Square
Instructed by


TECH-UB 23-000 (19342)
at Washington Square
Instructed by


TECH-UB 23-000 (19345)
at Washington Square
Instructed by

Social Media & Digital Marketing (TECH-UB 38)

This course examines the major trends in digital marketing using tools from business analytics and data science. While there will be sufficient attention given to top level strategy used by companies adopting digital marketing, the focus of the course is also on business analytics: how to make firms more intelligent in how they conduct business in the digital age. Measurement plays a big role in this space. The course is complemented by cutting-edge projects and various business consulting assignments that the Professor has been involved in with various companies over the last few years. Prof Ghose has consulted in various capacities for Apple, AMD, Berkeley Corporation, Bank of Khartoum, CBS, Dataxu, Facebook, Intel, NBC Universal, Samsung, Showtime, 3TI China, and collaborated with Alibaba, China Mobile, Google, IBM, Indiegogo, Microsoft, Recobell, Travelocity and many other leading Fortune 500 firms on realizing business value from IT investments, internet marketing, business analytics, mobile marketing, digital analytics and other topics.We will learn about statistical issues in data analyses such as selection problem, omitted variables problem, endogeneity, and simultaneity problems, autocorrelation, multi-collinearity, assessing the predictive power of a regression and interpreting various numbers from the output of a statistical package, various econometrics-based tools such as simple and multivariate regressions, linear and non-linear probability models (Logit and Probit), estimating discrete and continuous dependent variables, count data models (Poisson and Negative Binomial), cross-sectional models vs. panel data models (Fixed Effects and Random Effects), and various experimental techniques that help can tease out correlation from causality such as randomized field experiments.

Computing and Data Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2023)


TECH-UB 38-000 (19338)
01/23/2023 – 05/08/2023 Thu
6:00 PM – 9:00 PM (Evening)
at Washington Square
Instructed by

Introduction to Cryptography (CSCI-SHU 378)

The study of modern cryptography investigates mathematical techniques for securing information, systems and distributed computations against adversarial attacks. We introduce fundamental concepts of this study. Emphasis will be placed on rigorous proofs of security based on precise definitions and assumptions. Topics include: one-way functions, encryption, signatures, pseudorandom number generators and zero-knowledge proofs. Prerequisite: Algorithms, theory of probability, or permission of the instructor. Fulfillment: Mathematics Additional Electives; Honors Mathematics Electives; CS Electives.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


CSCI-SHU 378-000 (18506)
09/05/2022 – 12/16/2022 Mon,Tue
3:00 PM – 4:00 PM (Late afternoon)
at Shanghai
Instructed by Guo, Siyao

Computer Science Senior Project (CSCI-SHU 420)

The purpose of the Senior Project is for the students to apply the theoretical knowledge they acquired during the Computer Science program to a concrete project in a realistic setting. During the semester, students engage in the entire process of solving a real-world computer science project. It requires students to pursue a long-term, mentored learning experience that culminates in a piece of original work. At the end of the semester, the proposed work comes to fruition in the form of a working software prototype, a written technical report, and an oral presentation at a capstone project symposium. Prerequisite: senior standing. Fulfillment: CS Required.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Introduction to Computer Programming (CSCI-SHU 11)

An introduction to the fundamentals of computer programming. Students design, write, and debug computer programs. No prior knowledge of programming is assumed. Students will learn programming using Python, a general purpose, cross-platform programming language with a clear, readable syntax. Most class periods will be part lecture, part lab as you explore ideas and put them into practice. This course is suitable for students not intending in majoring in computer science as well as for students intending to major in computer science but having no programming experience. Students with previous programming experience should instead take Introduction to Computer Science. Prerequisite: Either placed into Calculus or at least a C in Pre-Calculus Fulfillment: Core Curriculum Requirement Algorithmic Thinking; EE Required Major Courses. Note: Students who have taken ICS in NY, Abu Dhabi, and Shanghai cannot take ICP.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Spring 2022)


CSCI-SHU 11-000 (17503)
02/07/2022 – 05/13/2022 Mon
8:00 AM – 10:00 AM (Morning)
at Shanghai
Instructed by Simon, Daniel


CSCI-SHU 11-000 (17504)
02/07/2022 – 05/13/2022 Tue
3:00 PM – 5:00 PM (Late afternoon)
at Shanghai
Instructed by Simon, Daniel


CSCI-SHU 11-000 (23632)
02/07/2022 – 05/13/2022 Wed
8:00 AM – 10:00 AM (Morning)
at Shanghai
Instructed by Simon, Daniel


CSCI-SHU 11-000 (23633)
02/07/2022 – 05/13/2022 Wed
8:00 AM – 10:00 AM (Morning)
at Shanghai
Instructed by Liu, Yijian


CSCI-SHU 11-000 (23634)
02/07/2022 – 05/13/2022 Thu
3:00 PM – 5:00 PM (Late afternoon)
at Shanghai
Instructed by Simon, Daniel


CSCI-SHU 11-000 (23767)
02/07/2022 – 05/13/2022 Thu
3:00 PM – 5:00 PM (Late afternoon)
at Shanghai
Instructed by Liu, Yijian


CSCI-SHU 11-000 (26252)
02/07/2022 – 05/13/2022 Tue
9:00 PM – 10:00 PM (Evening)
at Shanghai
Instructed by Spathis, Promethee


CSCI-SHU 11-000 (26253)
02/07/2022 – 05/13/2022 Thu
9:00 PM – 10:00 PM (Evening)
at Shanghai
Instructed by Spathis, Promethee

Introduction to Computer and Data Science (CSCI-SHU 101)

This course has three goals. First, the mastering of a modern object-oriented programming language, enough to allow students to tackle real-world problems of important significance. Second, gaining an appreciation of computational thinking, a process that provides the foundations for solving real-world problems. Finally, providing an overview of the very diverse and exciting field of computer science – a field which, arguably more than any other, impacts how we work, live, and play today. Prerequisite: Introduction to Computer Programming or placement exam. Equivalency: This course counts for CSCI-UA 101. Fulfillment: Core Curriculum Requirement Algorithmic Thinking; Computer Science Major Required Courses; Computer Systems Engineering Major Required Courses; Data Science Major Foundational Courses; Electrical and Systems Engineering Major Required Major Courses.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Spring 2022)


CSCI-SHU 101-000 (17449)
02/07/2022 – 05/13/2022 Tue
8:00 AM – 10:00 AM (Morning)
at Shanghai
Instructed by Gu, Xianbin


CSCI-SHU 101-000 (17509)
02/07/2022 – 05/13/2022 Thu
8:00 AM – 10:00 AM (Morning)
at Shanghai
Instructed by Yin, Wen


CSCI-SHU 101-000 (17572)
02/07/2022 – 05/13/2022 Thu
8:00 PM – 9:00 PM (Evening)
at Shanghai
Instructed by Yin, Wen


CSCI-SHU 101-000 (17596)
02/07/2022 – 05/13/2022 Wed
9:00 AM – 11:00 AM (Morning)
at Shanghai
Instructed by Gu, Xianbin


CSCI-SHU 101-000 (17751)
02/07/2022 – 05/13/2022 Fri
9:00 AM – 11:00 AM (Morning)
at Shanghai
Instructed by Yin, Wen

Natural Language Processing (CS-UH 2216)

The field of natural language processing (NLP), also known as computational linguistics, is interested in the modeling and processing of human (i.e., natural) languages. This course covers foundational NLP concepts and ideas, such as finite state methods, n-gram modeling, hidden Markov models, part-of-speech tagging, context free grammars, syntactic parsing and semantic representations. The course surveys a range of NLP applications such as information retrieval, summarization and machine translation. Concepts taught in class are reinforced in practice by hands-on assignments.

Computer Science (Undergraduate)
4 credits – 7 Weeks

Sections (Fall 2024)


CS-UH 2216-000 (9051)
08/26/2024 – 10/11/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Habash, Nizar

Computational Social Science (CS-UH 2219E)

This course introduces students to various techniques and concepts that are essential for data scientists. It also provides an in-depth survey of the latest research methodology and topics that prepare the students to produce high quality research in Data Science. This seminar-based course will cover applications from different fields, such as sociology, psychology, network analysis, and artificial intelligence. In this context, the course will cover the use of computational techniques to model and predict various phenomena using real data. Students will be required to complete a course project, and to write up the results in a short article.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 2219E-000 (4282)
08/26/2024 – 12/10/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Rahwan, Talal

Computer Systems Organization (CS-UH 2010)

The course focuses on understanding lower-level issues in computer design and programming. The course starts with the C programming language, moves down to assembly and machine-level code, and concludes with basic operating systems and architectural concepts. Students learn to read assembly code and reverse-engineer programs in binary. Topics in this course include the C programming language, data representation, machine-level code, memory organization and management, performance evaluation and optimization, and concurrency.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 2010-000 (3495)
08/26/2024 – 12/10/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Ali, Karim · Mengal, Khalid


CS-UH 2010-000 (3933)
08/26/2024 – 12/10/2024 Mon,Wed
12:00 AM – 2:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Mengal, Khalid

Computer Networks (CS-UH 3012)

Have you ever wondered how the internet or Facebook is able to support a billion simultaneous users? This course teaches students the design and implementation of such Internet-scale networks and networked systems. Students learn about the principles and techniques used to construct large-scale networks and systems. Topics in this course include routing protocols, network congestion control, wireless networking, network security, and peer-to-peer systems. Upon completing this course, students are able to initiate and critique research ideas, implement their own working systems, and evaluate such systems. To make the issues more concrete, the class includes several multi-week projects requiring significant design and implementation. The goal is for students to learn not only what computer networks are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future. Examples are drawn primarily from the internet.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 3012-000 (3752)
08/26/2024 – 12/10/2024 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Zaki, Yasir


CS-UH 3012-000 (3791)
08/26/2024 – 12/10/2024 Fri
8:00 AM – 9:00 AM (Morning)
at Abu Dhabi
Instructed by Zaki, Yasir · Ahmed, Dena

Discrete Mathematics (CS-UH 1002)

Discrete mathematics concerns the study of mathematical structures that are discrete rather than continuous, and provides a powerful language for investigating many areas of computer science. Discrete structures are characterized by distinct elements, which are often represented by integers. Continuous mathematics on the other hand deals with real numbers. Topics in this course include: sets, counting techniques, logic, proof techniques, solving recurrence relations, number theory, probability, statistics, graph theory, and discrete geometry. These mathematical tools are illustrated with applications in computer science.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 1002-000 (3526)
08/26/2024 – 12/10/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Fernandes, Joao Paulo · Ahmad, Liza


CS-UH 1002-000 (3624)
08/26/2024 – 12/10/2024 Mon,Wed
9:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Chaqfeh, Moumena · Mumtaz, Sara


CS-UH 1002-000 (3917)
08/26/2024 – 12/10/2024 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Abu Dhabi
Instructed by Chaqfeh, Moumena · Ahmed, Dena


CS-UH 1002-000 (19983)
08/26/2024 – 12/10/2024 Thu
2:00 PM – 3:00 PM (Early afternoon)
at Abu Dhabi
Instructed by


CS-UH 1002-000 (19984)
08/26/2024 – 12/10/2024 Thu
3:00 PM – 4:00 PM (Late afternoon)
at Abu Dhabi
Instructed by


CS-UH 1002-000 (19985)
08/26/2024 – 12/10/2024 Thu
5:00 PM – 6:00 PM (Late afternoon)
at Abu Dhabi
Instructed by

Capstone Project in Computer Science 2 (CS-UH 4002)

Continuation of CS-UH 4001

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 4002-000 (3856)
at Abu Dhabi
Instructed by


CS-UH 4002-000 (4027)
at Abu Dhabi
Instructed by Park, Minsu


CS-UH 4002-000 (3860)
at Abu Dhabi
Instructed by Abouzied, Azza


CS-UH 4002-000 (3861)
at Abu Dhabi
Instructed by Eid, Mohamad


CS-UH 4002-000 (4104)
at Abu Dhabi
Instructed by Kaufman, Aaron


CS-UH 4002-000 (4105)
at Abu Dhabi
Instructed by Fang, Yi


CS-UH 4002-000 (4348)
at Abu Dhabi
Instructed by Difallah, Djellel


CS-UH 4002-000 (4349)
at Abu Dhabi
Instructed by Rahwan, Talal


CS-UH 4002-000 (3862)
at Abu Dhabi
Instructed by Zaki, Yasir


CS-UH 4002-000 (4350)
at Abu Dhabi
Instructed by Puccetti, Goffredo


CS-UH 4002-000 (4470)
at Abu Dhabi
Instructed by Pöpper, Christina


CS-UH 4002-000 (3857)
at Abu Dhabi
Instructed by Habash, Nizar


CS-UH 4002-000 (3858)
at Abu Dhabi
Instructed by Baghdadi, Mohamed Riyadh


CS-UH 4002-000 (4101)
at Abu Dhabi
Instructed by Rokers, Bas


CS-UH 4002-000 (4344)
at Abu Dhabi
Instructed by Shafique, Muhammad


CS-UH 4002-000 (4345)
at Abu Dhabi
Instructed by Salam, Hanan


CS-UH 4002-000 (4346)
at Abu Dhabi
Instructed by Pöpper, Christina


CS-UH 4002-000 (4347)
at Abu Dhabi
Instructed by Mourad, Azzam

Capstone Project in Computer Science 1 (CS-UH 4001)

The capstone experience in Computer Science requires students to engage in a long-term, mentored learning experience that culminates in a piece of original work. The specific project is developed during the Research Seminar in Computer Science. During the Capstone Project, the proposed work comes to fruition in the form of a research paper along the lines of those in a scholarly computer science journal. Students also participate in a capstone research symposium during which they present their work orally.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 4001-000 (3841)
at Abu Dhabi
Instructed by


CS-UH 4001-000 (3842)
at Abu Dhabi
Instructed by Park, Minsu


CS-UH 4001-000 (3850)
at Abu Dhabi
Instructed by Abouzied, Azza


CS-UH 4001-000 (3851)
at Abu Dhabi
Instructed by Eid, Mohamad


CS-UH 4001-000 (3852)
at Abu Dhabi
Instructed by Kaufman, Aaron


CS-UH 4001-000 (4033)
at Abu Dhabi
Instructed by Fang, Yi


CS-UH 4001-000 (3853)
at Abu Dhabi
Instructed by Zaki, Yasir


CS-UH 4001-000 (3854)
at Abu Dhabi
Instructed by Habash, Nizar


CS-UH 4001-000 (3855)
at Abu Dhabi
Instructed by Baghdadi, Mohamed Riyadh


CS-UH 4001-000 (4034)
at Abu Dhabi
Instructed by Rokers, Bas


CS-UH 4001-000 (3843)
at Abu Dhabi
Instructed by Shafique, Muhammad


CS-UH 4001-000 (4102)
at Abu Dhabi
Instructed by Salam, Hanan


CS-UH 4001-000 (4103)
at Abu Dhabi
Instructed by Pöpper, Christina


CS-UH 4001-000 (3844)
at Abu Dhabi
Instructed by Mourad, Azzam


CS-UH 4001-000 (3845)
at Abu Dhabi
Instructed by Difallah, Djellel


CS-UH 4001-000 (3846)
at Abu Dhabi
Instructed by Rahwan, Talal


CS-UH 4001-000 (3847)
at Abu Dhabi
Instructed by Puccetti, Goffredo


CS-UH 4001-000 (3848)
at Abu Dhabi
Instructed by Oudah, Mai


CS-UH 4001-000 (3849)
at Abu Dhabi
Instructed by


CS-UH 4001-000 (4125)
at Abu Dhabi
Instructed by

Introduction to Computer Science (CS-UH 1001)

Computer Science is an innovative and exciting field that focuses on producing efficient solutions for solving problems in any field. This course introduces students to the foundations of computer science. Students learn how to design algorithms to solve problems and how to translate these algorithms into working computer programs using a high-level programming language. The course covers core programming concepts including basic computation, data structures, decision structures, iterative structures, file input/output, and recursion. Students also learn the elements of Object Oriented Programming (OOP), such as objects, classes, inheritance, abstraction, and polymorphism. A final project allows students to combine these concepts to produce a large program of their design.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2024)


CS-UH 1001-000 (3489)
08/26/2024 – 12/10/2024 Mon,Wed
8:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Pötsch, Thomas · Zeeshan, Faisal


CS-UH 1001-000 (3512)
08/26/2024 – 12/10/2024 Tue,Thu
8:00 AM – 11:00 AM (Morning)
at Abu Dhabi
Instructed by Pötsch, Thomas · Mumtaz, Sara


CS-UH 1001-000 (3587)
08/26/2024 – 12/10/2024 Mon,Wed
12:00 AM – 3:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Chaqfeh, Moumena · Mumtaz, Sara

Software Art: ASCII to Algorithm (IM-UH 2321)

ASCII to Algorithm is an introduction to the history, theory and practice of computer-based artistic endeavors in the field of visual arts. It traces the path of early encounters with the computer as a tool for artists and surveys the computational foundation that positions contemporary software art as more system than object. We will be elaborating and discussing concepts and paradigms specific to computing platforms, such as data representation, generative art, image processing and computational creativity. Drawing on those, students will explore their own artistic practice through the exclusive use of their computers. This computational playground will highlight and reflect upon the broader impact of digital technologies on our relationship to art, and on our understanding of the artistic process. Programming experience in JavaScript is preferred but not required.

Interactive Media (Undergraduate)
4 credits – 15 Weeks

Network Everything (IM-UH 2112)

This course explores the possibilities and challenges of designing alternate physical network interfaces. Through weekly readings, class discussions, and a series of projects, students will create physical objects that talk to each other over distance. Various wireless communication mechanisms such as radio (Bluetooth, Zigbee, WiFi, and raw), infrared, and ultrasonic are used in the context of creating novel “smart” devices. Topics of discussion in this course include networking protocols and network topologies; network time versus physical time; mobile objects; and wireless networks. Opportunities to build collaborative and creative campus-wide networked projects and systems will also be explored.

Interactive Media (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2019)


IM-UH 2112-000 (24975)
01/29/2019 – 05/16/2019 Tue
11:00 AM – 1:00 PM (Morning)
at Abu Dhabi
Instructed by


IM-UH 2112-000 (18392)
at Abu Dhabi
Instructed by


IM-UH 2112-000 (24976)
01/29/2019 – 05/16/2019 Thu
11:00 AM – 2:00 PM (Morning)
at Abu Dhabi
Instructed by


IM-UH 2112-000 (18550)
at Abu Dhabi
Instructed by

Sensors, Body, & Motion (IM-UH 3114)

Using computer vision, machine learning, gesture recognition, wearable technology, projection mapping, a variety of sensors, and OpenFrameworks (C ), students will create interactive art and performances that leverage the full potential of the human body. Directly injecting “people-sensing” into an artwork via these readily accessible open source technologies, generates a unique feedback loop, or dialogue-like relationship, where a person and a computer are continuously reacting to each other’s senses. This course will examine this feedback loop, specifically how a person is directly integrated into the artistic expression of the work. Ultimately, students will create interactive installations and performances where the human body is the central component of the artwork.

Interactive Media (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2020)


IM-UH 3114-000 (19156)

Connections Lab (IM-UH 2324)

From intelligent chat-bots and video-sharing apps to social media platforms and virtual reality hubs, our world is infused with mediated, networked systems for communication. While these tools were a luxury a couple years ago, today they are almost a necessity. Every day we are knowingly or unknowingly using a handful of connected applications to communicate with people across the world. With this course we want students to be more than participants in these tools, but also become active creators. In this course, students will design and develop their own creative connected web applications. By coding (using JavaScript) and producing original online experiences that bring people together in playful yet purposeful ways, students will gain valuable insight into the inner-workings and implications of our connected world. The course will culminate in students creating their own connected applications that can be used by peers.

Interactive Media (Undergraduate)
4 credits – 16 Weeks

Advanced Lab: Shaders (INTM-SHU 303T)

Learn how to creatively harness the power of your computer’s graphics card by writing your own shaders! Shaders are small programs that run on the GPU and are used for purposes most commonly related to graphic effects, video post-processing, and the generation of geometry. They are an incredibly powerful tool for creating hardware accelerated graphics and form the building blocks of the modern graphics pipeline. Vertex, fragment, and geometry shaders will be the main focus of the course. However, if time permits, compute shaders (GPGPU) will also be explored. The topic will be approached platform-agnostic, so that it can be applied to the different implementations in various software environments such as WebGL, Unity, Max, Touch Designer, etc. This an advanced-level 2-credit course. Prerequisite: Instructor Consent Fulfilment: IMA/IMB elective; IMA advanced elective.

Interactive Media Arts (Undergraduate)
2 credits – 8 Weeks

Artificial Intelligence (CSCI-UA 9472)

There are many cognitive tasks that people can do easily and almost unconsciously but that have proven extremely difficult to program on a computer. Artificial intelligence is the problem of developing computer systems that can carry out these tasks. We will focus on three central areas in AI: representation and reasoning, machine learning, and natural language processing.

Computer Science (Undergraduate)
4 credits – 13 Weeks

Sections (Fall 2024)


CSCI-UA 9472-000 (2636)
09/02/2024 – 12/05/2024 Tue,Thu
5:00 PM – 7:00 PM (Late afternoon)
at NYU Paris (Global)
Instructed by


CSCI-UA 9472-000 (2637)
09/02/2024 – 12/05/2024 Tue,Thu
7:00 PM – 7:00 PM (Evening)
at NYU Paris (Global)
Instructed by

Design Project (CS-UY 4523)

Students or several students work with a faculty member and/or graduate students on a current topic in computer science. Each term, a project course with a particular theme is offered by the Department of Computer and Information Science. A faculty member assigns individual or group projects. The project course is highly structured and supervised closely by faculty. Students are expected to use the design and project-management skills they learned in CS-UY 4513 Software Engineering. Alternatively, students may work with a faculty member on an individual project of mutual interest. A written report and oral presentation are required. | Prerequisite: CS-UY 4513 or CS-UY 3513.

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4523-000 (12266)
09/03/2024 – 12/12/2024 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Strauss, Fred


CS-UY 4523-000 (12267)
09/03/2024 – 12/12/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Strauss, Fred

PROBLEM SOLVING AND PROGRAMMING I (CS-UY 1113)

This course introduces problem solving and computer programming and is for undergraduate engineering students who do not have prior experience in programming in any language. The course covers fundamentals of computer programming and its underlying principles using the Python programming language. Concepts and methods introduced in the course are illustrated by examples from engineering and other disciplines. | Co-requisite: EX-UY 1; Anti-requisite: CS-UY 1114

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 1113-000 (12329)
09/03/2024 – 12/12/2024 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Romero Cruz, Sebastian


CS-UY 1113-000 (12330)
09/03/2024 – 12/12/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Romero Cruz, Sebastian


CS-UY 1113-000 (12331)
09/03/2024 – 12/12/2024 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1113-000 (12332)
09/03/2024 – 12/12/2024 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1113-000 (12333)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1113-000 (12334)
09/03/2024 – 12/12/2024 Fri
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1113-000 (12335)
09/03/2024 – 12/12/2024 Fri
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1113-000 (12336)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1113-000 (12337)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by DePasquale, Peter

Penetration Testing and Vulnerability Analysis (CS-UY 4773)

The course will start off with an in-depth review of the exploitation mitigations introduced in modern operating systems. The instructors will demonstrate their limitations through simple examples and gradually develop the basic exploitation techniques into more complicated methods applicable to real-world exploitation. Unlike most other exploitation courses, we will focus on approaching exploitation as a creative problem-solving process rather than an exercise of applying cookbook techniques to common types of vulnerabilities. Most of the course will focus on the hands-on application of the material through exercises and leading the students through the development of reliable exploits for recently patched vulnerabilities in widely used software. | Prerequisites for Brooklyn Engineering Students: CS-UY 3933 and (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better). | Prerequisites for CAS Students: CS-UY 3933 and CSCI-UA 201. | Prerequisites for Abu Dhabi Students: CS-UY 3933 and CS-AD 103

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4773-000 (16116)
09/03/2024 – 12/12/2024 Mon
6:00 PM – 8:00 PM (Evening)
at ePoly
Instructed by Rajpal, Mantej

Introduction to Computer Simulation (MATH-UA 144)

Prerequisite: A grade of C or higher in Calculus I (MATH-UA 121) or Math for Economics II (MATH-UA 212) (for economics majors), and General Physics (PHYS-UA 11). Simulations of such phenomena as orbits (Kepler problem and N-body problem), epidemic and endemic disease (including evolution in response to the selective pressure of malaria), musical stringed instruments (piano, guitar, and violin), and traffic flow in a city (with lights, breakdowns, and gridlock). Simulations are based on mathematical models, numerical methods, and Matlab programming techniques taught in class. Emphasizes use of animation (and sound where appropriate) to present the results of simulations.

Math (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


MATH-UA 144-000 (8767)
01/24/2022 – 05/09/2022 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Sprinkle, Brennan


MATH-UA 144-000 (8771)
01/24/2022 – 05/09/2022 Fri
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Li, Guanchun

Software Engineering (CSCI-UA 474)

An intense hands-on study of practical techniques and methods of software engineering. Topics include advanced object-oriented design, design patterns, refactoring, code optimization, universal modeling language, threading, user interface design, enterprise application development, and development tools. All topics are integrated and applied during the semester-long group project. The aim of the project is to prepare students for dynamics in a real workplace. Members of the group meet on a regular basis to discuss the project and to assign individual tasks. Students are judged primarily on the final project presentations.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2021)


CSCI-UA 474-000 (21436)
09/02/2021 – 12/14/2021 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Bloomberg, Amos

Object Oriented Programming (CSCI-UA 470)

Object-oriented programming has emerged as a significant software development methodology. This course introduces the important concepts of object-oriented design and languages, including code reuse, data abstraction, inheritance, and dynamic overloading. It covers in depth those features of Java and C that support object-oriented programming and gives an overview of other object-oriented languages of interest. Significant programming assignments, stressing object-oriented design.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Introduction to Game Engines (OART-UT 1621)

Introduction to Game Engines is a course intended for students who already have an understanding of programming fundamentals that introduces concepts, problems, and methods of developing games and interactive media using popular game engines. Game engines are no longer just used for the development of games, they have increasingly gained popularity as tools for developing animations, interactives, VR experience, and new media art. Throughout the semester, students will have weekly programming assignments, using a popular game engine. There will be a final game assignment, as well as weekly quizzes and a final exam. The course assumes prior programming knowledge, if students do not have the appropriate prerequisites a placement exam may be taken. There will be an emphasis on using code in a game engine environment as a means of creative expression.

Open Arts Curriculum (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2022)


OART-UT 1621-000 (14528)
10/26/2022 – 12/14/2022 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Hawk, Danny

Expanded Web (INTM-SHU 201)

This course draws from net art, interface design, and post-digital / post- internet practices to explore interactions that bridge screen and physical. Students are led to conceptualize and develop bespoke “interfaces” (in the widest sense), in which either aspects of the web are reflected in the physical world, or – conversely – the habitual mode of browsing is being updated in ways that capture the user’s physical and bodily presence. A reflection of the medium web, its vernacular, and practical daily use is the starting point of this project. The students’ work is additionally being informed by analysis of select examples from art and design, exemplary for ways of re-framing the technical everyday. This course will make use of web technologies (p5.js), and physical computing techniques – and introduce students to various ways those can be technically, and conceptually, combined. Prerequisite: Interaction Lab or Creative Coding Lab. Fulfillment: IMA/IMB Elective.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


INTM-SHU 201-000 (17300)
09/05/2022 – 12/16/2022 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Shanghai
Instructed by Haider, Gottfried

Advanced Lab: Web Page to Web Space (INTM-SHU 304)

Web Page to Web Space is a course that explores virtual interactive experience in the context of Virtual Embodiment, Virtual Space, Telepresence, and Metaverse. Students will investigate new possible ways of using the Web to create new immersive environments in a web platform, by utilizing algorithmic 3D animation and server-side programming. This is an advanced course with technically challenging concepts with three.js and node.js and suitable for students with prior knowledge in visual programming. Prerequisite: Nature of Code or Machine Learning for New Interfaces or Critical Data and Visualization or ABC Browser Circus or Kinetic Interfaces or Machine Learning for Artists and Designers or Expanded Web or Movement Practices and Computing. Fulfillment: IMA/IMB Elective, Advanced IMA Elective.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


INTM-SHU 304-000 (17318)
09/05/2022 – 12/16/2022 Tue
4:00 PM – 7:00 PM (Late afternoon)
at Shanghai
Instructed by Moon, Jung Hyun

Learning with Turtles (INTM-SHU 151)

Learning with Turtles explores programming languages, systems, and activities designed to help learners in computational environments. Starting from a constructionist principle that systems designed for beginners must be able to embody the most powerful ideas in computing, we master some of those systems, explore how those have been designed, and engage in contemporary debates. The environments we learn with include Turtle Geometry, Craft Computing withTextiles, Modelling, and other interactive projects using programming and modelling systems such as Snap!, TurtleArt, Turtlestitch and NetLogo. Individual and group projects involve students in advancing their computational knowledge and skills and provide opportunities to design for others, to teach, to study learning and expertise, and present projects in community and public forums. The course is fundamentally about ideas, and how some powerful ideas from computation can empower a learner to be a better creator and problem solver. Writing, presentations, and discussions will emphasize reflection on our own learning within the course. Prerequisite: None. Fulfillment: IMA Major Electives; IMB Major Interactive Media Elective.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


INTM-SHU 151-000 (17299)
09/05/2022 – 12/16/2022 Mon
1:00 PM – 4:00 PM (Early afternoon)
at Shanghai
Instructed by Minsky, Margaret

ABC Browser Circus (INTM-SHU 227)

Welcome to the ABC Browser Circus (ABC), where acrobats juggle with hyperlinks, dance across scrolling grids, and jump through open server ports. This course introduces the students to the history of the internet, the World Wide Web, and specifically to the browser as a cultural object and its role in (net)art; in parallel, it teaches web development and guides the students to create three web-based projects. Theory and practice-based components are each conducted during one of two 75 minute classes per week. Prerequisite: Creative Coding Lab. Fulfillment: IMA Major Electives; IMB Major Interactive Media Elective.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


INTM-SHU 227-000 (17302)
09/05/2022 – 12/16/2022 Tue,Thu
1:00 PM – 3:00 PM (Early afternoon)
at Shanghai
Instructed by Eckert, Leon

Performing Voice and Talking Machines (OART-UT 25)

This course will introduce students to technologies for speech synthesis and speech recognition from the point of view of performance art. Through weekly assignments and in class lectures, we will explore voice interfaces and their role in technology, design, art, and culture. We will begin with understanding human speech, and then delve into computer speech. We will learn how to program existing technologies such as p5.js to create our own talking machines. The class will research the current limitations and biases of these technologies and models, and respond by leveraging these constraints as ground for performative expression. Students will be required to develop a performative piece as their final project, this could be a live performance, an interactive installation piece, or a performative object or tool. Students are encouraged to bring their interests into the classroom and apply the course into their practice. Prior knowledge of computer programming will be helpful, however, it is not required. NYU is a global community. You are welcome to bring your own language, your accent, and your spoken identity into the class.

Open Arts Curriculum (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2023)


OART-UT 25-000 (13600)
09/05/2023 – 12/15/2023 Wed
1:00 PM – 4:00 PM (Early afternoon)
at Washington Square
Instructed by Kananuruk, Tiriree

Pixel by Pixel (IMNY-UT 231)

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 and the Java language and also introduces students to shaders and the glsl language.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


IMNY-UT 231-000 (22308)
01/24/2022 – 05/09/2022 Tue,Thu
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Rozin, Daniel

Experimental Photography (IMNY-UT 232)

This course is designed to provide hands-on experience with creative coding, physical computing, and machine learning to design alternative forms of taking, making, processing, and interacting with images for visual communication and creative expression. The forms and applications of emerging computational tools are explored weekly in technical tutorials and active workshops. These are informed by seminar discussions of readings on critical debates in photography, the history of its tools and uses, and the works of historical and contemporary photographers and artists using photography and new media. Prerequisites: IMA’s foundation course, Creative Computing, or similar coursework with coding and microcontrollers.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


IMNY-UT 232-000 (22304)
01/24/2022 – 05/09/2022 Wed
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Nickles, Ellen

Chatbots for Art’s Sake (IMNY-UT 233)

This class looks at the chatbot as a unique medium of art in the context of the bigger art world and the current landscape of chatbot technologies. Students will engage in discussions about topics such as humanity under machine mediation, experiment with various computational tools, and develop creative projects using chatbot technologies.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2023)


IMNY-UT 233-000 (21998)
01/23/2023 – 05/08/2023 Mon,Wed
10:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Wang, Carrie

Machine Learning Fundamentals (INTM-SHU 258)

An introductory course to machine learning aimed at a hands-on engagement and development of an intuitive understanding of related techniques and effects. The course uses the JavaScript language, and the ml5.js and p5.js frameworks to introduce the theory and application of machine learning algorithms. In exercises and assignments, students will experiment with building, using and critiquing machine learning models and datasets. Readings and discussions will cover relevant issues and frame the practice. This course builds on an existing practice of computer programming. Weekly assignments are required. Prerequisite: INTM-SHU 103 Creative Coding Lab Fulfillment: IMA/IMB elective.

Interactive Media Arts (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2022)


INTM-SHU 258-000 (23469)
01/24/2022 – 05/13/2022 Tue,Thu
4:00 PM – 6:00 PM (Late afternoon)
at Shanghai
Instructed by Haider, Gottfried

Live Coding (IM-UH 2322)

Live coding is a performing arts form and creativity technique where music and visuals are improvised through live edits of source code. Live coding is most visible in performance, however the ’live’ in live coding refers not to a live audience but to live updates of running code. Working across genres, live coding has been seen in algoraves (events where people dance to music generated from algorithms), jazz clubs, and concert halls. Code is projected during performances, exposing the underlying algorithms at work, and thus the patterns of creative thought the performer is developing in real time. Programs are instruments that can change and algorithms are thoughts that can be seen as well as heard. This course explores this new art form and the related themes of algorithmic thought, pattern transformation, artificial language, information theory, improvisation, listening, perception, and structural composition. Students will learn how to create music with code, as well as how to create advanced computer graphics. Students will develop algorithmic audio/visual pieces individually as well as in groups. The course culminates in an algorave.

Interactive Media (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2024)


IM-UH 2322-000 (19553)

A.rt I.ntel (IM-UH 3312)

Artificial intelligence and machine learning algorithms affect many aspects of our lives whether we realize it or not: banking transactions, healthcare treatments and diagnoses, entertainment recommendations, smart car functionality, customer service agents, financial trading… the list goes on and on. The power of these algorithms lies in their ability to leverage computers to “study” and “learn”. Instead of programming a computer to do a specific task, we program the computer to train and teach itself how to do any number of tasks. As artists, how can we harness the power of these algorithms and apply them towards creative endeavors? This class will explore that basic question. Through a combination of high level applied machine learning techniques, speculative design of artificial intelligence, and some basic understanding of how these algorithms work at a low level, students will explore this rich new field. With their machine counterparts, they will create images, sounds, text, intuitive interactions, chatbots, and more.

Interactive Media (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2024)


IM-UH 3312-000 (4491)

Applied Internet Technology (CSCI-UA 467)

Students that successfully complete CSCI-UA 467 Applied Internet Technology are not eligible to take CSCI-UA 61 Web Development and Programming. Applied Internet Technology is a practical introduction to creating modern web applications. It covers full-stack (that is, every aspect of building a database driven web application: server programming, database implementation, frontend markup, styling and interactivity) web development. It includes topics such as database and data model design, web application architecture, separation of logic and presentation, handling user input and processing form data, managing asynchronous processes, strategies for creating real-time web applications, and handling client-side interactivity. Students will use current server and client-side web frameworks and libraries to build dynamic, data-driven sites. Various applications to support development will also be introduced, such as version control, static analysis tools, and build systems.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 467-000 (20859)
01/24/2022 – 05/09/2022 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Versoza, Joseph · Wu, Haodong


CSCI-UA 467-000 (20860)
01/24/2022 – 05/09/2022 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Versoza, Joseph · Ngo, Yona · Wu, Haodong

Data Management and Analysis (CSCI-UA 479)

Extracting, transforming and analyzing data in myriad formats. Using traditional relational databases as well as non-relational databases to store, manipulate, and query data. Students will learn how to work with data by writing custom programs, creating queries, and using current data analysis tools and libraries… all on a wide array of data sets. Additional related topics will be covered, such as data modeling, cloud databases, and API programming.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2021)


CSCI-UA 479-000 (21440)
09/02/2021 – 12/14/2021 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Versoza, Joseph

Applied Data Science (CUSP-GX 6001)

This course equips students with the skills and tools necessary to address applied data science problems with a specific emphasis on urban data. Building on top of the Principles of Urban Informatics (prerequisite for the class) it further introduces a wide variety of more advanced analytic techniques used in urban data science, including advanced regression analysis, time-series analysis, Bayesian inference, foundations of deep learning and network science. The course will also contain a team data analytics project practice. After this class the students should be able to formulate a question relevant to urban data science, find and curate an appropriate data set, identify and apply analytic approaches to answer the question, obtain the answer and interpret it with respect to its certainty level as well as the limitations of the approach and the data.

Ctr for Urban Sci and Progress (Graduate)
3 credits – 15 Weeks

Sections (Spring 2023)


CUSP-GX 6001-000 (7539)
01/23/2023 – 05/08/2023 Thu
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Sobolevsky, Stanislav


CUSP-GX 6001-000 (7540)
01/23/2023 – 05/08/2023 Thu
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Sobolevsky, Stanislav

Data Visualization (CUSP-GX 6006)

Visualization and visual analytics systems help people explore and explain data by allowing the creation of both static and interactive visual representations. A basic premise of visualization is that visual information can be processed at a much higher rate than raw numbers and text. Well-designed visualizations substitute perception for cognition, freeing up limited cognitive/memory resources for higher-level problems. This course aims to provide a broad understanding of the principals and designs behind data visualization. General topics include state-of-the-art techniques in both information visualization and scientific visualization, and the design of interactive/web-based visualization systems. Hands on experience will be provided through popular frameworks such as matplotlib, VTK and D3.js.

Ctr for Urban Sci and Progress (Graduate)
3 credits – 15 Weeks

Sections (Spring 2023)


CUSP-GX 6006-000 (7543)
01/23/2023 – 05/08/2023 Wed
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Sun, Qi

Urban Data Science (CUSP-GX 1003)

The course targets current and future urban practitioners looking to harness the power of data in urban practice and research. This course builds the practical skillset and tools necessary to address urban analytics problems with urban data. It starts with essential computational skills, statistical analysis, good practices for data curation and coding, and further introduces a machine learning paradigm and a variety of standard supervised and unsupervised learning tools used in urban data science, including regression analysis, clustering, and classification as well as time series analysis. After this class, you should be able to formulate a question relevant to Urban Data Science, locate and curate an appropriate data set, identify and apply analytic approaches to answer the question, obtain the answer and assess it with respect to its certainty level as well as the limitations of the approach and the data. The course will also contain project-oriented practice in urban data analytics, including relevant soft skills – verbal and written articulation of the problem statement, approach, achievements, limitations, and implications.

Ctr for Urban Sci and Progress (Graduate)
3 credits – 15 Weeks

Sections (Fall 2021)


CUSP-GX 1003-000 (23062)
09/02/2021 – 12/14/2021 Tue
6:00 PM – 7:00 PM (Evening)
at ePoly
Instructed by Sobolevsky, Stanislav

Urban Computing Skills Lab: Introduction to Programming for Solving City Challenges (CUSP-GX 1001)

The UCSL at CUSP is a series of online sessions designed to build a common skillset and familiarity with techniques, concepts, and models for urban informatics computing. The online sessions focus on data explorations, programming skills and statistical methods needed for scientific computing in the field of Urban Informatics.

Ctr for Urban Sci and Progress (Graduate)
3 credits – 15 Weeks

Sections (Fall 2021)


CUSP-GX 1001-000 (7738)
at Brooklyn Campus
Instructed by Balestra, Martina

Introduction to Game Engines (GAMES-UT 183)

Introduction to Game Engines is a course intended for students who already have an understanding of programming fundamentals that introduces concepts, problems, and methods of developing games and interactive media using popular game engines. Game engines are no longer just used for the development of games, they have increasing gained popularity as tools for developing animations, interactives, VR experience, and new media art. Throughout the semester, students will have weekly programming assignments, using a popular game engine. There will be a final game assignment, as well as weekly quizzes and a final exam. The course assumes prior programming knowledge, if students do not have the appropriate prerequisites a placement exam may be taken. There will be an emphasis on using code in a game engine environment as a means of creative expression.

Game Design (Undergraduate)
2 credits – 7 Weeks

Sections (Fall 2021)


GAMES-UT 183-000 (15841)
10/27/2021 – 12/14/2021 Tue
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by

Sensor Data to Save the Planet (ITPG-GT 2351)

Buildings produce a large percentage of the carbon emissions threatening the planet and multi-family residential buildings make up a significant portion of it. With Covid-19 changing the way we live and work, and the increasing amount of data available from buildings, a key to fighting the climate crisis will be turning this data into action. In this course, learn how to analyze interval data and explore visualizing data to motivate tenants and building operators to change their behavior to reduce energy usage at the optimal times. This will involve analyzing the data streams coming from installed sensors and building equipment, understanding how usage varies over time, and transforming raw data into visual interfaces that mobilize us all in the fight to save the planet. This course will teach basics of how time series data can be stored, how to query time series data, and how to understand energy usage from a data set. With these new skills students will design a project using time series data and their JavaScript skills to visualize this data.

Interactive Telecommunications (Graduate)
2 credits – 7 Weeks

Sections (Fall 2021)


ITPG-GT 2351-000 (23985)
10/27/2021 – 12/14/2021 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by

Augmented Spaces (ITPG-GT 2356)

With recent advances in hardware and software, millions of us now carry unprecedented spatial computing and world sensing technologies in our pockets. With these technologies in hand, how do we design AR experiences that are contextual at the core – that are sensitive to the spaces we inhabit and the behaviors of people in those spaces? How do we augment this better understanding of reality? This course will be a hands-on workshop where we create spatially aware, contextually driven AR applications unique to particular situations. We will examine the opportunities and challenges when designing for site-specific experiences – museums, live events, retail, medical settings, industrial environments, schools, and others. Topics will include image and object recognition, world mapping, people tracking, location anchors, the ARKit “depth api” (LiDAR enabled features), spatial audio, scene understanding and semantics, and more. For design and development, we’ll primarily use Apple technologies – ARKit, RealityKit and RealityComposer. We’ll also tap a variety of cloud services to store, move, process, and bring intelligence to the data generated and consumed in our experiences. 3D modeling skills are helpful but not required. While we’ll cover the basics, students should expect to spend additional time outside of class learning Swift and other related programming concepts. Full-time access to an iOS device (LiDAR-enabled is ideal but not required) 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 as well as directly interfacing with various teams at Apple.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Fall 2021)


ITPG-GT 2356-000 (23992)
09/02/2021 – 12/14/2021 Wed
3:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by

Creating with TinyML (ITPG-GT 2339)

A new world is emerging at the intersections of machine learning and physical computation that will offer wide-scale access to bringing intelligence to everyday devices and spaces at extremely low costs. In this course, students are offered the opportunity to become pioneers in a new field of hardware machine learning as they are introduced to the most used machine learning platform in the world (TensorFlow) that has been embedded into an incredibly small microcontroller, called TinyML. Students will learn about building with machine learning, the ethics and societal impacts of ML, and how to start realizing creative computation through ML-based physical computing.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Fall 2021)


ITPG-GT 2339-000 (23970)
09/02/2021 – 12/14/2021 Wed
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by

Front-End Web (IMNY-UT 228)

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. This studio stresses interactivity, usability, and the quality and appropriateness of look and feel. Students will create two web applications, including one that leverages public APIs and Javascript libraries. 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. Assignments are arranged in sequence to enable the production of a website of high quality in design and engineering.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2021)


IMNY-UT 228-000 (15924)
09/02/2021 – 12/14/2021 Tue,Thu
5:00 PM – 6:00 PM (Late afternoon)
at Online
Instructed by

Web Design (PHTI-UT 1238)

Prerequisite: Photography II or permission from the department. This course combines theory and practice as it pertains to making art projects for the World Wide Web. The course will investigate what it means to work in this new environment and how the medium might influence the work made. The course will investigate a variety of approaches such as conceptual, experimental, documentary and diaristic. Special consideration will be given to the ways in which structure (nonlinear vs. linear), interactivity and metaphor influence meaning. Formal design elements such as color, typography, scale and sequencing will also be examined. In addition, the nuance of html tags, hexadecimal colors and image compression will be explored. There will be several short projects as we get up-to-speed on the technical side. Two larger projects will comprise the remainder of the semester: a portfolio project that focuses on graphic and interface design; and a web project that uses “web space” as a medium for its own sake. Students should be prepared to exercise both sides of their brain. This course requires a nonrefundable lab fee.

Photography and Imaging (Undergraduate)
4 credits – 6 Weeks

Sections (Summer 2021)


PHTI-UT 1238-000 (6640)
05/24/2021 – 07/05/2021 Tue,Thu
9:00 AM – 2:00 PM (Morning)
at Washington Square
Instructed by Kilroy, Elizabeth

Web Page to Web Space (INTM-SHU 292T)

The Internet and computer devices have evolved rapidly. New technology may soon allow us to communicate virtually through Web VR/AR platforms. 3D contents may eventually overpower 2D images and textual content on the platforms. Web pages will become Web Spaces. This class allows students to explore new possible ways of using the Web by utilizing basic web development knowledge and advanced 3D visualization to create new immersive environments in the web platform. This is an advanced course with technically challenging concepts. Prereq: Creative Coding Lab, or similar programming background Fulfillment: IMA/IMB elective.

Interactive Media Arts (Undergraduate)
4 credits – 16 Weeks

Applied Cryptography (CS-GY 6903)

This course examines Modern Cryptography from a both theoretical and applied perspective, with emphasis on “provable security” and “application case studies”. The course looks particularly at cryptographic primitives that are building blocks of various cryptographic applications. The course studies notions of security for a given cryptographic primitive, its various constructions and respective security analysis based on the security notion. The cryptographic primitives covered include pseudorandom functions, symmetric encryption (block ciphers), hash functions and random oracles, message authentication codes, asymmetric encryption, digital signatures and authenticated key exchange. The course covers how to build provably secure cryptographic protocols (e.g., secure message transmission, identification schemes, secure function evaluation, etc.), and various number-theoretic assumptions upon which cryptography is based. Also covered: implementation issues (e.g., key lengths, key management, standards, etc.) and, as application case studies, a number of real-life scenarios currently using solutions from modern cryptography. | Prerequisite: Graduate standing.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 6903-000 (15957)
at ePoly
Instructed by Chen, Zhixiong


CS-GY 6903-000 (15958)
09/03/2024 – 12/12/2024 Tue
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Di Crescenzo, Giovanni


CS-GY 6903-000 (15959)
at ePoly
Instructed by Di Crescenzo, Giovanni

Application Security (CS-GY 9163)

This course addresses the design and implementation of secure applications. Concentration is on writing software programs that make it difficult for intruders to exploit security holes. The course emphasizes writing secure distributed programs in Java. The security ramifications of class, field and method visibility are emphasized. | Knowledge of Information, Security and Privacy equivalent to CS-GY 6813. Prerequisite: Graduate standing

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 9163-000 (15952)
at ePoly
Instructed by


CS-GY 9163-000 (15953)
at ePoly
Instructed by


CS-GY 9163-000 (15954)
09/03/2024 – 12/12/2024 Wed
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Satt, Mo

Big Data (CS-GY 6513)

Big Data requires the storage, organization, and processing of data at a scale and efficiency that go well beyond the capabilities of conventional information technologies. In this course, we will study the state of art in big data management: we will learn about algorithms, techniques and tools needed to support big data processing. In addition, we will examine real applications that require massive data analysis and how they can be implemented on Big Data platforms. The course will consist of lectures based both on textbook material and scientific papers. It will include programming assignments that will provide students with hands-on experience on building data-intensive applications using existing Big Data platforms, including Amazon AWS. Besides lectures given by the instructor, we will also have guest lectures by experts in some of the topics we will cover. Students should have experience in programming: Java, C, C , Python, or similar languages, equivalent to two introductory courses in programming, such as “Introduction to Programming” and “Data Structures and Algorithms. | Knowledge of Python. Prerequisite: Graduate Standing.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 6513-000 (16126)
09/03/2024 – 12/12/2024 Thu
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Rodriguez, Juan


CS-GY 6513-000 (16128)
09/03/2024 – 12/12/2024 Thu
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Rodriguez, Juan


CS-GY 6513-000 (16127)
09/03/2024 – 12/12/2024 Sat
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Patel, Amit


CS-GY 6513-000 (16129)
09/03/2024 – 12/12/2024 Thu
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by

COMPUTER VISION (CS-GY 6643)

An important goal of artificial intelligence (AI) is to equip computers with the capability of interpreting visual inputs. Computer vision is an area in AI that deals with the construction of explicit, meaningful descriptions of physical objects from images. It includes as parts many techniques from image processing, pattern recognition, geometric modeling, and cognitive processing. This course introduces students to the fundamental concepts and techniques in computer vision. | Knowledge of Data Structures and Algorithms, proficiency in programming, and familiarity with matrix arithmetic. Prerequisites: Graduate standing.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 6643-000 (15999)
09/03/2024 – 12/12/2024 Thu
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by

Computer Networking (CS-GY 6843)

This course takes a top-down approach to computer networking. After an overview of computer networks and the Internet, the course covers the application layer, transport layer, network layer and link layers. Topics at the application layer include client-server architectures, P2P architectures, DNS and HTTP and Web applications. Topics at the transport layer include multiplexing, connectionless transport and UDP, principles or reliable data transfer, connection-oriented transport and TCP and TCP congestion control. Topics at the network layer include forwarding, router architecture, the IP protocol and routing protocols including OSPF and BGP. Topics at the link layer include multiple-access protocols, ALOHA, CSMA/CD, Ethernet, CSMA/CA, wireless 802.11 networks and linklayer switches. The course includes simple quantitative delay and throughput modeling, socket programming and network application development and Ethereal labs. | Knowledge of Python and/or C. Prerequisite: Graduate standing.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 6843-000 (16008)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Reddington, Thomas


CS-GY 6843-000 (16009)
at ePoly
Instructed by Portnoy, Rafail


CS-GY 6843-000 (16010)
at ePoly
Instructed by Portnoy, Rafail


CS-GY 6843-000 (16011)
at ePoly
Instructed by Zhao, John

Artificial Intelligence I (CS-GY 6613)

Artificial Intelligence (AI) is an important topic in computer science and offers many diversified applications. It addresses one of the ultimate puzzles humans are trying to solve: How is it possible for a slow, tiny brain, whether biological or electronic, to perceive, understand, predict and manipulate a world far larger and more complicated than itself? And how do people create a machine (or computer) with those properties? To that end, AI researchers try to understand how seeing, learning, remembering and reasoning can, or should, be done. This course introduces students to the many AI concepts and techniques. | Knowledge of Data Structures and Algorithms. Prerequisite: Graduate standing.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 6613-000 (15997)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Monogioudis, Pantelis


CS-GY 6613-000 (15998)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Wong, Edward

Responsible Data Science (DS-UA 202)

The first wave of data science focused on accuracy and efficiency: on what we can do with data. The second wave is about responsibility: what we should and should not do. Accordingly, this technical course tackles the issues of ethics and responsibility in data science, including legal compliance, data quality, algorithmic fairness and diversity, transparency of data and algorithms, privacy, and data protection. An important feature of this course is its holistic treatment of the data science lifecycle, beginning with data discovery and acquisition, through data cleaning, integration, querying, analysis, and result interpretation.

Data Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


DS-UA 202-000 (9950)
01/24/2022 – 05/09/2022 Mon,Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Wood, George


DS-UA 202-000 (9951)
01/24/2022 – 05/09/2022 Thu
8:00 AM – 8:00 AM (Morning)
at Washington Square
Instructed by

Hand Held: Creative Tools for Phones (ITPG-GT 2068)

“The smartphone is not only the primary site for digital communication and consumption, it also hosts emerging forms of media production. Let’s investigate the potential of the mobile touchscreen as a creative instrument! This is a project based course, and we will explore by creating and testing a series of functioning web-based toys – including drawing apps, character creators, and writing tools. You can expect to sharpen your skills in javascript and design. “

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2068-000 (14779)
01/23/2024 – 04/30/2024 Tue
9:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Bittker, Max

The Body, Everywhere and Here (ITPG-GT 2070)

Today’s internet, made up of mostly text documents and two-dimensional images and videos, is the result of historical limitations in bandwidth, graphics processing and input devices. These limitations have made the internet a place where the mind goes, but the body cannot follow. Recent advances in motion capture devices, graphics processing, machine learning, bandwidth and browsers, however, are paving the way for the body to find its place online. This course will explore embodied interactions in the browser and across networks. Specifically, we’ll explore TensorFlow.js models like PoseNet and BodyPix, and Microsoft Kinect in p5.js and Three.js. Assignments will consider designing engaging embodied experiences for individual and social interactions online. Experience with Node, HTML and JavaScript is helpful but not required. ICM level programming experience is required. The course will have weekly assignments that explore embodied interaction online. Assignments will begin with exploring single points of interaction (i.e. one mouse or one joint), and progress to considering full bodies and multiple bodies in one browser. Students will have a 2-3-week final project with which they will delve more deeply into the subject matter in one piece of work. Students will have readings/watchings focused on embodied and networked user experience. Some influential works that will likely be assigned/discussed are Laurie Anderson’s “Habeas Corpus,” Todd Rose’s “The End of Average,” and Myron Krueger’s “Artificial Reality.” The course examples will be taught in Javascript using web technologies/frameworks. However, students are welcome to work in their preferred medium.

Interactive Telecommunications (Graduate)
2 credits – 8 Weeks

Sections (Fall 2021)


ITPG-GT 2070-000 (22670)
09/02/2021 – 10/26/2021 Tue
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by

Data: Dig It (ITPG-GT 2073)

In this class students learn how to use data. If you can learn to live with uncertainty, you can make something beautiful and true. Students will learn about data as another form of evidence. We will collect our own datasets to learn about challenges and opportunities. We will explore sources of uncertainty, and how imagination and empathy can help uncover ways that data can lead to insight or alternatively, lead one astray. We cover basic stats principles to show how even properly collected data may lead you astray; we cover design principles, we introduce technical tools for visualizing data. Students collect their own data set, share reactions to assigned readings, and find their own examples of data usage that are positive or misguided.

Interactive Telecommunications (Graduate)
1 credits – 1 Day

Listening Machines (ITPG-GT 2043)

This course will provide students with an introduction to the area of machine listening. Machine listening is the general field studying algorithms and systems for audio understanding by machine. It deals exclusively with general audio as opposed to speech recognition. The most basic goal of all machine listening systems is to reliably recognize and react to very specific sounds. Over the course of the semester, we will create our own unique machine listening systems that provide us with new and interesting ways to interact with our projects. We will use live coding and real-time data visualization to demystify some of the more daunting underlying topics like digital signal analysis, music information retrieval, and machine learning.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Fall 2020)


ITPG-GT 2043-000 (22629)
09/03/2020 – 10/15/2020 Thu
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Simpson, Michael

Seeing Machines (ITPG-GT 2039)

A programming course where we’ll explore various techniques and solutions for tracking and sensing people or objects in space. Students will get familiar with the terminology and algorithms behind many sensing topics such as computer vision, depth cameras, positional tracking, coordinate mapping, machine learning, and pattern recognition. As these subjects are explored, we will also dig into communication, and how this information can be transmitted from one tool to another, for example using OSC, Spout/Syphon, MIDI, DMX/ArtNet. The goal being to use the right tool for the job and not limit ourselves to a particular piece of software. The first classes will consist of theory and in-class exercises covering these techniques, and remaining classes will be dedicated to a special project, which should use a combination of what we’ve learned to create a new work. Students will work in small groups to build this special project, but we’ll review proposals, milestones, and work in progress collectively on every class, encouraging discussion and collaboration.

Interactive Telecommunications (Graduate)
4 credits – 11 Weeks

Time (ITPG-GT 2040)

Time is at once fundamental and mysterious. From the 2000-year-old Antikythera Mechanism to modern cesium-fountain clocks, humans have long sought to understand temporal patterns in nature, and build mechanisms to measure, reflect and predict those patterns. We’re at a unique moment, one in which we’ve developed the ability to perceive relativistic effects on time at the smallest scales, while struggling to think and plan across generations. In this course, we’ll reflect on the deep mysteries of time while also gaining hands-on skills applicable to temporal media and technologies. Topics will range from historical clock and orrery design through modern computer architecture (“A computer is a clock with benefits” writes Paul Ford in Bloomberg’s issue dedicated to code). Practically, we’ll build mechanical and software clocks; experiment with time-series data and time protocols; and survey techniques for digital signal processing and real-time operating systems. Students will execute several short assignments and a final project. Prerequisite: ICM / ICM: Media (ITPG-GT 2233 / ITPG-GT 2048) & Intro to Phys. Comp. (ITPG-GT 2301)

Interactive Telecommunications (Graduate)
4 credits – 13 Weeks

Sections (Fall 2024)


ITPG-GT 2040-000 (15710)
09/09/2024 – 12/09/2024 Mon
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Feddersen, Jeffery

Machine Learning for the Web (ITPG-GT 2465)

Libraries like TensorFlow.js and ml5.js unlocked new opportunities for interactive machine learning projects in the browser. The goal of this class is to learn and understand common machine learning techniques and apply them to generate creative outputs in the browser. This class will start with running models in the browser using high-level APIs from ml5.js, as well as explore the Layer APIs from TensorFlow.js to train models using custom data. This class will also cover preparing the dataset for training models. At the completion of this course, students will have a better understanding of a few machine learning models, how do they work, how to train these models, and their use case to creative projects. Students will also be able to create interactive ML web applications with pre-trained models or their own models. Prospective students are expected to have taken an ICM (Introduction to Computational Media) course, or have an equivalent programming experience with JavaScript, HTML, CSS.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2465-000 (14764)
01/26/2024 – 05/03/2024 Fri
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Shi, Yining

Computational Approaches to Narrative (ITPG-GT 2198)

Beginning with the release of Crowther and Woods’ “Colossal Cave Adventure” in 1977, the potential and unique affordances of computation as a means of storytelling have become more and more apparent. Combining approaches from literary theory, anthropology, computational creativity and game design, this class considers how narrative structure can be represented as data and enacted through computation, and invites students to implement practical prototypes of their own interactive and procedurally-generated narratives using a variety of technologies. Topics include (but are not limited to) hypertext fiction, “choose your own adventure”-style branching narratives, text adventures, visual novels, story generation from grammars and agent-based simulations. Students will complete a series of bite-size weekly assignments to present for in-class critique. Each session will also feature lectures, class discussion, and technical tutorials.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2198-000 (14761)
01/24/2024 – 05/01/2024 Wed
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Parrish, Allison

Hello, Computer: Unconventional Uses of Voice Technology (ITPG-GT 2988)

Computers are able to understand human speech better than ever before, but voice technology is still mostly used for practical (and boring!) purposes, like playing music, smart home control, or customer service phone trees. What else can we experience in the very weird, yet intuitive act of talking out loud to machines? The goal of this course is to give students the technical ability to imagine and build more creative uses of voice technology. Students will be encouraged to examine and play with the ways in which this emerging field is still broken and strange. We will develop interactions, performances, artworks or apps exploring the unique experience of human and computer conversation. Students will learn how to use text-to-speech and speech-to-text technologies, voice assistant devices, generative text techniques, open speech APIs, Node.js, and conversational UI design. There will be weekly assignments leading up to a final project. ICM or comparable programming experience required.

Interactive Telecommunications (Graduate)
2 credits – 8 Weeks

Sections (Fall 2021)


ITPG-GT 2988-000 (22644)
09/02/2021 – 10/26/2021 Thu
3:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by

Faking the News (ITPG-GT 2151)

“Lies. Hoaxes. Conspiracies. Rumors. Propaganda. Fake news is an age-old phenomenon—but the internet is making targeted misinformation cheap and scalable. That is affecting politics, public opinion, and the everyday experience of the internet. In this 6-week class, we will explore the cutting edge of “fake news” by engaging in ethical research and fabrication. Participants will manufacture and observe a controlled “fake news” event. We will experiment with command-line tools for doctoring video, neural nets and deepfakes to fabricate reality, Twitter bots, behavioral psychology, and the dark underbelly of the ad economy.”

Interactive Telecommunications (Graduate)
2 credits – 5 Weeks

Sections (Fall 2020)


ITPG-GT 2151-000 (22632)
09/09/2020 – 10/12/2020 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Moskowitz, Benjamin

The Code of Music (ITPG-GT 2653)

This course explores music through the lenses of computation and interactivity. The first part of the semester consists of a structured exploration of rhythm, melody, timbre, and harmony, from the perspectives of code, design, and music theory. For each musical element, we will hold listening sessions, represent and manipulate the element in code, and create an interactive study around it. During the second half of the semester we will cover algorithmic composition techniques such as Markov Chains, Neural Networks and L-systems. As students work toward their final projects, assignments will take a more self-directed approach. Professional practitioners will come in to share their work in the field and give students feedback on their projects. In-class coding and assignments will be done in P5.js Tone.js, but students will be free to use other languages and frameworks for their final projects. ICM or equivalent programming experience is required. 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 – Continuing to develop coding skills acquired in ICM Prerequisites: Introduction to Computational Media (ICM) or equivalent programming experience is required. About Luisa Hors: https://www.luisapereira.net/

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2653-000 (14753)
01/25/2024 – 05/02/2024 Thu
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Pereira Hors Renner, Luisa

Understanding Networks (ITPG-GT 2808)

“Interactive technologies seldom stand alone. They exist in networks, and they facilitate networked connections between people. Designing technologies for communications requires an understanding of networks. This course is a foundation in how networks work. Through weekly readings and class discussions and a series of short hands-on projects, students gain an understanding of network topologies, how the elements of a network are connected and addressed, what protocols hold them together, and what dynamics arise in networked environments. This class is intended to supplement the many network-centric classes at ITP. It is broad survey, both of contemporary thinking about networks, and of current technologies and methods used in creating them. Prerequisites: Students should have an understanding of basic programming. This class can be taken at the same time as, or after, Intro to Computational Media or an equivalent intro to programming. Some, though not all, production work in the class requires basic programming. There is a significant reading component to this class as well. Learning Objectives In this class, you will learn about how communications networks are structured, and you will learn how to examine those structures using software tools. By the end of this class, you should have a working knowledge of the following concepts: * The basics of network theory, some history of the internet and the organizations and stakeholders involved in its creation and maintenance * The Open Systems Interconnect (OSI) model and standard internet protocols such as Internet Protocol (IP), Transmission Control Protocol (TCP) , Universal Datagram Protocol (UDP), and Hypertext Transport Protocol (HTTP).  * Network addressing, private and public IP addresses * What hosts, servers, and clients are and a few ways in which they communicate * What a command line interface  (CLI) is and how to use the tools available in one * The basics of internet security * How telecommunications networks are similar to other infrastructural networks, like power and transportation, and how they are different.”

Interactive Telecommunications (Graduate)
4 credits – 13 Weeks

Sections (Fall 2024)


ITPG-GT 2808-000 (15692)
09/04/2024 – 12/04/2024 Wed
9:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Igoe, Thomas


ITPG-GT 2808-000 (15693)
09/05/2024 – 12/12/2024 Thu
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Igoe, Thomas

The Neural Aesthetic (ITPG-GT 2994)

Making words and images public used to be difficult, complex, and expensive. Now it’s not. That change, simple but fundamental, is transforming the media landscape. A publisher used to be required if you wanted to put material out into the public sphere; now anyone with a keyboard or a camera can circulate their material globally. This change in the economics of communication has opened the floodgates to a massive increase in the number and variety of participants creating and circulating media. This change, enormous and permanent, is driving several profound effects in the media landscape today. This course covers the transition from a world populated by professional media makers and a silent public to one where anyone who has a phone or a computer can be both producer and consumer. This change, brought about by the technological and economic characteristics of digital data and networks, is upending old industries — newspapers, music publishing, moviemaking — faster than new systems can be put in place. The result is chaos and experimentation as new ways of participating in the previously sparse media landscape are appearing everywhere. This course covers the history and economics of the previous media landscape, the design of digital networks that upend those historical systems, and new modes of participation from weblogs and wikis and Twitter to fan fiction and lolcats. The course centers on readings and field observation, with three papers due during the course of the term.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Fall 2021)


ITPG-GT 2994-000 (23993)
09/02/2021 – 12/14/2021 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by

Programming from A to Z (ITPG-GT 2536)

This course focuses on programming strategies and techniques behind procedural analysis and generation of text-based data. We’ll explore topics ranging from evaluating text according to its statistical properties to the automated production of text with probabilistic methods to text visualization. Students will learn server-side and client-side JavaScript programming and develop projects that can be shared and interacted with online. This fall the course will also explore topics in machine learning as related to text. There will be weekly homework assignments as well as a final project.

Interactive Telecommunications (Graduate)
4 credits – 13 Weeks

Sections (Fall 2024)


ITPG-GT 2536-000 (15690)
09/04/2024 – 12/04/2024 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Shiffman, Daniel

Reading and Writing Electronic Text (ITPG-GT 2778)

This course introduces the Python programming language as a tool for reading and writing digital text. This course is specifically geared to serve as a general-purpose introduction to programming in Python, but will be of special interest to students interested in language and computer-generated text. Among the topics we’ll discuss are: the history and aesthetics of computer-generated writing in literature and the arts; computational linguistics; ethics and authorship in the context of computer-mediated language; poetic structure and sound symbolism; performance and publishing. Programming topics covered include: data structures (lists, sets, dictionaries); strategies for making code reusable (functions and modules); natural language processing; grammar-based text generation; predictive models of text (Markov chains and neural networks); and working with structured data and text corpora. Weekly programming exercises and readings culminate in a final project. Prerequisites: Introduction to Computational Media or equivalent programming experience. Prerequisite: ICM

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2778-000 (14746)
01/25/2024 – 05/02/2024 Thu
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Parrish, Allison

Live Web (ITPG-GT 2734)

The World Wide Web has grown up to be a great platform for asynchronous communication such as email and message boards. More recently this has extended into media posting and sharing. With the rise of broadband, more powerful computers and the prevalence networked media devices, synchronous communications have become more viable. Streaming media, audio and video conference rooms and text based chat give us the ability to create content and services tailored to a live audience. During this course, we focus on the types of content and interaction that can be supported through these technologies as well as explore new concepts around participation with a live distributed audience. In this course, we look at new and existing platforms for live communication on the web. We leverage existing services and use Flash, PHP, AJAX and possibly Processing/Java to develop our own solutions. Experience with ActionScript/Flash, PHP/MySQL and HTML/ JavaScript are helpful but not required.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2024)


ITPG-GT 2734-000 (14745)
01/22/2024 – 05/06/2024 Mon
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Van Every, Shawn

Intro to Programming for Games (GAMES-UT 180)

Introduction to Programming for Games is a course that introduces students to the concepts, problems, and methods of computer programming, and how these apply to the creation of video games. The course assumes no prior programming knowledge, and is designed to touch on the basic principles of digital design in the form of computer code. There will be an emphasis on programming fundamentals; they will be motivated through the lens of designing and producing video games.

Game Design (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


GAMES-UT 180-000 (14736)
01/24/2022 – 05/09/2022 Mon
5:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Pratt, Charles

Programming Tools for the Data Scientist (CSCI-UA 381)

This course focuses on building applications in Python using a project-based learning approach. Students will design projects using important Python packages in a variety of applied areas such as textual analysis, data visualization, and others.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2021)


CSCI-UA 381-000 (22980)
01/28/2021 – 05/10/2021 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Meyers, Adam

Intro to Computer Science (CSCI-UA 101)

Students learn how to design algorithms to solve problems and how to translate these algorithms into working computer programs. Experience is acquired through programming projects in a high level programming language. CSCI-UA 101 is intended as a first course for computer science majors, and for students of other scientific disciplines. Programming assignments.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 101-000 (7809)
01/24/2022 – 05/09/2022 Mon,Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Nassar, Nader


CSCI-UA 101-000 (7810)
01/24/2022 – 05/09/2022 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Ataman, Duygu


CSCI-UA 101-000 (9108)
01/24/2022 – 05/09/2022 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Bari, Anasse · Davidson, Christopher


CSCI-UA 101-000 (7811)
01/24/2022 – 05/09/2022 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Cabo, Candido


CSCI-UA 101-000 (8688)
01/24/2022 – 05/09/2022 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Kayar, Gizem


CSCI-UA 101-000 (8882)
01/24/2022 – 05/09/2022 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Locklear, Hilbert


CSCI-UA 101-000 (9325)
01/24/2022 – 05/09/2022 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Bloomberg, Amos


CSCI-UA 101-000 (9905)
01/24/2022 – 05/09/2022 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Locklear, Hilbert


CSCI-UA 101-000 (20827)
01/24/2022 – 05/09/2022 Tue,Thu
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Ataman, Duygu


CSCI-UA 101-000 (26001)
01/24/2022 – 05/09/2022 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Kayar, Gizem

ABC Browser Circus (INTM-SHU 227T)

Welcome to the ABC Browser Circus (ABC), where acrobats juggle with hyperlinks, dance across scrolling grids and jump through open server ports. This course introduces the students to the history of the internet, the World Wide Web, and specifically to the browser as a cultural object and its role in (net)art; in parallel, students are guided to creative uses of the web. In three consecutive modules, the browser is interpreted as a blank canvas, a susceptible agent and as a window to other realities respectively. Technologies used in the ABC Browser Circus are advanced HTML, CSS and JavaScript as well as Node for server-side programming. Participants must have completed either Communications Lab or Creative Coding Lab (IMA Foundation Classes). Students are expected to comfortably apply fundamental programming concepts to solve problems.

Interactive Media Arts (Undergraduate)
4 credits – 13 Weeks

Sections (Fall 2020)


INTM-SHU 227T-000 (21565)
09/14/2020 – 12/15/2020 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Shanghai
Instructed by Eckert, Leon

Learning with Turtles (INTM-SHU 151T)

We will explore a range of programming languages, systems, and activities designed to help learners acquire computational skills and become creative problem solvers and project designers, including arts and interactive projects. We will create projects in turtle geometry, animation, and programmable embroidery (Snap!, Turtle Geometry, TurtleArt, and TurtleStitch), and in simulation systems which model complex systems in the life and social sciences in order to acquire a deeper understanding of their underlying phenomena (NetLogo). The course is fundamentally about ideas, and how some powerful ideas from computation can empower a learner to be a better creator and problem solver, acquire a deeper understanding of social and scientific phenomena, and become a self-directed learner. We will identify these ideas and actively engage with the pedagogical theories that underlie embodying them by creating with systems designed for children, beginners, or people coming from disciplines which traditionally had less emphasis on computing-based tools. We will emphasize reflection on our own learning within the course.”

Interactive Media Arts (Undergraduate)
4 credits – 13 Weeks

Sections (Fall 2020)


INTM-SHU 151T-000 (21563)
09/14/2020 – 12/15/2020 Thu
3:00 PM – 6:00 PM (Late afternoon)
at Shanghai
Instructed by Minsky, Margaret

Creative Coding Lab (INTM-SHU 103)

In this foundation course students will learn the fundamentals of computation, software design, and web technologies, through a series of creative projects. The course is intended to equip students with the skills to develop artistic and business projects that include a significant computational component. Topics such as variables, functions, components, and functional and reactive programming will be brought together to create interactive applications, generative art, data visualization, and other domains. Within the framework of these creative projects students will develop a greater understanding of how computer programs operate, be exposed to various concepts used to create experiences and interactions, and become more familiar with some of the technologies that constitute the internet. This course is intended for students with no prior programming background. Prerequisite: None. Fulfillment: CORE AT; IMA Major Other Foundation; IMB Major Emerging Media Foundation.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


INTM-SHU 103-000 (17271)
09/05/2022 – 12/16/2022 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Shanghai
Instructed by


INTM-SHU 103-000 (17272)
09/05/2022 – 12/16/2022 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Shanghai
Instructed by


INTM-SHU 103-000 (17273)
09/05/2022 – 12/16/2022 Tue,Thu
1:00 PM – 3:00 PM (Early afternoon)
at Shanghai
Instructed by


INTM-SHU 103-000 (17274)
09/05/2022 – 12/16/2022 Tue,Thu
3:00 PM – 4:00 PM (Late afternoon)
at Shanghai
Instructed by


INTM-SHU 103-000 (17276)
09/05/2022 – 12/16/2022 Fri
9:00 AM – 11:00 AM (Morning)
at Shanghai
Instructed by


INTM-SHU 103-000 (17277)
09/05/2022 – 12/16/2022 Fri
11:00 AM – 12:00 AM (Morning)
at Shanghai
Instructed by


INTM-SHU 103-000 (17278)
09/05/2022 – 12/16/2022 Fri
1:00 PM – 3:00 PM (Early afternoon)
at Shanghai
Instructed by


INTM-SHU 103-000 (17279)
09/05/2022 – 12/16/2022 Fri
3:00 PM – 4:00 PM (Late afternoon)
at Shanghai
Instructed by

Creative Coding (MCC-UE 1585)

“Creative Coding” is a practice-based course designed to teach basic programming skills in the context of critical & cultural media studies & the digital humanities. The course requires no prior programming experience, simply a willingness to explore code at a more technical level with the aim of using computation as an expressive, analytical, critical & visualizing medium. Students will learn basic coding techniques such as variables, loops, graphics, & networking, all within a larger conversation on the social, cultural, & historical nature of code & coding practices.

Media, Culture & Communication (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


MCC-UE 1585-000 (14057)
09/03/2024 – 12/12/2024 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Galloway, Alexander

Data Analysis (MA-UY 2224)

An introductory course to probability and statistics. It affords the student some acquaintance with both probability and statistics in a single term. Topics in Probability include mathematical treatment of chance; combinatorics; binomial, Poisson, and Gaussian distributions; the Central Limit Theorem and the normal approximation. Topics in Statistics include sampling distributions of sample mean and sample variance; normal, t-, and Chi-square distributions; confidence intervals; testing of hypotheses; least squares regression model. Applications to scientific, industrial, and financial data are integrated into the course.NOTE: Not open to math majors or students who have taken or will take MA-UY 2054 or MA-UY 3014 or MA-UY 3514 or ECE-UY 2233. | Prerequisite: MA-UY 1124, MA-UY1424, or MA-UY 1132 or MATH-UH 1020 or MATH-UH 1021 or MATH-SHU 151

Mathematics (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


MA-UY 2224-000 (18487)
09/03/2024 – 12/12/2024 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Qian, Jinghua


MA-UY 2224-000 (18488)
09/03/2024 – 12/12/2024 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Malcom, Alekzander


MA-UY 2224-000 (18489)
09/03/2024 – 12/12/2024 Mon,Wed
4:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Qian, Jinghua


MA-UY 2224-000 (18490)
09/03/2024 – 12/12/2024 Mon,Wed
6:00 PM – 7:00 PM (Evening)
at Brooklyn Campus
Instructed by Constantine, Adam


MA-UY 2224-000 (18491)
09/03/2024 – 12/12/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Malcom, Alekzander


MA-UY 2224-000 (18492)
09/03/2024 – 12/12/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Zhao, Fang


MA-UY 2224-000 (18493)
09/03/2024 – 12/12/2024 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Zhao, Fang

Discrete Mathematics (MA-UY 2314)

Logic, proofs, set theory, functions, relations, asymptotic notation, recurrences, modeling computation, graph theory. | Prerequisite: Math Diagnostic Exam or MA-UY 912 or MA-UY 914 (minimum calculus level required) | Prerequisite for Shanghai students: MATH-SHU 110. Note: This course and CS-GY 6003 cannot both be taken for credit.

Mathematics (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


MA-UY 2314-000 (18495)
09/03/2024 – 12/12/2024 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Malcom, Alekzander


MA-UY 2314-000 (18496)
09/03/2024 – 12/12/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by


MA-UY 2314-000 (18497)
09/03/2024 – 12/12/2024 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Cereste, Ken


MA-UY 2314-000 (18498)
09/03/2024 – 12/12/2024 Tue,Thu
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Cereste, Ken

Introduction to Embedded Systems Design (ECE-UY 4144)

The course covers architecture and operation of embedded microprocessors; microprocessor assembly language programming; address decoding; interfacing to static and dynamic RAM; Serial I/O, Parallel I/O, analog I/O; interrupts and direct memory access; A/D and D/A converters; sensors; microcontrollers. Alternate-week laboratory. Objectives: to provide foundations of embedded systems design and analysis techniques; expose students to system level design; and teach integration of analog sensors with digital embedded microprocessors. | Prerequisites: CS-UY 2204 (C- or better) and EE-UY 2024 or EE-UY 2004 (C- or better). ABET competencies: a, c, d, e, g, j, k.

Elect. Engineering – ECE UGRD (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


ECE-UY 4144-000 (11565)


ECE-UY 4144-000 (11566)


ECE-UY 4144-000 (11567)


ECE-UY 4144-000 (11568)


ECE-UY 4144-000 (11569)


ECE-UY 4144-000 (11570)


ECE-UY 4144-000 (11571)
09/03/2024 – 12/12/2024 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Campisi, Matthew

Signals and Systems (ECE-UY 3054)

This course centers on linear system theory for analog and digital systems; linearity, causality and time invariance; impulse response, convolution and stability; the Laplace, z- transforms and applications to Linear Time Invariant (LTI) systems; frequency response, analog and digital filter design. Topics also include Fourier Series, Fourier Transforms and the sampling theorem. Weekly computer-laboratory projects use analysis- and design-computer packages. The course establishes foundations of linear systems theory needed in future courses; use of math packages to solve problems and simulate systems; and analog and digital filter design. | Prerequisites for Brooklyn Engineering Students: MA-UY 2012/2132, MA-UY 2034 or MA-UY 3044. | Prerequisites for Abu Dhabi Students: MATH-AD 116 and MATH-AD 121. | Prerequisites for Shanghai Students: MATH-SHU 124 and MATH-SHU 140. ABET competencies a, b, c, e, k.

Elect. Engineering – ECE UGRD (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


ECE-UY 3054-000 (11559)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Marzetta, Thomas


ECE-UY 3054-000 (11560)
09/03/2024 – 12/12/2024 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Marzetta, Thomas

Communication Networks (ECE-UY 3613)

This course develops basic techniques used in communication networks. After protocol layering is introduced, algorithms and protocols are discussed for use in each of the five layers: physical, data link, network, transport and application. Specific protocols such as TCP/IP, ATM, SS7 are included. | Prerequisite for Brooklyn Engineering Students: Junior status in electrical engineering, computer engineering, or computer science. Co-requisites for Brooklyn Engineering Students: ECE-UY 2233 (EE majors) or MA-UY 2224 (CompE/CS majors) | Prerequisites for Abu Dhabi Students: ENGR-AD 194 (or co-req of MA-UY 3113) and ENGR-AD 195 (or co-req of ECE-UY 2233) . ABET competencies: a, c, e.

Elect. Engineering – ECE UGRD (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2024)


ECE-UY 3613-000 (17937)
01/22/2024 – 05/06/2024 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Liu, Yong

INTRODUCTION TO ELECTRICAL AND COMPUTER ENGINEERING (ECE-UY 1002)

This course introduces numerous subject areas in Electrical and Computer Engineering (power systems, electronics, computer networking, microprocessors, digital logic, embedded systems, communications, feedback control, and signal processing). Through a series of case studies and examples, the course demonstrates how each subject area applies to practical, real-world systems and devices and discusses how the areas interact with each other to implement a complete functioning system or device. Students make presentations in teams on case studies based on articles from the IEEE Spectrum Magazine and other sources. The IEEE Code of Ethics and ethics-related issues are discussed. | ABET criteria: i, h. | Prerequisites: First-year standing

Elect. Engineering – ECE UGRD (Undergraduate)
2 credits – 15 Weeks

Sections (Spring 2024)


ECE-UY 1002-000 (17982)
01/22/2024 – 05/06/2024 Mon
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by


ECE-UY 1002-000 (17983)
01/22/2024 – 05/06/2024 Wed
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Rappaport, Theodore (Ted) S.

INTRO TO COMPUTER ENGINEERING (ECE-UY 1012)

This course helps students to understand computer engineering as a balance among hardware, software, applications and theory, the notion of abstraction, computer layers and how they relate to various aspects of computer engineering, implementation of abstract and physical computer layers: Number systems, digital logic, basic processor structure, instruction set architecture, machine languages, assembly languages and high-level programming in C. Other computer concepts, including compilers, operating systems and algorithms, are presented, along with the simulator concept and its usage for understanding computer design, testing and analysis. Experts present special topics in the area. Also discussed are invention, innovation, entrepreneurship and ethics in these topics and in Computer Engineering. Cross listed as CS-UY 1012. | ABET competencies: e, h, j | Prerequisite: Only first-year students are permitted to enrol in this course.

Elect. Engineering – ECE UGRD (Undergraduate)
2 credits – 15 Weeks

Introduction to Machine Learning (ECE-UY 4563)

This course provides a hands on approach to machine learning and statistical pattern recognition. The course describes fundamental algorithms for linear regression, classification, model selection, support vector machines, neural networks, dimensionality reduction and clustering. The course includes computer exercises on real and synthetic data using current software tools. A number of applications are demonstrated on audio and image processing, text classification, and more. Students should have competency in computer programming. | Prerequisites: ECE-UY 2233, MA-UY 2233, MA-UY 3012, MA-UY 2224 or MA-UY 2222, MA-UY 3514

Elect. Engineering – ECE UGRD (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


ECE-UY 4563-000 (11607)
09/03/2024 – 12/12/2024 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by

Software Engineering (CS-UY 4513)

Focusing on software engineering, the course introduces techniques to specify, design, test and document medium and large software systems. Design techniques include information engineering, object orientation and complexity measures. Also covered are testing methods, such as path testing, exhaustive test models and construction of test data. An introduction to software tools and project management techniques is presented. Student projects involve team software development and tracking. | Prerequisites: Juniors or higher majoring in Computer Science, Computer Engineering or Electrical and Computer Engineering. Co-requisite: CS-UY 3224

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4513-000 (12271)
09/03/2024 – 12/12/2024 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by Strauss, Fred


CS-UY 4513-000 (12272)
09/03/2024 – 12/12/2024 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Strauss, Fred


CS-UY 4513-000 (12273)
09/03/2024 – 12/12/2024 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at ePoly
Instructed by Callahan, Eugene

DESIGN & ANALYSIS OF ALGORITHMS (CS-UY 2413)

This course covers fundamental principles of the design and analysis of algorithms. Topics include asymptotic notation, recurrences, randomized algorithms, sorting and selection, balanced binary search trees, augmented data structures, advanced data structures, algorithms on strings, graph algorithms, geometric algorithms, greedy algorithms, dynamic programming and NP completeness. | Prerequisites for Brooklyn Engineering Students: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and MA-UY 2314; Corequisite: EX-UY 1 | Prerequisites for Abu Dhabi Students: (ENGR-UH 3510 or CS-UH 1050) (C- or better) and CS-UH 1002 | Prerequisite for Shanghai Students: CSCI-SHU 210 (C- or better) and CSCI-SHU 2314

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 2413-000 (12269)
09/03/2024 – 12/12/2024 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Hellerstein, Lisa


CS-UY 2413-000 (12270)
09/03/2024 – 12/12/2024 Mon,Wed
5:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Hellerstein, Lisa

INTRO TO GAME PROGRAMMING (CS-UY 3113)

A programming intensive introduction to the creation of computer games. Using mostly two-dimensional sprite-based programming, we examine and experiment with animation, physics, artificial intelligence and audio. In addition, the course explores the mathematics of transformations (both 2D and 3D) and the ways they may be represented. | Prerequisite: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better).

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 3113-000 (12268)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Romero Cruz, Sebastian

Game Development Studio I (CS-UY 3233)

This class introduces the principles of 2D and 3D computer game design. Students learn about the range of game types and understand their conceptual building blocks. Students complete a structured sequence of assignments towards the design for a new game.

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 3233-000 (12661)
09/03/2024 – 12/12/2024 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Garcia, Diego

Introduction to Parallel and Distributed Systems (CS-UY 3254)

This course offers a solid grounding in the basic issues and techniques of parallel and distributed computing. The material covers the spectrum from theoretical models of parallel and distributed systems to actual programming assignments. | Prerequisite: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and CS-UY 3224.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2023)


CS-UY 3254-000 (15277)
09/05/2023 – 12/15/2023 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Epstein, Jeff

INTRO TO PROGRAMMING & PROBLEM SOLVING (CS-UY 1114)

This course introduces problem solving and computer programming and is for undergraduate Computer Science and Computer Engineering majors who have limited prior experience in programming in any language. The course covers fundamentals of computer programming and its underlying principles using the Python programming language. Concepts and methods introduced in the course are illustrated by examples from various disciplines. ABET competencies: a,b,c, e, f, g, k | Corequisite: EX-UY 1; Anti-requisite: CS-UY 1113

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 1114-000 (12244)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12245)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12246)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12247)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12248)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12249)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12250)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12251)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12252)
09/03/2024 – 12/12/2024 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Katz-Braunschweig, Daniel


CS-UY 1114-000 (12253)
09/03/2024 – 12/12/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12254)
09/03/2024 – 12/12/2024 Mon,Wed
5:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Arfaoui, Salim


CS-UY 1114-000 (12255)
09/03/2024 – 12/12/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by DePasquale, Peter


CS-UY 1114-000 (12256)
09/03/2024 – 12/12/2024 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Katz-Braunschweig, Daniel

Engineering Problem Solving and Programming (CS-UY 1133)

This introductory course in engineering problem solving and computer programming is for all undergraduate engineering students without prior programming experience in any language. The course covers the fundamentals of computer programming and its underlying principles using the MATLAB programming language. Concepts and methods are illustrated by examples from various engineering disciplines. Useful numerical techniques and their applications to real-world problems in science and engineering are also discussed. ABET competencies: a, e, k. | Corequisite: EX-UY 1.

Computer Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2021)


CS-UY 1133-000 (17100)
01/28/2021 – 05/10/2021 Fri
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by


CS-UY 1133-000 (17101)
01/28/2021 – 05/10/2021 Fri
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by


CS-UY 1133-000 (17102)
01/28/2021 – 05/10/2021 Fri
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by


CS-UY 1133-000 (17103)
01/28/2021 – 05/10/2021 Fri
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by


CS-UY 1133-000 (16932)
01/28/2021 – 05/10/2021 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by

DIGITAL LOGIC AND STATE MACHINE DESIGN (CS-UY 2204)

This course covers combinational and sequential digital circuits. Topics: Introduction to digital systems. Number systems and binary arithmetic. Switching algebra and logic design. Error detection and correction. Combinational integrated circuits, including adders. Timing hazards. Sequential circuits, flipflops, state diagrams and synchronous machine synthesis. Programmable Logic Devices, PLA, PAL and FPGA. Finite-state machine design. Memory elements. A grade of C or better is required of undergraduate computer-engineering majors. | Prerequisite for Brooklyn Students: CS-UY 1114 (C- or better) or CS-UY 1133 (C- or better) | Prerequisite for Abu Dhabi Students: CS-UH 1001 (C- or better) or ENGR-UH 1000 (C- or better) | Prerequisite for Shanghai Students: CSCI-SHU 101 (C- or better)

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 2204-000 (11540)
09/03/2024 – 12/12/2024 Wed
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by


CS-UY 2204-000 (11541)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by


CS-UY 2204-000 (11542)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by


CS-UY 2204-000 (11543)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by


CS-UY 2204-000 (11544)
09/03/2024 – 12/12/2024 Tue,Thu
4:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Reagen, Brandon

COMPUTER ARCHITECTURE AND ORGANIZATION (CS-UY 2214)

This course covers a top-down approach to computer design. Topics: Computer architecture, introduction to assembly language programming and machine language set design. Computer organization, logical modules; CPU, memory and I/O units. Instruction cycles, the datapath and control unit. Hardwiring and microprogramming. The memory subsystem and timing. I/O interface, interrupts, programmed I/O and DMA. Introduction to pipelining and memory hierarchies. Fundamentals of computer networks. | Prerequisite for Brooklyn Engineering Students: CS-UY 2204 (C- or better) for computer engineering majors; (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and MA-UY 2314 for computer science majors. Students who are neither computer engineering majors nor computer science majors must take either CS-UY 2204 (C- or better) OR (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and MA-UY 2314.| Prerequisite for Abu Dhabi Students: ENGR-AD 121. | Prerequisites for Shanghai Students: CSCI-SHU 2314 and CSCI-SHU 210 (C- or better) or CENG-SHU 201. ABET competencies: a, c, e.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 2214-000 (12257)
09/03/2024 – 12/12/2024 Tue,Thu
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12258)
09/03/2024 – 12/12/2024 Tue,Thu
4:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12259)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12260)
09/03/2024 – 12/12/2024 Fri
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12261)
09/03/2024 – 12/12/2024 Fri
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12262)
09/03/2024 – 12/12/2024 Fri
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12263)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12264)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 2214-000 (12265)
09/03/2024 – 12/12/2024 Fri
4:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan

Data Structures and Algorithms (CS-UY 1134)

This course covers abstract data types and the implementation and use of standard data structures along with fundamental algorithms and the basics of algorithm analysis. Not open to students who have taken CS-UY 2134. | Prerequisite for Brooklyn Students: CS-UY 1114 or CS-UY 1121 (C- or better) | Prerequisite for Abu Dhabi Students: CS-UH 1001 or ENGR-UH 1000 | Prerequisite for Shanghai Students: CSCI-SHU 101 | Corequisite for all Students: EX-UY 1

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 1134-000 (12279)
09/03/2024 – 12/12/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12280)
09/03/2024 – 12/12/2024 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12281)
09/03/2024 – 12/12/2024 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12282)
09/03/2024 – 12/12/2024 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Reeves, Darryl


CS-UY 1134-000 (12283)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12284)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12285)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12286)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12287)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12288)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Tal, Itay


CS-UY 1134-000 (12289)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Tal, Itay

Object Oriented Programming (CS-UY 2124)

This intermediate-level programming course teaches object-oriented programming in C . Topics: Pointers, dynamic memory allocation and recursion. Classes and objects including constructors, destructors, methods (member functions) and data members. Access and the interface to relationships of classes including composition, association and inheritance. Polymorphism through function overloading operators. Inheritance and templates. Use of the standard template library containers and algorithms. | Prerequisite: CS-UY 1134 (C- or better); Corequisite: EX-UY 1

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 2124-000 (12290)
09/03/2024 – 12/12/2024 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12291)
09/03/2024 – 12/12/2024 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Mansour, Omar


CS-UY 2124-000 (12292)
09/03/2024 – 12/12/2024 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12293)
09/03/2024 – 12/12/2024 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Mansour, Omar


CS-UY 2124-000 (12294)
09/03/2024 – 12/12/2024 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12295)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12296)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12297)
09/03/2024 – 12/12/2024 Fri
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12298)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12299)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12300)
09/03/2024 – 12/12/2024 Fri
11:00 AM – 1:00 PM (Morning)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12301)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Sterling, John


CS-UY 2124-000 (12302)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Sterling, John

Introduction to Machine Learning (CS-UY 4563)

This course provides a hands on approach to machine learning and statistical pattern recognition. The course describes fundamental algorithms for linear regression, classification, model selection, support vector machines, neural networks, dimensionality reduction and clustering. The course includes computer exercises on real and synthetic data using current software tools. A number of applications are demonstrated on audio and image processing, text classification, and more. Students should have competency in computer programming. | Prerequisite for Brooklyn Students: CS-UY 1134 AND (MA-UY 2034, MA-UY 2034G, MA-UY 3044 or MA-UY 3054) AND (MA-UY 2224, MA-UY 2222, MA-UY 2233, ECE-UY 2233, MA-UY 3012, MA-UY 3014, or MA-UY 3514) | Prerequisite for Abu Dhabi Students: (ENGR-UH 3510 or CS-UH 1050) (C- or better) AND (MATH-UH 1022 or MATH-UH 1023) AND (MATH-UH 2011Q or ENGR-UH 2010Q) | Prerequisite for Shanghai Students: CSCI-SHU 210 (C- or better) AND (MATH-SHU 140 or MATH-SHU 141) AND MATH-SHU 235

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4563-000 (12303)
09/03/2024 – 12/12/2024 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Sellie, Linda

Artificial Intelligence (CS-UY 4613)

Artificial Intelligence (AI) is an important topic in computer science that has many diversified applications. It addresses one of the ultimate puzzles human are trying to solve – How is it possible for a slow, tiny brain, whether biological or electronic, to perceive, understand, predict, and manipulate a world far larger and more complicated than itself? And, how do we go about creating a machine (or computer) with those properties? To this end, researchers in the AI field have been trying to understand how seeing, learning, remembering, and reasoning could, or should be done. This course introduces students to the many concepts and techniques in artificial intelligence. | Prerequisite for Brooklyn Students: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) | Prerequisite for Abu Dhabi Students: ENGR-UH 3510 or CS-UH 1050 (C- or better) | Prerequisite for Shanghai Students: CSCI-SHU 210 (C- or better)

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4613-000 (12277)
09/03/2024 – 12/12/2024 Thu
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Wong, Edward

Application Security (CS-UY 4753)

This course addresses the design and implementation of secure applications. Concentration is on writing software programs that make it difficult for intruders to exploit security holes. The course emphasizes writing secure distributed programs in Java. The security ramifications of class, field and method visibility are emphasized. | Prerequisite: CS-UY 3923

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4753-000 (16115)
09/03/2024 – 12/12/2024 Wed
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Satt, Mo

Applied Cryptography (CS-UY 4783)

This course examines Modern Cryptography from a both theoretical and applied perspective, with emphasis on “provable security” and “application case studies”. The course looks particularly at cryptographic primitives that are building blocks of various cryptographic applications. The course studies notions of security for a given cryptographic primitive, its various constructions and respective security analysis based on the security notion. The cryptographic primitives covered include pseudorandom functions, symmetric encryption (block ciphers), hash functions and random oracles, message authentication codes, asymmetric encryption, digital signatures and authenticated key exchange. The course covers how to build provably secure cryptographic protocols (e.g., secure message transmission, identification schemes, secure function evaluation, etc.), and various number-theoretic assumptions upon which cryptography is based. Also covered: implementation issues (e.g., key lengths, key management, standards, etc.) and, as application case studies, a number of real-life scenarios currently using solutions from modern cryptography. | Prerequisite: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and MA-UY 2314.

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4783-000 (16117)
09/03/2024 – 12/12/2024 Tue
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Di Crescenzo, Giovanni

Computer Networking (CS-UY 4793)

This course takes a top-down approach to computer networking. After an overview of computer networks and the Internet, the course covers the application layer, transport layer, network layer and link layers. Topics at the application layer include client-server architectures, P2P architectures, DNS and HTTP and Web applications. Topics at the transport layer include multiplexing, connectionless transport and UDP, principles or reliable data transfer, connection-oriented transport and TCP and TCP congestion control. Topics at the network layer include forwarding, router architecture, the IP protocol and routing protocols including OSPF and BGP. Topics at the link layer include multiple-access protocols, ALOHA, CSMA/CD, Ethernet, CSMA/CA, wireless 802.11 networks and link-layer switches. The course includes simple quantitative delay and throughput modeling, socket programming and network application development and Ethereal labs. | Prerequisite for Brooklyn Students: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) | Prerequisite for Abu Dhabi Students: ENGR-UH 3510 or CS-UH 1050 (C- or better) | Prerequisite for Shanghai Students: CSCI-SHU 210 (C- or better)

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4793-000 (12278)
09/03/2024 – 12/12/2024 Mon,Wed
6:00 PM – 7:00 PM (Evening)
at Brooklyn Campus
Instructed by O’Rourke, Lucas


CS-UY 4793G-000 (2816)
at NYU Paris (Global)
Instructed by


CS-UY 4793G-000 (2588)
at NYU Paris (Global)
Instructed by

COMPUTER SECURITY (CS-UY 3923)

This course covers cryptographic systems. Topics: Capability and access control mechanisms, authentication models, protection models. Database and operating system security issues, mobile code, security kernels. Malicious code, Trojan horses and computer viruses. Security policy formation and enforcement enforcement, legal aspects and ethical aspects. | Prerequisite for Brooklyn Students: CS-UY 2214 | Prerequisite for CAS Students: CSCI-UA 201 | Prerequisite for Abu Dhabi Students: CS-UH 2010 or ENGR-AD 3511 | Prerequisite for Shanghai Students: CENG-SHU 202 | Co-requisite for ALL Students: CS-UY 3224

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 3923-000 (15976)
09/03/2024 – 12/12/2024 Tue
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Cappos, Justin

NETWORK SECURITY (CS-UY 3933)

This course covers reviews networking. Topics: Basic notations of confidentiality, integrity, availability; cryptographic systems, coding and decoding messages. Cryptographic protocols for privacy, integrity, key exchange and access control. TCP/IP security; Firewalls, IPSec; secure ecommerce. Intrusion detection, prevention, response. Advanced topics are included. | Prerequisite for Brooklyn Students: CS-UY 4793 or ECE-UY 3613 or ECE-GY 5373 |Prerequisite for Abu Dhabi Students: CS-UH 3012 or ENGR-UH 3512 | Prerequisite for Shanghai Students: CSCI-SHU 308

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 3933-000 (15977)
09/03/2024 – 12/12/2024 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Satt, Mo

INTRO TO OPERATING SYSTM (CS-UY 3224)

This course studies the fundamental concepts and principles of operating systems. Batch, spooling and multiprogramming systems are introduced. The parts of an operating system are described in terms of their functions, structure and implementation. Basic policies for allocating resources are discussed. | Prerequisites for Brooklyn Students: CS-UY 2214 AND (CS-UY 2134 or CS-UY 1134) AND (CS-UY 2124 or CS-UY 1124) (C- or better). | Prerequisite for Abu Dhabi Students: (ENGR-UH 3510 or CS-UH 1050) (C- or better) AND (CS-UH 2010 or ENGR-UH 3511) | Prerequisites for Shanghai Students: CSCI-SHU 210 (C- or better) AND CENG-SHU 202

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 3224-000 (12276)
09/03/2024 – 12/12/2024 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Sandoval, Gustavo


CS-UY 3224G-000 (2553)
09/02/2024 – 12/05/2024 Tue,Thu
11:00 AM – 1:00 PM (Morning)
at NYU Paris (Global)
Instructed by


CS-UY 3224G-000 (2811)
09/02/2024 – 12/05/2024 Tue,Thu
1:00 PM – 2:00 PM (Early afternoon)
at NYU Paris (Global)
Instructed by

Interactive Computer Graphics (CS-UY 4533)

An introduction to the field of computer graphics: displays, image formation, visual perception, images, transformations (viewing and projection), programmable pipelines (vertex and fragment programs), modeling (primitives, polygon meshes, smooth curves and surfaces), animation (keyframing, procedural), rendering and realism (visibility, lighting, shading, shadows, texturing, ray tracing). | Prerequisite for Brooklyn Students: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and (MA-UY 2034 or MA-UY 3044 or MA-UY 3054) | Prerequisites for CAS Students: CSCI-UA 201 (C- or better) and (MATH-UA 140 or MATH-UA 148) | Prerequisite for Abu Dhabi Students: (ENGR-UH 3510 or CS-UH 1050) (C- or better) and (MATH-UH 1022 or MATH-UH 1023) | Prerequisite for Shanghai Students: CSCI-SHU 210 (C- or better) AND (MATH-SHU 140 or MATH-SHU 141)

Computer Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2024)


CS-UY 4533-000 (9966)
01/22/2024 – 05/06/2024 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Chiang, Yi-Jen

Introduction to Databases (CS-UY 3083)

This course introduces database systems and their approach as a mechanism to model the real world. The course covers data models (relational, object-oriented), physical database design, query languages, query processing and optimization, as well as transaction management techniques. Implementation issues, object oriented and distributed databases also are introduced. | Prerequisites for Brooklyn Students: (CS-UY 2134 or CS-UY 1134) and (CS-UY 2124 or CS-UY 1124) (C- or better) and MA-UY 2314 | Prerequisites for Abu Dhabi Students: (ENGR-UH 3510 or CS-UH 1050) (C- or better) and CS-UH 1002 | Prerequisites for Shanghai Students: CSCI-SHU 210 (C- or better) and CSCI-SHU 2314

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 3083-000 (12274)
09/03/2024 – 12/12/2024 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Dey, Ratan


CS-UY 3083-000 (12275)
09/03/2024 – 12/12/2024 Tue
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Arfaoui, Salim

Geographic Information Systems (URB-UY 2114)

Geographic Information Systems are computer systems for the storage, retrieval, analysis, and display of geographic data, that is data about features and phenomena on the surface of the earth. This course will introduce the students to GIS through hands-on computer exercises, as well as readings and lectures about cartography, tools, data, and the social impacts of GIS. GIS projects start with data and move through analysis to cartographic display. Pedagogically, we will be starting at the end moving backward to data and analysis. | Note: This course cannot be used to satisfy Humanities/Social Science requirements for majors outside of the TCS department. | Prerequisite: EXPOS-UA 1 or EXPOS-UA 4

Urban Studies (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2023)


URB-UY 2114-000 (21070)
01/23/2023 – 05/08/2023 Tue
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Mistry, Himanshu

Dynamic Web Applications (DM-UY 3193)

In this course, students focus on client and server side programming, as well as the web design and development process. Students are also introduced to databases for the web. Examples of dynamic web applications include content management systems, registration systems, and social media solutions. | Pre-requisite: DM-UY.2193

Integrated Digital Media (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


DM-UY 3193-000 (12665)
09/03/2024 – 12/12/2024 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by Ayres, James

Math for Artists (ITPG-GT 2058)

In this class students will learn math tools to boost their digital practice, fix common problems, and understand the math behind our human perception of the physical world. This course spans different branches of math including geometry, linear algebra, logarithmic thinking, and statistics as they relate to a programmer making digital art with our contemporary media ecosystem. The aim of this course isn’t to become calculators, rather strengthen our intuition through historical and ethnomathematics perspectives and foster a new relationship to math. The prerequisites to this class are basic arithmetic skills and an introduction to programming. We will create applications using free and open-source software, including Python and p5.js.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2020)


ITPG-GT 2058-000 (23070)
01/27/2020 – 05/11/2020 Thu
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Kraft, Robert

Data and Publics (ITPG-GT 2053)

In this course, we’ll investigate two closely related ideas: public data and data publics. We’ll learn how to access and represent data from an assortment of existing public data sources, how to liberate currently obfuscated data sets, and how to create our own useful/whimsical/critical APIs from scratch. We’ll also investigate the act of putting data into public space – through sculpture, projections, performance, and participatory interventions. Particular attention will be paid to methods which bring data back to communities from which it was collected, and to tactics which build grassroots literacies, respect local ways of knowing and reinforce capabilities for stewardship and sovereignty.

Interactive Telecommunications (Graduate)
4 credits – 12 Weeks

Machine Learning for Physical Computing (ITPG-GT 2050)

With Machine Learning models are getting smaller, and microcontrollers are getting more computing power, Machine Learning is moving towards edge devices. This class explores the idea of how machine learning algorithms can be used on microcontrollers along with sensor data to build Physical Computing projects. In this class, we will learn about TensorFlow Lite, a library that allows you to run machine learning algorithms on microcontrollers. We will talk about common machine learning algorithms and techniques and apply them to build hands-on interactive projects that enrich our daily lives. Students will learn to use pre-trained models, and re-train the models with sensor data. We are going to talk about Image Classification, Transfer Learning, Gesture and Speech Detection. For each topic, we will first discuss its history, theory, datasets, and applications, and then build simple experiments based on the topic. Prospective students are expected to have taken Introduction to Physical Computing and Introduction to Computational Media course, or have equivalent programming experience with Arduino and JavaScript.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Spring 2020)


ITPG-GT 2050-000 (22889)
03/24/2020 – 05/05/2020 Tue
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Shi, Yining

Material of Language (ITPG-GT 2051)

Language is more than just words and meanings: it’s paper and ink, pixels and screens, fingertips on keyboards, voices speaking out loud. Language is, in a word, material. In this course, students will gain an understanding of how the material of language is represented digitally, and learn computational techniques for manipulating this material in order to create speculative technologies that challenge conventional reading and writing practices. Topics include asemic writing, concrete poetry, markup languages, keyboard layouts, interactive and generative typography, printing technologies and bots (alongside other forms of radical publishing). Students will complete a series of weekly readings and production-oriented assignments leading up to a final project. In addition to critique, sessions will feature lectures, class discussions and technical tutorials. Prerequisites: Introduction to Computational Media or equivalent programming experience.

Interactive Telecommunications (Graduate)
4 credits – 15 Weeks

Sections (Spring 2020)


ITPG-GT 2051-000 (22895)
01/27/2020 – 05/11/2020 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Parrish, Allison

Critical Communications (ITPG-GT 2056)

The ways in which we communicate has changed radically in the last 100 years. As the communication systems we use have increased in complexity, so has the effort it takes to understand how they work. Most of us use protocols like LTE, HTTP, TCP/IP, and BLE every day. We take them for granted, almost like we do the laws of nature. But there are more than the laws of physics, more than techniques of engineering, embedded in the design and implementation of our protocols of communication. To understand their role in our lives, we need to look into the societal and economic contexts in which they came to be. In this class, we will examine communication protocols using Raspberry Pi’s, Arduinos, Software Defined Radios, and other connected devices. We will look closer at organizations like iSOC, ICANN and IEEE to better understand how protocol designs are implemented and standardized. Through readings, research and hands-on work we will build an understanding of how these protocols work, how their designs incorporate the physical, technical, cultural, corporate and political assumptions of the actors behind them. In the first half of the class readings and assignments will help familiarize students with some of the different protocols we rely on every day. In the second half, students will work in groups to investigate a communications protocol and consider its impact from a technical, societal and environmental perspective. Final projects will communicate their findings in whatever form students deem appropriate – explanatory blog posts, physical or digital installations, or even videos and podcasts.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Spring 2020)


ITPG-GT 2056-000 (22886)
03/30/2020 – 05/11/2020 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Mattu, Surya

All Maps Lie (ITPG-GT 2049)

Introduction to Critical Mapping and Open Source Geospatial Web Analysis and Visualization is an introduction to critical perspectives in cartography and geospatial information systems and web technologies. This course will introduce students to the foundations of geographic data analysis and visualization, grounding practical studio based exercises and projects with critical readings and theory. Students taking this course will gain an appreciation for geographic thinking, learn to ask geographic questions, and apply basic methodologies to “make sense” of geographic data. The course will be conducted with open source geographic information systems and web technologies. Students are not expected to enter the class with knowledge of these tools, but will be expected to learn and apply them through studio exercises and project briefings.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Spring 2020)


ITPG-GT 2049-000 (22872)
03/30/2020 – 05/11/2020 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Lee, Joseph K

Autonomous Artificial Artists (ITPG-GT 2497)

Autonomous Artificial Artists (AAA) is a class to explore ways of making artworks “autonomous.” In this context, “autonomy” brings together three independent but related criteria: 1) artificial intelligence being a primary determinant in an artwork’s aesthetics 2) autonomous software principles culled from peer-to-peer network design, blockchain and decentralization technology, serverless and federated machine learning, cryptoeconomics, and agent-based multiplayer simulation. 3) crowd-sourced art where mass, unbounded cooperation of many participants creates novel artworks which represent the “hive mind” or collective input. The goal of this class is to learn a little bit about each of these seemingly disparate fields, and see how they may interact in interesting new ways. The idea of autonomous artworks is very new, and is being actively discussed by a small group of interdisciplinary researchers and artists since 2016/2017. Although the topic is highly experimental, it is nevertheless based on concrete technologies, making simultaneous use of several techniques which are under active development and have potentially far-reaching ramifications well outside the domain of art. The time is ripe for people within more design-oriented fields to begin thinking about how they might be used in a broader context. The class has both a theoretical component (learning about each of the individual technologies and their interplay) as well as a practical component: training and deploying generative models on computational environments that are as close to decentralized or autonomous as possible. In addition, we will explore prior notions of crowd-sourced or mass-collaborative art, touching on older principles and strategies such as Oulipo, exquisite corpse, and crowd-sourced computational artworks like Electric Sheep, Exhausting a Crowd, and others.

Interactive Telecommunications (Graduate)
2 credits – 5 Weeks

Sections (Spring 2020)


ITPG-GT 2497-000 (22882)
04/06/2020 – 05/11/2020 Mon
3:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Kogan, Gennady

Music Interaction Design (ITPG-GT 2475)

This class is a project development studio for interactive music projects —that is, pieces of music that are not linear, but rather offer multiple dimensions for listeners to explore (on their phones in a crowded subway, at an abandoned factory in Palermo, back on their couches after a long day, at a classical concert hall). Students will take a project from concept to execution over several iterations, applying Interaction Design principles and techniques. During the first half of the semester, they will gather aural and visual references, compose graphic notations, and create interactive studies to explore specific elements of their composition. This work will lead to the implementation of the midterm project: a functional, high-fidelity prototype. For their final projects, students will evaluate their midterm pieces from the perspectives of music, visual design and interaction design, and refine them to produce an expressive piece of interactive music. ICM or equivalent experience is required. Some experience in making or producing music will be useful, but is not required.

Interactive Telecommunications (Graduate)
4 credits – 14 Weeks

Sections (Spring 2020)


ITPG-GT 2475-000 (22929)
01/28/2020 – 05/05/2020 Tue
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Pereira Hors, Luisa

Sound in Space (ITPG-GT 2485)

Stereo (2-speaker) sound is the default way we produce and distribute most audio. This class challenges the stereophonic-centricity of digital sound and instead focuses on the context of listening, interfacing and interacting with audio beyond 2 speakers. We will take a novel approach to spatialization by interfacing web technologies (Javascript, Web Audio, WebRTC) with multichannel audio to create room-scale interactive music and sonic spaces, and then make our findings publicly available through musical artifacts, open source tools, and documentation. We will explore conventional and unconventional loudspeaker arrangements ranging from 3 to 40 channels and how distribution and context affects music. Together, we will participate in a semester-long project examining the affordances of spatial and multichannel sound, designing and build open source tools to interface Tone.js, Higher-Order Ambisonics (HOA) and other multichannel techniques. Students will perform/install their final on the 40-channel speaker array at Dave&Gabe’s studio in Bushwick. Topics include 3D sound, open source, space and listening. Prerequisites: willingness to listen critically, some programming experience. No formal music training required.

Interactive Telecommunications (Graduate)
2 credits – 12 Weeks

Sections (Spring 2020)


ITPG-GT 2485-000 (22868)
01/27/2020 – 04/20/2020 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Mann, Yotam

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 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Van Every, Shawn

Device to Database (ITPG-GT 2473)

How do you process data from connected devices? This class examines how to build systems to collect, process, store, and visualize data from connected devices. The class will review and discuss real world IoT systems using case studies and actual projects. We will build system using Arduino hardware and open source software. We will discuss how to IoT systems are built on commercial cloud infrastructure. Students will learn about IoT devices and the data pipelines for processing data. They will build an Arduino based device to send and receive data over WiFi via MQTT. Students will write code to move data from MQTT into a database. Students will learn how to query the database and present data as tabular data and graphs. To gain an understanding of an entire IoT system from device to application, we will start at a high level and then drill into each of the pieces — we will: * Discuss sensor hardware and wireless options (WiFi, Cellular, LoRaWAN, LTE-M, etc) for moving data to the server * Discuss transport options MQTT, CoAP, AMQP, HTTPS, etc. * Examine SQL, NoSQL, and Time Series Database * Look at tools and techniques for querying and visualizing data. Prerequisite: * Introduction to Physical Computing * Introduction to Computational Media (suggested) The class will be a mix of lecture, discussion, and building IoT systems. Real world examples and case studies will be used to demonstrate how IoT can be built.

Interactive Telecommunications (Graduate)
2 credits – 6 Weeks

Sections (Spring 2020)


ITPG-GT 2473-000 (22887)
01/30/2020 – 03/12/2020 Thu
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Coleman, Don

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 Mon
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Holmes, Harlo

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 Fri
3:00 PM – 6:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Yin, Yue

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 2024)


ITPG-GT 2176-000 (14757)
01/24/2024 – 05/01/2024 Wed
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed 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 Thu
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Lam, Nien · Buys, Sebastian

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 Tue
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Parrish, Allison

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 Tue
6:00 PM – 9:00 PM (Evening)
at Brooklyn Campus
Instructed by Forsyth, Cory

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 Wed
3:00 PM – 5:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by O’Sullivan, Daniel

Dynamic Web Development (ITPG-GT 2577)

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 – 7 Weeks

Sections (Spring 2024)


ITPG-GT 2577-000 (14749)
03/15/2024 – 05/03/2024 Fri
9:00 AM – 12:00 AM (Morning)
at Brooklyn Campus
Instructed by Arshad, Ahmad

Connected Devices and Networked Interaction (ITPG-GT 2565)

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 – 14 Weeks

Sections (Spring 2024)


ITPG-GT 2565-000 (14750)
01/24/2024 – 05/01/2024 Wed
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Rozin, Yonatan

The Nature of Code (ITPG-GT 2480)

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

Sections (Spring 2024)


ITPG-GT 2480-000 (14744)
01/25/2024 – 05/02/2024 Thu
12:00 AM – 2:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Shiffman, Daniel

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,Thu
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Onuoha, Chisom

The Code of Music (IMNY-UT 222)

This course explores the elements of music through the lenses of computation and interactive design. Each of the five course units focuses on one element of music (rhythm, melody, timbre, harmony, and structure), approaching it from the perspective of music theory, computation, and design. For each element, students listen to examples from different periods and styles, represent and manipulate the element in code, and create an interactive study around it. As students work toward their final projects, the class takes a more self-directed approach. Final projects can take the form of digital applications, spatial installations, or physical devices. In-class coding and assignments will be done in P5.js, but students will be free to use other languages and frameworks for their final projects. Creative Computing or equivalent programming experience is required.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


IMNY-UT 222-000 (22285)
01/24/2022 – 05/09/2022 Mon
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Pereira Hors, Luisa

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 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; included in this will be works by Marshall McLuhan, Wendy Chun, Lev Manovich, Philip Agre, Tiziana Terranova, and more. In short, this course will be about developing full-stack web applications (such as anything from the beginnings of Google, YouTube, and Twitter to class registration systems and other purpose built system) as well as thinking, reading, and discussing the implications with a culture and media theory perspective.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

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,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Malavet, Ann

Theory of Computation (CSCI-UA 453)

This course takes a mathematical approach in studying topics in computer science, such as: regular languages and some of their representations (deterministic finite automata, non-deterministic finite automata, regular expressions); proof of non-regularity. Context free languages and pushdown automata; proofs that languages are not context free. Elements of computability theory. Brief introduction to NP-completeness.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 453-000 (9017)
01/24/2022 – 05/09/2022 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Khot, Subhash

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,Thu
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Overton, Michael

Machine Learning for Language Understanding (DS-UA 203)

This course covers widely-used machine learning methods for language understanding—with a special focus on machine learning methods based on artificial neural networks—and culminates in a substantial final project in which students write an original research paper in AI or computational linguistics. If you take this class, you’ll be exposed only to a fraction of the many approaches that researchers have used to teach language to computers. However, you’ll get training and practice with all the research skills that you’ll need to explore the field further on your own. This includes not only the skills to design and build computational models, but also to design experiments to test those models, to write and present your results, and to read and evaluate results from the scientific literature.

Data Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


DS-UA 203-000 (9643)
01/24/2022 – 05/09/2022 Wed
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Bowman, Samuel


DS-UA 203-000 (9644)
01/24/2022 – 05/09/2022 Tue
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by

Introduction to Digital Humanities (IM-UH 1511)

What happens when the arts and humanities are represented in digital form? What kind of new insights can we have when by looking at the data of the humanities? This course will look at intersections between computers and the humanities, a form of inquiry known as “digital humanities.” The course is structured around a broad examination of concepts important in today’s society (computational thinking, digital identity, text as data, dataset, pattern, algorithm, network, location). Students will discuss these concepts critically, explore real-life examples and put them into practice in hands-on activities. Examples of such hands on work might include, but are not limited to, creating accessible web design, analyzing text digitally, building and visualizing a dataset, curating an open bibliography, thinking about art as data, building a Twitter bot, teaching a computer to recognize human handwriting, visualizing social networks or making digital maps. The course assumes no prior technical skills, but a willingness to explore new technologies is essential for success.

Interactive Media (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2023)


IM-UH 1511-000 (23335)

Politics of Code (IM-UH 3310)

While our relationships between ourselves, our environment, and other people are inherently political, computer technologies and technology companies consistently claim to remain “neutral”. This course will assume the opposite – software is political – and focus on how software applications share commonalities with political systems, how they affect their users as political actors and how we can build alternatives to those systems. This course is aimed at deconstructing the design and implementation of software as a political medium, such as Facebook’s timeline algorithm, city officials’ use of computer simulations to orchestrate urban life, blockchain-backed proof of ownership and algorithmic criminal assessment. Along with an introduction to political theory and media studies, coupled with an exploration of the underlying political impacts of those systems, students will work on several hands-on projects to offer functioning alternatives to those systems. To that end, this course will include several workshops in JavaScript and Python.

Interactive Media (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2022)


IM-UH 3310-000 (18389)


IM-UH 3310-000 (21644)
at Abu Dhabi
Instructed by Blumtritt, Joerg

Nature of Code (INTM-SHU 254)

The Nature of Code is an intermediate course based on Daniel Shiffman’s The Nature of Code course at NYU ITP and was adjusted for undergraduate students. This course explores the fundamentals of programming, such as Object-Oriented Programming, and the application of simple principles of mathematics and physics in order to recreate natural behaviors in a digital environment. Prerequisites: This class uses p5(p5js.org) and requires Interaction Lab, Communication Lab, Application Lab, or similar programming background. Knowledge of other languages, such as Processing, three.js and OpenFrameworks, is also encouraged.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2020)


INTM-SHU 254-000 (23412)
02/03/2020 – 05/15/2020 Wed
5:00 PM – 8:00 PM (Late afternoon)
at Shanghai
Instructed by Moon, Jung Hyun

Creative Coding Lab (INTM-SHU 135T)

In this course students will learn the fundamentals of computation, software design, and web technologies, through a series of creative projects. The course is intended to equip students with the skills to develop artistic and business projects that include a significant computational component. Topics such as variables, functions, components, and functional and reactive programming will be brought together to create interactive applications, generative art, data visualization, and other domains. Within the framework of these creative projects students will develop a greater understanding of how computer programs operate, be exposed to various concepts used to create experiences and interactions, and become more familiar with some of the technologies that constitute the internet. This course is intended for students with no prior programming background. Prerequisites: None

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2020)


INTM-SHU 135T-000 (23244)
02/03/2020 – 05/15/2020 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Shanghai
Instructed by Steele, Oliver

Critical Data and Visualization (INTM-SHU 204)

Data is at the heart of the increasing role technology has in our lives. Data collection and algorithmic processing are not only central to recent technical breakthroughs such as in AI and automation but have created new economic paradigms where data equals value and shape political approaches to power and control. Decisions based on algorithms affect society at large whether it’s changing the way we transport and distribute goods, or influencing the things we buy, the news we read or even the people we date. The world that algorithms see is data. For the average person, however, data is seldom more than an abstract idea. So what exactly is data? How is value extracted from it? And why should we care? How can we ethically balance the positive uses of data-driven systems with the threats they pose to discriminate and infringe basic human rights? This class seeks to untangle some of these issues practically and theoretically. Prerequisite: Creative Coding Lab or equivalent programming experience. Fulfillment: CORE AT; IMA/IMB elective.

Interactive Media Arts (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2022)


INTM-SHU 204-000 (17718)
01/24/2022 – 05/13/2022 Tue,Thu
9:00 AM – 11:00 AM (Morning)
at Shanghai
Instructed by Eckert, Leon

Intro to Game Development (OART-UT 1601)

Introduction to Game Development is a practical course that introduces students to the methods, tools and principles used in developing digital games. Over the course of the semester, students will work alone to create a two digital prototypes or ‘sketches’, before building on them to produce a final polished game, using the lessons learned in the earlier prototypes. This is a hands­-on, primarily lab­-based course, and so the focus is on learning ­by ­doing rather than on reading and discussion.

Open Arts Curriculum (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


OART-UT 1601-000 (14382)
09/01/2022 – 12/14/2022 Mon,Wed
8:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by

Collective Play (IMNY-UT 225)

Rules of play shape competitive games from checkers to football. But how do the rules of interaction shape non-competitive play? In this course, we will explore, code and test design strategies for playful group interactions while at the same time interrogating both what it means to play and how individual identities and group behaviors. 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? Interaction inputs we will play with will include: mouse, keyboard, mobile device sensors, and microphone. Outputs will include, visuals, text and sound. We will use p5, websockets and node.js for real-time interaction. Class time will be split between playing with and critiquing examples and translating design strategies into code and logic.

Interactive Media Arts (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2019)


IMNY-UT 225-000 (23604)
09/03/2019 – 12/12/2019 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Yin, Yue

Introduction to Machine Learning for the Arts (IMNY-UT 224)

An introductory course designed to provide students with hands-on experience developing creative coding projects with machine learning. The history, theory, and application of machine learning algorithms and related datasets are explored in a laboratory context of experimentation and discussion. Examples and exercises will be demonstrated in JavaScript using the p5.js, ml5.js, and TensorFlow.js libraries. In addition, students will learn to work with open source pre-trained models in the cloud using Runway. Principles of data collection and ethics are introduced. Weekly assignments, team and independent projects, and project reports are required.

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2021)


IMNY-UT 224-000 (15837)
09/02/2021 – 12/14/2021 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Online
Instructed by

Machine Learning for New Interfaces (INTM-SHU 215)

Machine Learning for New Interfaces is an introductory course with the goal of teaching machine learning concepts in an approachable way to students with no prior knowledge. We will explore diverse and experimental methods in Machine Learning such as classification, recognition, movement prediction and image style translation. By the end of the course, students will be able to create their own interfaces or applications for the web. They will be able to apply fundamental concepts of Machine Learning, recognize Machine Learning models in the world and make Machine Learning projects applicable to everyday life. Prerequisite: Creative Coding Lab or equivalent programming experience Fulfillment: IMA/IMB elective.

Interactive Media Arts (Undergraduate)
4 credits – 16 Weeks

Sections (Spring 2022)


INTM-SHU 215-000 (19661)
01/24/2022 – 05/13/2022 Tue
4:00 PM – 7:00 PM (Late afternoon)
at Shanghai
Instructed by Moon, Jung Hyun

Critical Data & Visualization (INTM-SHU 232)

Data is at the heart of the increasing role technology has in our lives. Data collection and algorithmic processing are not only central to recent technical breakthroughs such as in AI and automation but have created new economic paradigms where data equals value and shape political approaches to power and control. Decisions based on algorithms affect society at large whether it’s changing the way we transport and distribute goods, or influencing the things we buy, the news we read or even the people we date. The *world* that algorithms *see* is data. For the average person, however, data is seldom more than an abstract idea. So what exactly is data? How is value extracted from it? And why should we care? How can we ethically balance the positive uses of data-driven systems with the threats they pose to discriminate and infringe basic human rights? This class seeks to untangle some of these issues practically and theoretically. Each week will include a lecture introducing contemporary theorists, artists, groups, and in-class discussions or exercises. Potentially there will be a guest speaker, too. Topic sections may include surveillance and privacy, data journalism and activism or automation and machine bias. What we cover will be complemented by reading and research assignments. The other half of the week is a programming lab in which you will learn the fundamentals of web-based data visualization using JavaScript. Programming assignments will allow you to further practice what we learn. Throughout the semester, you will work on three main visualization projects that are inspired by the theoretical subjects that we cover. The form of these projects will usually be a website. Successful projects feature data visualizations that are both playful as well as effective in conveying information and a reflection that links the practical work to the theoretical learnings. Prerequisite: Interaction Lab, Communications Lab or Application Lab

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2019)


INTM-SHU 232-000 (21436)09/02/2019 – 12/13/2019 Mon,Wed1:00 PM – 2:00 PM (Early afternoon)at ShanghaiInstructed by

Artificial Intelligence Arts (INTM-SHU 226)

Artificial Intelligence Arts is an intermediate class that broadly explores issues in the applications of AI to arts and creativity. This class looks at generative Machine Learning algorithms for creation of new media, arts and design. In addition to covering the technical advances, the class also addresses the ethical concerns ranging from the use of data set, the necessarily of AI generative capacity to our proper attitudes towards AI aesthetics and creativity. Students will apply a practical and conceptual understanding of AI both as technology and artistic medium to their creative practices.

Interactive Media Arts (Undergraduate)
4 credits – 13 Weeks

Sections (Fall 2020)


INTM-SHU 226-000 (18540)
09/14/2020 – 12/15/2020 Tue
9:00 AM – 12:00 AM (Morning)
at Shanghai
Instructed by Zhou, Le

Programming Design Systems (INTM-SHU 223)

Programming Design Systems is a course focused on the intersection between graphic design and code. Class time is divided between design topics like form, color, grid systems, and typography, and more computational topics like randomization, repetition, transformation and generative form. The students work to write software that abstract design theories into the code, and show the work in class for design critique. Weekly readings include relevant writings from the history of graphic design, articles from the history of computation, and everything in between. The class aims not only to teach the students how to create designs via code, but also to have something interesting to say about it. The course is based on the Programming Design Systems book, and more background info can be found in the book’s introduction. Prerequisite:Communications Lab

Interactive Media Arts (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2019)


INTM-SHU 223-000 (18304)
09/02/2019 – 12/13/2019 Mon,Wed
4:00 PM – 5:00 PM (Late afternoon)
at Shanghai
Instructed by

Introduction to Computer Programming (CSCI-UA 3)

This course introduces object-oriented programming, recursion, and other important programming concepts to students who already have had some exposure to programming in the context of building applications using Python. Students will design and implement Python programs in a variety of applied areas.

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2019)


CSCI-UA 3-000 (21167)
09/03/2019 – 12/13/2019 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Versoza, Joseph

Introduction to Machine Learning (CSCI-UA 473)

Students will learn about the theoretical foundations of machine learning and how to apply machine learning to solve new problems. Machine learning is an exciting and fast-moving field at the intersection of computer science, statistics, and optimization, with many consumer applications such as machine translation, speech recognition, and recommendation. Machine learning also plays an increasingly central role in data science, enabling discoveries in fields such as biology, physics, neuroscience, and medicine. In the first part of the course, students will learn about supervised prediction methods including linear and logistic regression, support vector machines, ensemble methods, and decision trees. In the second part of the course, students will learn about methods for clustering, dimensionality reduction, and statistical inference.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2021)


CSCI-UA 473-000 (9300)
01/28/2021 – 05/10/2021 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Wilson, Andrew

Data Structures (CSCI-UA 9102)

The use and design of data structures, which organize information in computer memory. Stacks, queues, linked lists, binary trees: how to implement them in a high level language, how to analyze their effect on algorithm efficiency, and how to modify them. Programming assignments.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2021)


CSCI-UA 9102-000 (19807)09/02/2021 – 12/14/2021 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at NYU Paris (Global)Instructed by Cosse, Augustin Marie Dominique


CSCI-UA 9102-000 (19808)09/02/2021 – 12/14/2021 Tue2:00 PM – 3:00 PM (Early afternoon)at NYU Paris (Global)Instructed by Cosse, Augustin Marie Dominique

Introduction to Machine Learning (CSCI-UA 9473)

Machine learning is an exciting and fast-moving field of computer science with many recent consumer applications (e.g., Microsoft Kinect, Google Translate, Iphone’s Siri, digital camera face detection, Netflix recommendations, Google news) and applications within the sciences and medicine (e.g., predicting protein-protein interactions, species modeling, detecting tumors, personalized medicine). This course introduces undergraduate computer science students to the field of machine learning. Students learn about the theoretical foundations of machine learning and how to apply machine learning to solve new problems. Assuming no prior knowledge in machine learning, the course focuses on two major paradigms in machine learning which are supervised and unsupervised learning. In supervised learning, we learn various methods for classification and regression. Dimensionality reduction and clustering are discussed in the case of unsupervised learning

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2022)


CSCI-UA 9473-000 (22400)
09/01/2022 – 12/08/2022 Tue,Thu
1:00 PM – 2:00 PM (Early afternoon)
at NYU Paris (Global)
Instructed by Cosse, Augustin Marie Dominique


CSCI-UA 9473-000 (22964)
at NYU Paris (Global)
Instructed by

Basic Algorithms (CSCI-UA 310)

Prerequisites: Data Structures (CSCI-UA 102); Discrete Mathematics (MATH-UA 120); and either Calculus I (MATH-UA 121) OR Math for Economics I (MATH-UA 211). An introduction to the study of algorithms. Two main themes are presented: designing appropriate data structures, and analyzing the efficiency of the algorithms which use them. Algorithms for basic problems are studied. These include sorting, searching, graph algorithms and maintaining dynamic data structures. Homework assignments, not necessarily involving programming.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 310-000 (7819)
01/24/2022 – 05/09/2022 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Regev, Oded


CSCI-UA 310-000 (7820)
01/24/2022 – 05/09/2022 Mon
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Song, Min Jae


CSCI-UA 310-000 (7821)
01/24/2022 – 05/09/2022 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Regev, Oded


CSCI-UA 310-000 (8906)
01/24/2022 – 05/09/2022 Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Fenteany, Peter


CSCI-UA 310-000 (9912)
01/24/2022 – 05/09/2022 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Nassajianmojarrad, Seyed · Mundra, Jaya


CSCI-UA 310-000 (9913)
01/24/2022 – 05/09/2022 Tue
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Jin, Yifan


CSCI-UA 310-000 (20845)
01/24/2022 – 05/09/2022 Mon
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Karthikeyan, Harish


CSCI-UA 310-000 (20846)
01/24/2022 – 05/09/2022 Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Agarwal, Ishan


CSCI-UA 310-000 (10617)
01/24/2022 – 05/09/2022 Tue
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Zhao, Xinyi

Operating Systems (CSCI-UA 202)

This course covers the principles and design of operating systems. Topics include process scheduling and synchronization, deadlocks, memory management including virtual memory, input-output and file systems. Programming assignments.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 202-000 (7818)
01/24/2022 – 05/09/2022 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Walfish, Michael


CSCI-UA 202-000 (9186)
01/24/2022 – 05/09/2022 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Gottlieb, Allan


CSCI-UA 202-000 (20844)
01/24/2022 – 05/09/2022 Tue,Thu
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Gottlieb, Allan

Data Structures (CSCI-UA 102)

The use and design of data structures, which organize information in computer memory. Stacks, queues, linked lists, binary trees: how to implement them in a high level language, how to analyze their effect on algorithm efficiency, and how to modify them. Programming assignments.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 102-000 (20828)
01/24/2022 – 05/09/2022 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Korth, Evan · Vataksi, Denisa


CSCI-UA 102-000 (20833)
01/24/2022 – 05/09/2022 Tue
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Vieira, Diogo


CSCI-UA 102-000 (20830)
01/24/2022 – 05/09/2022 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Bari, Anasse · Rao, Sindhuja


CSCI-UA 102-000 (20834)
01/24/2022 – 05/09/2022 Wed
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Mavi, Vaibhav


CSCI-UA 102-000 (20831)
01/24/2022 – 05/09/2022 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Klukowska, Joanna · Khatri, Riju


CSCI-UA 102-000 (20832)
01/24/2022 – 05/09/2022 Mon
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Ilamathy, Swarna Swapna


CSCI-UA 102-000 (20829)
01/24/2022 – 05/09/2022 Tue
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Bharti, Sweta


CSCI-UA 102-000 (20835)
01/24/2022 – 05/09/2022 Wed
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Shah, Vivek


CSCI-UA 102-000 (20836)
01/24/2022 – 05/09/2022 Mon
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Muni, Sumanth Reddy


CSCI-UA 102-000 (20837)
01/24/2022 – 05/09/2022 Mon
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by DiGiovanni, Lauren


CSCI-UA 102-000 (20838)
01/24/2022 – 05/09/2022 Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by R D, Harshitha


CSCI-UA 102-000 (20839)
01/24/2022 – 05/09/2022 Mon
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Ilamathy, Swarna Swapna


CSCI-UA 102-000 (20840)
01/24/2022 – 05/09/2022 Wed
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Cappadona, Joseph

Intro to Computer SCI (CSCI-UA 101)

Students learn how to design algorithms to solve problems and how to translate these algorithms into working computer programs. Experience is acquired through programming projects in a high level programming language. CSCI-UA 101 is intended as a first course for computer science majors, and for students of other scientific disciplines. Programming assignments.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2020)


CSCI-UA 101-000 (7675)
01/27/2020 – 05/11/2020 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by McIntosh, Suzanne


CSCI-UA 101-000 (7676)
01/27/2020 – 05/11/2020 Tue,Thu
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Schneider, Teseo


CSCI-UA 101-000 (9503)
01/27/2020 – 05/11/2020 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by


CSCI-UA 101-000 (7677)
01/27/2020 – 05/11/2020 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Locklear, Hilbert


CSCI-UA 101-000 (8814)
01/27/2020 – 05/11/2020 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Cabo, Candido


CSCI-UA 101-000 (9071)
01/27/2020 – 05/11/2020 Mon,Wed
2:00 PM – 3:00 PM (Early afternoon)
at Washington Square
Instructed by Bloomberg, Amos


CSCI-UA 101-000 (9859)
01/27/2020 – 05/11/2020 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Berger, Marsha


CSCI-UA 101-000 (10064)
01/27/2020 – 05/11/2020 Mon,Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Nassar, Nader

Computer Systems Org (CSCI-UA 201)

This course covers the internal structure of computers, machine (assembly) language programming, and the use of pointers in high-level languages. Topics include the logical design of computers, computer architecture, the internal representation of data, instruction sets, and addressing logic, as well as pointers, structures, and other features of high-level languages that relate to assembly language. Programming assignments will be both in assembly language and other languages.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 201-000 (7816)
01/24/2022 – 05/09/2022 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Moody, Douglas L


CSCI-UA 201-000 (7817)
01/24/2022 – 05/09/2022 Tue
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by R D, Harshitha


CSCI-UA 201-000 (9059)
01/24/2022 – 05/09/2022 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Goldberg, Benjamin


CSCI-UA 201-000 (9060)
01/24/2022 – 05/09/2022 Thu
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Viswanathan, Adithya


CSCI-UA 201-000 (9188)
01/24/2022 – 05/09/2022 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Aljabbouli, Hasan


CSCI-UA 201-000 (9189)
01/24/2022 – 05/09/2022 Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Gurrala, Jaya Amit Sai


CSCI-UA 201-000 (20841)
01/24/2022 – 05/09/2022 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Franchitti, Jean-Claude


CSCI-UA 201-000 (20842)
01/24/2022 – 05/09/2022 Tue
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Gurrala, Jaya Amit Sai


CSCI-UA 201-000 (9910)
01/24/2022 – 05/09/2022 Tue
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Iyer, Shraddha


CSCI-UA 201-000 (9384)
01/24/2022 – 05/09/2022 Thu
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Zare, Samvid Avinash


CSCI-UA 201-000 (9911)
01/24/2022 – 05/09/2022 Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Pabba, Rishika


CSCI-UA 201-000 (20843)
01/24/2022 – 05/09/2022 Tue
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by He, Yang

Web Development and Programming (CSCI-UA 61)

Students that have successfully completed CSCI-UA 467 Applied Internet Technology are not eligible to take CSCI-UA 61 Web Development and Programming. This course will provide a practical approach to web technologies and programming. Students will build interactive, secure and powerful web programs. This course will cover client and server side technologies for the web.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 61-000 (8622)
01/24/2022 – 05/09/2022 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Kapp, Craig

Database Design and Implementation (CSCI-UA 60)

Students that have successfully completed CSCI-UA 479 Data Management and Analysis are not eligible to take CSCI-UA 60 Database Design and Implementation. Introduces principles and applications of database design and working with data. Students use python as they prepare, analyze and work with data; SQL to study the principles and implementations of relational databases; and are introduced to other database paradigms such as NoSQL. Students apply these principles to computer systems in general and in their respective fields of interest.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 60-000 (7808)
01/24/2022 – 05/09/2022 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Bloomberg, Amos

Introduction to Web Design and Computer Principles (CSCI-UA 4)

Prerequisite: Three years of high school mathematics or equivalent. No prior computing experience is assumed. Students with computing experience should consult with the computer science department before registering. Offered every semester. 4 points. This course introduces students to both the practice of web design and the basic principles of computer science. The practice component of the course covers not only web design but also current graphics and software tools. The principles section includes an overview of hardware and software, the history of computers, and a discussion of the impact of computers and the internet.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Introduction to Data Science (DS-UA 112)

Introduction to Data Science offers the fundamental principles and techniques of data science. Students will develop a toolkit to examine real world examples and cases to place data science techniques in context, to develop data-analytic thinking, and to illustrate that proper application is as much an art as it is a science. In addition, students will gain hands-on experience with the Python programming language and its associated data analysis libraries. Students will also consider ethical implications surrounding privacy, data sharing, and algorithmic decision making for a given data science solution.

Data Science (Undergraduate)
4 credits – 15 Weeks

Data Science for Everyone (DS-UA 111)

Data Science for Everyone is a foundational course that prepares students to participate in the data-driven world that we are all experiencing. It develops programming skills in Python so that students can write programs to summarize and compare real-world datasets. Building on these data analysis skills, students will learn how draw conclusions and make predictions about the data. Students will also explore related ethical, legal, and privacy issues.

Data Science (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2021)


DS-UA 111-000 (9775)09/02/2021 – 12/14/2021 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Jones-Rooy, Andrea · Spirling, Arthur


DS-UA 111-000 (9776)09/02/2021 – 12/14/2021 Thu4:00 PM – 5:00 PM (Late afternoon)at Washington SquareInstructed by López Peceño, Alejandro


DS-UA 111-000 (9778)09/02/2021 – 12/14/2021 Thu5:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Palmer, Lexi


DS-UA 111-000 (9779)09/02/2021 – 12/14/2021 Fri3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by López Peceño, Alejandro


DS-UA 111-000 (9780)09/02/2021 – 12/14/2021 Fri8:00 AM – 8:00 AM (Morning)at Washington SquareInstructed by Kottur, Ankita Vijaya Kumar


DS-UA 111-000 (9781)09/02/2021 – 12/14/2021 Fri2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Palmer, Lexi

Intro to Programming for Games (OART-UT 1617)

Introduction to Programming for Games is a course that introduces students to the concepts, problems, and methods of computer programming, and how these apply to the creation of video games. Throughout the semester, students will have weekly programming assignments, first using Processing with the Java programming language, then the Unity3D Game Engine with C#. There will be a midterm game in Processing and a final game in Unity. The course assumes no prior programming knowledge, and is designed to touch on the basic principles of digital design in form of computer code. There will be an emphasis on programming fundamentals; they will be motivated through the lens of designing and producing video games.

Open Arts Curriculum (Undergraduate)
4 credits – 15 Weeks

Sections (Fall 2022)


OART-UT 1617-000 (14383)
09/01/2022 – 12/14/2022 Mon
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Popp, Karina


OART-UT 1617-000 (14792)
09/01/2022 – 12/14/2022 Mon
9:00 AM – 10:00 AM (Morning)
at Brooklyn Campus
Instructed by Smith, Kate


OART-UT 1617-000 (14793)
09/01/2022 – 12/14/2022 Thu
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Pratt, Charles


OART-UT 1617-000 (20571)
09/01/2022 – 12/14/2022 Thu
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Parker, Matthew

Intro to Web Development (DM-UY 2193)

In this course, students focus on client-side programming. Assignments are arranged in sequence to enable the production of a website of professional quality in design and production. This studio stresses interactivity, usability, and the quality and appropriateness of look and feel.

Integrated Digital Media (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


DM-UY 2193-000 (12662)
09/03/2024 – 12/12/2024 Mon,Wed
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Rieper, Effie


DM-UY 2193-000 (12663)
09/03/2024 – 12/12/2024 Tue,Thu
10:00 AM – 11:00 AM (Morning)
at Brooklyn Campus
Instructed by Adee, Katie


DM-UY 2193-000 (12664)
09/03/2024 – 12/12/2024 Mon,Wed
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by Rieper, Effie

Mobile Application Development (DM-UY 4193)

Today’s applications are increasingly mobile. This course teaches students how to build mobile apps for Android or iOS devices, as well as how to deploy them in app stores. The history of mobile computing is also explored. | Prerequisite: DM-UY 2193

Integrated Digital Media (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


DM-UY 4193-000 (12666)
09/03/2024 – 12/12/2024 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by Adee, Katie

Intro to Game Development (DM-UY 2153)

This class introduces the principles of 2D and 3D computer-game design. Students learn the range of game types and understand their conceptual building blocks. Students complete a structured sequence of assignments toward the completion of a new-game design. Students prepare, through a staged sequence of assignments, a fully worked-out design for an original game. Criteria include storyline quality, graphics quality and appropriateness of design to the game concept originality. For games with an educational or instructional purpose, clarity and effectiveness for the target audience is considered. | Prerequisite: DM-UY 1133

Integrated Digital Media (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


DM-UY 2153-000 (12644)
09/03/2024 – 12/12/2024 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Garcia, Diego


DM-UY 2153-000 (12645)
09/03/2024 – 12/12/2024 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Brooklyn Campus
Instructed by