Duration: 14 Weeks
Dates: Mon
Computer Science (Undergraduate)
4 credits – 14 Weeks
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
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
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
CSCI-UA 3-000 (9289)09/01/2022 – 12/14/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Arias Hernandez, Mauricio
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
CSCI-SHU 378-000 (18506)09/05/2022 – 12/16/2022 Mon,Tue3:00 PM – 4:00 PM (Late afternoon)at ShanghaiInstructed by Guo, Siyao
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
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
CSCI-SHU 11-000 (17503)02/07/2022 – 05/13/2022 Mon8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Simon, Daniel
CSCI-SHU 11-000 (17504)02/07/2022 – 05/13/2022 Tue3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simon, Daniel
CSCI-SHU 11-000 (23632)02/07/2022 – 05/13/2022 Wed8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Simon, Daniel
CSCI-SHU 11-000 (23633)02/07/2022 – 05/13/2022 Wed8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Liu, Yijian
CSCI-SHU 11-000 (23634)02/07/2022 – 05/13/2022 Thu3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Simon, Daniel
CSCI-SHU 11-000 (23767)02/07/2022 – 05/13/2022 Thu3:00 PM – 5:00 PM (Late afternoon)at ShanghaiInstructed by Liu, Yijian
CSCI-SHU 11-000 (26252)02/07/2022 – 05/13/2022 Tue9:00 PM – 10:00 PM (Evening)at ShanghaiInstructed by Spathis, Promethee
CSCI-SHU 11-000 (26253)02/07/2022 – 05/13/2022 Thu9:00 PM – 10:00 PM (Evening)at ShanghaiInstructed by Spathis, Promethee
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
CSCI-SHU 101-000 (17449)02/07/2022 – 05/13/2022 Tue8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Gu, Xianbin
CSCI-SHU 101-000 (17509)02/07/2022 – 05/13/2022 Thu8:00 AM – 10:00 AM (Morning)at ShanghaiInstructed by Yin, Wen
CSCI-SHU 101-000 (17572)02/07/2022 – 05/13/2022 Thu8:00 PM – 9:00 PM (Evening)at ShanghaiInstructed by Yin, Wen
CSCI-SHU 101-000 (17596)02/07/2022 – 05/13/2022 Wed9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed by Gu, Xianbin
CSCI-SHU 101-000 (17751)02/07/2022 – 05/13/2022 Fri9:00 AM – 11:00 AM (Morning)at ShanghaiInstructed by Yin, Wen
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
CS-UH 2216-000 (9051)08/26/2024 – 10/11/2024 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Abu DhabiInstructed by Habash, Nizar
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 14 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
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
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
Computer Science (Undergraduate)
4 credits – 15 Weeks
CSCI-UA 521-000 (7824)at Washington SquareInstructed by Kumar, Romeo · Longi, Leeann
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
Computer Science (Undergraduate)
4 credits – 15 Weeks
CSCI-UA 478-000 (20849)01/24/2022 – 05/09/2022 Mon,Wed9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Ball, Marshall
Computer Science (Undergraduate)
3 credits – 15 Weeks
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
CSCI-UA 2-000 (7802)01/24/2022 – 05/09/2022 Mon,Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Steigman, Amanda
CSCI-UA 2-000 (9106)01/24/2022 – 05/09/2022 Tue,Thu8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Liao, Susan
CSCI-UA 2-000 (7803)01/24/2022 – 05/09/2022 Mon,Wed9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Kapp, Craig · Huh, Jung · Rozin, Yonatan
CSCI-UA 2-000 (7804)01/24/2022 – 05/09/2022 Tue,Thu9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Kapp, Craig
CSCI-UA 2-000 (7805)01/24/2022 – 05/09/2022 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Zeidenberg, Matthew
CSCI-UA 2-000 (8686)01/24/2022 – 05/09/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Lizardo, Julie
CSCI-UA 2-000 (9902)01/24/2022 – 05/09/2022 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Prager, David
CSCI-UA 2-000 (9107)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Clayton, Joshua
CSCI-UA 2-000 (8904)01/24/2022 – 05/09/2022 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Zhao, Emily
CSCI-UA 2-000 (9324)01/24/2022 – 05/09/2022 Tue,Thu2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Lgarch, Saadia
CSCI-UA 2-000 (9528)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Zeidenberg, Matthew
CSCI-UA 2-000 (9725)01/24/2022 – 05/09/2022 Tue,Thu4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Tyson, Na’’im
CSCI-UA 2-000 (20825)01/24/2022 – 05/09/2022 Tue,Thu6:00 PM – 7:00 PM (Evening)at Washington SquareInstructed by Cardona, Michell
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
CSCI-UA 467-000 (20859)01/24/2022 – 05/09/2022 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Versoza, Joseph · Wu, Haodong
CSCI-UA 467-000 (20860)01/24/2022 – 05/09/2022 Tue,Thu9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Versoza, Joseph · Ngo, Yona · Wu, Haodong
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
CSCI-UA 479-000 (21440)09/02/2021 – 12/14/2021 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Versoza, Joseph
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
Computer Science (Graduate)
3 credits – 15 Weeks
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
CSCI-UA 74-000 (22982)03/21/2021 – 05/10/2021 Tue6:00 PM – 8:00 PM (Evening)at Washington SquareInstructed by Lecun, Yann · Zorin, Denis
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
CSCI-UA 381-000 (22980)01/28/2021 – 05/10/2021 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Meyers, Adam
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
CSCI-UA 101-000 (7809)01/24/2022 – 05/09/2022 Mon,Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Nassar, Nader
CSCI-UA 101-000 (7810)01/24/2022 – 05/09/2022 Tue,Thu8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Ataman, Duygu
CSCI-UA 101-000 (9108)01/24/2022 – 05/09/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Bari, Anasse · Davidson, Christopher
CSCI-UA 101-000 (7811)01/24/2022 – 05/09/2022 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Cabo, Candido
CSCI-UA 101-000 (8688)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Kayar, Gizem
CSCI-UA 101-000 (8882)01/24/2022 – 05/09/2022 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Locklear, Hilbert
CSCI-UA 101-000 (9325)01/24/2022 – 05/09/2022 Tue,Thu2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Bloomberg, Amos
CSCI-UA 101-000 (9905)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Locklear, Hilbert
CSCI-UA 101-000 (20827)01/24/2022 – 05/09/2022 Tue,Thu3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Ataman, Duygu
CSCI-UA 101-000 (26001)01/24/2022 – 05/09/2022 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Kayar, Gizem
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
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
CS-UY 3233-000 (15783)09/02/2025 – 12/11/2025 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by Garcia, Diego
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
CS-UY 3254-000 (15277)09/05/2023 – 12/15/2023 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by Epstein, Jeff
Computer Science (Undergraduate)
4 credits – 15 Weeks
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
CS-UY 1133-000 (17100)01/28/2021 – 05/10/2021 Fri9:00 AM – 10:00 AM (Morning)at Brooklyn CampusInstructed by
CS-UY 1133-000 (17101)01/28/2021 – 05/10/2021 Fri11:00 AM – 12:00 AM (Morning)at Brooklyn CampusInstructed by
CS-UY 1133-000 (17102)01/28/2021 – 05/10/2021 Fri12:00 AM – 1:00 PM (Early afternoon)at Brooklyn CampusInstructed by
CS-UY 1133-000 (17103)01/28/2021 – 05/10/2021 Fri2:00 PM – 3:00 PM (Early afternoon)at Brooklyn CampusInstructed by
CS-UY 1133-000 (16932)01/28/2021 – 05/10/2021 Mon,Wed9:00 AM – 10:00 AM (Morning)at Brooklyn CampusInstructed by
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
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
CS-UY 3923-000 (7835)09/02/2025 – 12/11/2025 Tue6:00 PM – 9:00 PM (Evening)at Brooklyn CampusInstructed by Cappos, Justin
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
4 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
Computer Science (Undergraduate)
3 credits – 15 Weeks
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
CSCI-UA 476-000 (10054)01/28/2021 – 05/10/2021 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Malavet, Ann
Covers topics in programming languages at an advanced level. Detailed course descriptions are available when topics are announced.
Computer Science (Undergraduate)
4 credits – 15 Weeks
CSCI-UA 490-000 (19672)01/27/2020 – 05/11/2020 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Yang, Edward
Computer Science (Undergraduate)
4 credits – 15 Weeks
CSCI-UA 330-000 (9020)01/28/2021 – 05/10/2021 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by
CSCI-UA 330-000 (9021)01/28/2021 – 05/10/2021 Fri11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by
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
CSCI-UA 421-000 (7822)01/24/2022 – 05/09/2022 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Overton, Michael
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
CSCI-UA 453-000 (9017)01/24/2022 – 05/09/2022 Tue,Thu9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Khot, Subhash
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
CSCI-UA 3-000 (21167)09/03/2019 – 12/13/2019 Mon,Wed9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Versoza, Joseph
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
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
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
CSCI-UA 472-000 (20848)01/24/2022 – 05/09/2022 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Davis, Ernest · Deshpande, Sahil
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
CSCI-UA 473-000 (9300)01/28/2021 – 05/10/2021 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Wilson, Andrew
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
CSCI-UA 9473-000 (22400)09/01/2022 – 12/08/2022 Tue,Thu1: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
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
CSCI-UA 202-000 (7818)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Walfish, Michael
CSCI-UA 202-000 (9186)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Gottlieb, Allan
CSCI-UA 202-000 (20844)01/24/2022 – 05/09/2022 Tue,Thu3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Gottlieb, Allan
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
CSCI-UA 310-000 (7819)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Regev, Oded
CSCI-UA 310-000 (7820)01/24/2022 – 05/09/2022 Mon12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Song, Min Jae
CSCI-UA 310-000 (7821)01/24/2022 – 05/09/2022 Tue,Thu8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Regev, Oded
CSCI-UA 310-000 (8906)01/24/2022 – 05/09/2022 Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Fenteany, Peter
CSCI-UA 310-000 (9912)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Nassajianmojarrad, Seyed · Mundra, Jaya
CSCI-UA 310-000 (9913)01/24/2022 – 05/09/2022 Tue4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Jin, Yifan
CSCI-UA 310-000 (20845)01/24/2022 – 05/09/2022 Mon12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Karthikeyan, Harish
CSCI-UA 310-000 (20846)01/24/2022 – 05/09/2022 Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Agarwal, Ishan
CSCI-UA 310-000 (10617)01/24/2022 – 05/09/2022 Tue4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Zhao, Xinyi
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
CSCI-UA 201-000 (7816)01/24/2022 – 05/09/2022 Mon,Wed9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Moody, Douglas L
CSCI-UA 201-000 (7817)01/24/2022 – 05/09/2022 Tue9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by R D, Harshitha
CSCI-UA 201-000 (9059)01/24/2022 – 05/09/2022 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Goldberg, Benjamin
CSCI-UA 201-000 (9060)01/24/2022 – 05/09/2022 Thu4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Viswanathan, Adithya
CSCI-UA 201-000 (9188)01/24/2022 – 05/09/2022 Tue,Thu9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Aljabbouli, Hasan
CSCI-UA 201-000 (9189)01/24/2022 – 05/09/2022 Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Gurrala, Jaya Amit Sai
CSCI-UA 201-000 (20841)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Franchitti, Jean-Claude
CSCI-UA 201-000 (20842)01/24/2022 – 05/09/2022 Tue4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Gurrala, Jaya Amit Sai
CSCI-UA 201-000 (9910)01/24/2022 – 05/09/2022 Tue9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Iyer, Shraddha
CSCI-UA 201-000 (9384)01/24/2022 – 05/09/2022 Thu4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Zare, Samvid Avinash
CSCI-UA 201-000 (9911)01/24/2022 – 05/09/2022 Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Pabba, Rishika
CSCI-UA 201-000 (20843)01/24/2022 – 05/09/2022 Tue4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by He, Yang
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
CSCI-UA 101-000 (7675)01/27/2020 – 05/11/2020 Tue,Thu11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by McIntosh, Suzanne
CSCI-UA 101-000 (7676)01/27/2020 – 05/11/2020 Tue,Thu2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Schneider, Teseo
CSCI-UA 101-000 (9503)01/27/2020 – 05/11/2020 Tue,Thu9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by
CSCI-UA 101-000 (7677)01/27/2020 – 05/11/2020 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Locklear, Hilbert
CSCI-UA 101-000 (8814)01/27/2020 – 05/11/2020 Mon,Wed12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Cabo, Candido
CSCI-UA 101-000 (9071)01/27/2020 – 05/11/2020 Mon,Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Bloomberg, Amos
CSCI-UA 101-000 (9859)01/27/2020 – 05/11/2020 Mon,Wed11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Berger, Marsha
CSCI-UA 101-000 (10064)01/27/2020 – 05/11/2020 Mon,Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by Nassar, Nader
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
CSCI-UA 102-000 (20828)01/24/2022 – 05/09/2022 Mon,Wed3:00 PM – 4:00 PM (Late afternoon)at Washington SquareInstructed by Korth, Evan · Vataksi, Denisa
CSCI-UA 102-000 (20833)01/24/2022 – 05/09/2022 Tue4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Vieira, Diogo
CSCI-UA 102-000 (20830)01/24/2022 – 05/09/2022 Tue,Thu2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Bari, Anasse · Rao, Sindhuja
CSCI-UA 102-000 (20834)01/24/2022 – 05/09/2022 Wed4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Mavi, Vaibhav
CSCI-UA 102-000 (20831)01/24/2022 – 05/09/2022 Tue,Thu9:00 AM – 10:00 AM (Morning)at Washington SquareInstructed by Klukowska, Joanna · Khatri, Riju
CSCI-UA 102-000 (20832)01/24/2022 – 05/09/2022 Mon11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Ilamathy, Swarna Swapna
CSCI-UA 102-000 (20829)01/24/2022 – 05/09/2022 Tue4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Bharti, Sweta
CSCI-UA 102-000 (20835)01/24/2022 – 05/09/2022 Wed4:00 PM – 6:00 PM (Late afternoon)at Washington SquareInstructed by Shah, Vivek
CSCI-UA 102-000 (20836)01/24/2022 – 05/09/2022 Mon11:00 AM – 12:00 AM (Morning)at Washington SquareInstructed by Muni, Sumanth Reddy
CSCI-UA 102-000 (20837)01/24/2022 – 05/09/2022 Mon8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by DiGiovanni, Lauren
CSCI-UA 102-000 (20838)01/24/2022 – 05/09/2022 Wed8:00 AM – 9:00 AM (Morning)at Washington SquareInstructed by R D, Harshitha
CSCI-UA 102-000 (20839)01/24/2022 – 05/09/2022 Mon2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Ilamathy, Swarna Swapna
CSCI-UA 102-000 (20840)01/24/2022 – 05/09/2022 Wed2:00 PM – 3:00 PM (Early afternoon)at Washington SquareInstructed by Cappadona, Joseph
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
CSCI-UA 61-000 (8622)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Kapp, Craig
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
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
CSCI-UA 60-000 (7808)01/24/2022 – 05/09/2022 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Bloomberg, Amos
For students joining IMA in Fall 2022 and beyond, our new program structure affects the categorization of courses on this site.
Classes listed in the “IMA Major Electives” categories refer to the old IMA program structure. If you’re under the new IMA program structure, these courses count as general IMA Electives for you. Your program structure is noted on your academic advising spreadsheet.
Students on the new program structure can search the Interchange for courses. If you’re looking for “IMA Major Distribution” courses, you'll find them listed here: