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.
Category Archives: IMA Electives (Legacy Structure – Programming & Data)
Courses that count in IMA’s Programming and Data category
Intro to Programming for Games (GAMES-UT 180)
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,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed 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,Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Nassar, Nader
CSCI-UA 101-000 (7810)01/24/2022 – 05/09/2022 Tue,Thu8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Ataman, Duygu
CSCI-UA 101-000 (9108)01/24/2022 – 05/09/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Bari, Anasse · Davidson, Christopher
CSCI-UA 101-000 (7811)01/24/2022 – 05/09/2022 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Cabo, Candido
CSCI-UA 101-000 (8688)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Kayar, Gizem
CSCI-UA 101-000 (8882)01/24/2022 – 05/09/2022 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Locklear, Hilbert
CSCI-UA 101-000 (9325)01/24/2022 – 05/09/2022 Tue,Thu2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Bloomberg, Amos
CSCI-UA 101-000 (9905)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Locklear, Hilbert
CSCI-UA 101-000 (20827)01/24/2022 – 05/09/2022 Tue,Thu3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Ataman, Duygu
CSCI-UA 101-000 (26001)01/24/2022 – 05/09/2022 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed 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,Thu9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed 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 Thu3:00 PM – 6:00 PM (Late afternoon)at ShanghaiInstructed 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,Thu9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed by
INTM-SHU 103-000 (17272)09/05/2022 – 12/16/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at ShanghaiInstructed by
INTM-SHU 103-000 (17273)09/05/2022 – 12/16/2022 Tue,Thu1:00 PM – 3:00 PM (Early afternoon)at ShanghaiInstructed by
INTM-SHU 103-000 (17274)09/05/2022 – 12/16/2022 Tue,Thu3:00 PM – 4:00 PM (Late afternoon)at ShanghaiInstructed by
INTM-SHU 103-000 (17276)09/05/2022 – 12/16/2022 Fri9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed by
INTM-SHU 103-000 (17277)09/05/2022 – 12/16/2022 Fri11:00 AM – 12:00 AM (Morning)at ShanghaiInstructed by
INTM-SHU 103-000 (17278)09/05/2022 – 12/16/2022 Fri1:00 PM – 3:00 PM (Early afternoon)at ShanghaiInstructed by
INTM-SHU 103-000 (17279)09/05/2022 – 12/16/2022 Fri3:00 PM – 4:00 PM (Late afternoon)at ShanghaiInstructed by
Creative Coding (MCC-UE 1585)
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Media, Culture & Communication (Undergraduate)
4 credits – 15 Weeks
Discrete Mathematics (MA-UY 2314)
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Duration: 15 Weeks
Dates: Tue,Thu,Mon,Wed
Mathematics (Undergraduate)
4 credits – 15 Weeks
DP1-Electrical and Computer Engineering (ECE-UY 221)
Elect. Engineering – ECE UGRD (Undergraduate)
3 credits – 15 Weeks
Sections (Fall 2020)
ECE-UY 221-000 (17160)at Brooklyn CampusInstructed by
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 2025)
ECE-UY 4144-000 (4051)
ECE-UY 4144-000 (4052)
ECE-UY 4144-000 (4053)
ECE-UY 4144-000 (4054)
ECE-UY 4144-000 (4055)
ECE-UY 4144-000 (4061)
ECE-UY 4144-000 (4050)09/02/2025 – 12/11/2025 Tue,Thu10:00 AM – 11:00 AM (Morning)at Brooklyn CampusInstructed by Campisi, Matthew
Communication Networks (ECE-UY 3613)
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Elect. Engineering – ECE UGRD (Undergraduate)
3 credits – 15 Weeks
Signals and Systems (ECE-UY 3054)
Credits: 4
Duration: 15 Weeks
Dates: Fri
Duration: 15 Weeks
Dates: Fri
Credits: 4
Duration: 15 Weeks
Dates: Fri,Mon,Wed
Duration: 15 Weeks
Dates: Fri,Mon,Wed
Elect. Engineering – ECE UGRD (Undergraduate)
4 credits – 15 Weeks
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 2025)
ECE-UY 4563-000 (3942)09/02/2025 – 12/11/2025 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by
Software Engineering (CS-UY 4513)
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Computer Science (Undergraduate)
3 credits – 15 Weeks
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,Wed12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by Epstein, Jeff
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 2025)
CS-UY 3233-000 (15783)09/02/2025 – 12/11/2025 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by Garcia, Diego
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 Fri9:00 AM – 10:00 AM (Morning)at Brooklyn CampusInstructed by
CS-UY 1133-000 (17101)01/28/2021 – 05/10/2021 Fri11:00 AM – 12:00 AM (Morning)at Brooklyn CampusInstructed by
CS-UY 1133-000 (17102)01/28/2021 – 05/10/2021 Fri12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by
CS-UY 1133-000 (17103)01/28/2021 – 05/10/2021 Fri2:00 PM – 3:00 PM (Early afternoon)at Brooklyn CampusInstructed by
CS-UY 1133-000 (16932)01/28/2021 – 05/10/2021 Mon,Wed9:00 AM – 10:00 AM (Morning)at Brooklyn CampusInstructed by
Data Structures and Algorithms (CS-UY 1134)
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Computer Science (Undergraduate)
4 credits – 15 Weeks
Introduction to Machine Learning (CS-UY 4563)
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Duration: 15 Weeks
Dates: Tue,Thu
Computer Science (Undergraduate)
3 credits – 15 Weeks