Intro to Game Programming (CS-UY 3113)

Credits: 3
Duration: 15 Weeks
Dates:

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

Design & Analysis of Algorithms (CS-UY 2413)

Credits: 3
Duration: 15 Weeks
Dates: Mon,Wed

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

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

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

Computer Science (Undergraduate)
4 credits – 14 Weeks

Sections (Fall 2023)


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

Intro To Programming & Problem Solving (CS-UY 1114)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri

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

Engineering Problem Solving and Programming (CS-UY 1133)

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

Computer Science (Undergraduate)
3 credits – 15 Weeks

Sections (Spring 2021)


CS-UY 1133-000 (17100)01/28/2021 – 05/10/2021 Fri9:00 AM – 10:00 AM (Morning)at Brooklyn CampusInstructed by


CS-UY 1133-000 (17101)01/28/2021 – 05/10/2021 Fri11:00 AM – 12:00 AM (Morning)at Brooklyn CampusInstructed by


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


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


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

Digital Logic and State Machine Design (CS-UY 2204)

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

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

Computer Architecture and Organization (CS-UY 2214)

Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri
Credits: 4
Duration: 15 Weeks
Dates: Tue,Thu,Fri

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

Introduction to Machine Learning (CS-UY 4563)

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

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

Object Oriented Programming (CS-UY 2124)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri

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

Data Structures and Algorithms (CS-UY 1134)

Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri
Credits: 4
Duration: 15 Weeks
Dates: Mon,Wed,Fri

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

Computer Networking (CS-UY 4793)

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

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

Application Security (CS-UY 4753)

Credits: 3
Duration: 15 Weeks
Dates: Tue

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

Applied Cryptography (CS-UY 4783)

Credits: 3
Duration: 15 Weeks
Dates: Tue

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

Artificial Intelligence (CS-UY 4613)

Credits: 3
Duration: 15 Weeks
Dates: Fri

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

Interactive Computer Graphics (CS-UY 4533)

Credits: 3
Duration: 15 Weeks
Dates: Mon

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

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


CS-UY 3923-000 (7835)09/02/2025 – 12/11/2025 Tue6:00 PM – 9:00 PM (Evening)at Brooklyn CampusInstructed by Cappos, Justin

Intro to Operating Systm (CS-UY 3224)

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

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

Network Security (CS-UY 3933)

Credits: 3
Duration: 15 Weeks
Dates: Thu

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

Introduction to Databases (CS-UY 3083)

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

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

Processing Big Data for Analytics Applications (CSCI-UA 476)

This course introduces platforms, tools, and the architectures that facilitate scalable management and processing of vast quantities of data. We will explore open source tools enabling the efficient acquisition, storage, and processing of Big Data. Students will learn about distributed storage solutions such as the Apache Hadoop Distributed File System (HDFS), which supports storage of Big Data. Students will gain hands-on experience with distributed processing Apache solutions such as Hadoop MapReduce, HBase, Hive, Impala, Pig, core Spark, Spark SQL, and Spark Streaming. Other Apache big data tools covered are Sqoop, Oozie, Zookeeper, Flume, and Kafka

Computer Science (Undergraduate)
4 credits – 15 Weeks

Sections (Spring 2021)


CSCI-UA 476-000 (10054)01/28/2021 – 05/10/2021 Tue,Thu12:00 AM – 1:00 PM (Early afternoon)at Washington SquareInstructed by Malavet, Ann