Fundamentals of 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 – 13 Weeks

Sections (Fall 2024)


CSCI-UA 9473-000 (2626)
09/02/2024 – 12/05/2024 Tue
8:00 AM – 11:00 AM (Morning)
at NYU Paris (Global)
Instructed by


CSCI-UA 9473-000 (2627)
09/02/2024 – 12/05/2024 Thu
10:00 AM – 11:00 AM (Morning)
at NYU Paris (Global)
Instructed by

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

Introduction to Computer Programming (Limited Prior Experience) (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 – 15 Weeks

Sections (Fall 2022)


CSCI-UA 3-000 (9289)
09/01/2022 – 12/14/2022 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Arias Hernandez, Mauricio

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

Sections (Spring 2024)


CS-UH 2010-000 (3374)
01/22/2024 – 05/10/2024 Mon,Wed
12:00 AM – 2:00 PM (Early afternoon)
at Abu Dhabi
Instructed by Ali, Karim · 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

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

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

Human Computer Interaction (CS-UY 4543)

Designing a successful interactive experience or software system takes more than technical savvy and vision–it also requires a deep understanding of how to serve people’s needs and desires through the experience of the system, and knowledge about how to weave this understanding into the development process. This course introduces key topics and methods for creating and evaluating human-computer interfaces/digital user experiences. Students apply these practices to a system of their choosing (I encourage application to prototype systems that students are currently working on in other contexts, at any stage of development). The course builds toward a final write-up and presentation in which students detail how they tackled HCI/user experience design and evaluation of their system, and results from their investigations. Some experience creating/participating in the production of interactive experiences/software is recommended.

Computer Science (Undergraduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-UY 4543-000 (16119)
09/03/2024 – 12/12/2024 Wed
5:00 PM – 7:00 PM (Late afternoon)
at Brooklyn Campus
Instructed by Goyal, Nitesh


CS-UY 4543-000 (16120)
at ePoly
Instructed by Lutzky, Raymond

Introduction to Computer Programming (No Prior Experience) (CSCI-UA 2)

Prerequisite: Three years of high school mathematics or equivalent. No prior computer experience assumed. Students with any programming experience should consult with the computer science department before registering. Students who have taken or are taking CSCI-UA 101 will not receive credit for this course. Note: This course is not intended for computer science majors, although it is a prerequisite for students with no previous programming experience who want to continue in CSCI-UA 101. Offered every semester. 4 points. An introduction to the fundamentals of computer programming, which is the foundation of Computer Science. Students design, write and debug computer programs. No knowledge of programming is assumed.

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2022)


CSCI-UA 2-000 (7802)
01/24/2022 – 05/09/2022 Mon,Wed
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Steigman, Amanda


CSCI-UA 2-000 (9106)
01/24/2022 – 05/09/2022 Tue,Thu
8:00 AM – 9:00 AM (Morning)
at Washington Square
Instructed by Liao, Susan


CSCI-UA 2-000 (7803)
01/24/2022 – 05/09/2022 Mon,Wed
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Kapp, Craig · Huh, Jung · Rozin, Yonatan


CSCI-UA 2-000 (7804)
01/24/2022 – 05/09/2022 Tue,Thu
9:00 AM – 10:00 AM (Morning)
at Washington Square
Instructed by Kapp, Craig


CSCI-UA 2-000 (7805)
01/24/2022 – 05/09/2022 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Zeidenberg, Matthew


CSCI-UA 2-000 (8686)
01/24/2022 – 05/09/2022 Tue,Thu
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Lizardo, Julie


CSCI-UA 2-000 (9902)
01/24/2022 – 05/09/2022 Mon,Wed
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Prager, David


CSCI-UA 2-000 (9107)
01/24/2022 – 05/09/2022 Tue,Thu
12:00 AM – 1:00 PM (Early afternoon)
at Washington Square
Instructed by Clayton, Joshua


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


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


CSCI-UA 2-000 (9528)
01/24/2022 – 05/09/2022 Mon,Wed
3:00 PM – 4:00 PM (Late afternoon)
at Washington Square
Instructed by Zeidenberg, Matthew


CSCI-UA 2-000 (9725)
01/24/2022 – 05/09/2022 Tue,Thu
4:00 PM – 6:00 PM (Late afternoon)
at Washington Square
Instructed by Tyson, Na’’im


CSCI-UA 2-000 (20825)
01/24/2022 – 05/09/2022 Tue,Thu
6:00 PM – 7:00 PM (Evening)
at Washington Square
Instructed by Cardona, Michell

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

Machine Learning (CS-GY 6923)

This course is an introduction to the field of machine learning, covering fundamental techniques for classification, regression, dimensionality reduction, clustering, and model selection. A broad range of algorithms will be covered, such as linear and logistic regression, neural networks, deep learning, support vector machines, tree-based methods, expectation maximization, and principal components analysis. The course will include hands-on exercises with real data from different application areas (e.g. text, audio, images). Students will learn to train and validate machine learning models and analyze their performance. | Knowledge of undergraduate level probability and statistics, linear algebra, and multi-variable calculus. Prerequisite: Graduate standing.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


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


CS-GY 6923-000 (16015)
09/03/2024 – 12/12/2024 Fri
2:00 PM – 4:00 PM (Early afternoon)
at Brooklyn Campus
Instructed by Musco, Christopher


CS-GY 6923-000 (16016)
at ePoly
Instructed by Radhakrishnan, Regunathan


CS-GY 6923-000 (16017)
at ePoly
Instructed by

Game Design (CS-GY 6553)

This course is about experimental game design. Design in this context pertains to every aspect of the game, and these can be broadly characterized as the game system, control, visuals, audio, and resulting theme. We will explore these aspects through the creation of a few very focused game prototypes using a variety of contemporary game engines and frameworks, high-level programming languages, and physical materials. This will allow us to obtain a better understanding of what makes games appealing, and how game mechanics, systems, and a variety of player experiences can be designed and iteratively improved by means of rapid prototyping and play-testing. The course combines the technology, design, and philosophy in support of game creation, as well as the real-world implementation and design challenges faced by practicing game designers. Students will learn design guidelines and principles by which games can be conceived, prototyped, and fully developed within a one-semester course, and will create a game from start to finish. The course is a lot of (team)work, but it’s also a lot of fun. Programming skills are helpful, but not a hard requirement. Artistic skills, or a willingness to learn them are a plus. | Prerequisite: (Graduate Standing AND CS-GY 6533) for SoE students OR (OART-UT 1600 and OART-UT 1605) for Game Center MFA students OR instructor permission.

Computer Science (Graduate)
3 credits – 14 Weeks

Sections (Fall 2024)


CS-GY 6553-000 (16114)
09/03/2024 – 12/12/2024 Mon
6:00 PM – 8:00 PM (Evening)
at Brooklyn Campus
Instructed by Togelius, Julian

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

Big Ideas: Artificial Intelligence (CSCI-UA 74)

This course provides a high-level overview of the key ideas and technologies that lead to revolutionary changes in Artificial Intelligence and to the explosive growth in practical applications of AI. Taught by a team of NYU’s top experts in artificial intelligence lead by the Turing award winner Yann LeCun, the course will introduce students to a range of topics in fundamentals of AI and its key sub-areas including machine learning, natural language processing, computer vision as well as its applications in different domains.

Computer Science (Undergraduate)
2 credits – 7 Weeks

Sections (Spring 2021)


CSCI-UA 74-000 (22982)
03/21/2021 – 05/10/2021 Tue
6:00 PM – 8:00 PM (Evening)
at Washington Square
Instructed by Lecun, Yann · Zorin, Denis

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

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

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

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

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

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

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

Artificial Intelligence (CSCI-UA 472)

Prerequisite: V22.0201 and V22.0310. 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 – 15 Weeks

Sections (Spring 2022)


CSCI-UA 472-000 (20848)
01/24/2022 – 05/09/2022 Mon,Wed
11:00 AM – 12:00 AM (Morning)
at Washington Square
Instructed by Davis, Ernest · Deshpande, Sahil

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

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

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

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

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

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

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

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

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

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