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

Courses that count in IMA’s Programming and Data category

Discrete Mathematics (CS-UH 1002)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Tue,Thu

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

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

Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:

Continuation of CS-UH 4001

Computer Science (Undergraduate)
4 credits – 15 Weeks

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

Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:
Credits: 4
Duration: 15 Weeks
Dates:

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

Introduction to Computer Science (CS-UH 1001)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Tue,Thu
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Tue,Thu

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

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 Tue11:00 AM – 1:00 PM (Morning)at Abu DhabiInstructed by


IM-UH 2112-000 (18392)at Abu DhabiInstructed by


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


IM-UH 2112-000 (18550)at Abu DhabiInstructed 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)

Credits: 4
Duration: 14 Weeks
Dates: Tue,Thu
Credits: 4
Duration: 14 Weeks
Dates: Tue,Thu,Thu

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

Design Project (CS-UY 4523)

Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 3
Duration: 15 Weeks
Dates: Tue,Thu

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

Penetration Testing and Vulnerability Analysis (CS-UY 4773)

Credits: 3
Duration: 15 Weeks
Dates: Mon

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

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,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Sprinkle, Brennan


MATH-UA 144-000 (8771)01/24/2022 – 05/09/2022 Fri11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed 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,Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed 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 Fri2:00 PM – 4:00 PM (Early afternoon)at Brooklyn CampusInstructed 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,Thu11:00 AM – 12:00 AM (Morning)at ShanghaiInstructed 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 Tue4:00 PM – 7:00 PM (Late afternoon)at ShanghaiInstructed 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 Mon1:00 PM – 4:00 PM (Early afternoon)at ShanghaiInstructed by Minsky, Margaret