Computer Science

450 Computer Science, MC 0401
212-853-8400
cs.columbia.edu

The function and influence of the computer is pervasive in contemporary society. Today’s computers process the daily transactions of international banks, the data from communications satellites, the images in video games, and even the fuel and ignition systems of automobiles.

Computer software is as commonplace in education and recreation as it is in science and business. There is virtually no field or profession that does not rely upon computer science for the problem-solving skills and the production expertise required in the efficient processing of information. Computer scientists, therefore, function in a wide variety of roles, ranging from pure theory and design to programming and marketing.

The computer science curriculum at Columbia places strong emphasis both on theoretical computer science and mathematics and on applied aspects of computer technology. A broad range of upper-level courses is available in such areas as artificial intelligence, machine learning, computer graphics, computer vision, robotics, computational complexity and the analysis of algorithms, combinatorial methods, computer architecture, computer-aided digital design, computer communications, databases, mathematical models for computation, optimization, and software systems.

Laboratory Facilities

The department has a dedicated computing work space for students with dedicated workstations as well as audiovisual equipment for group meetings, specialized office hours, and small seminars. The department also has its own 120-seat lecture hall featuring flexible seating, a dedicated podium computer, and presentation equipment, as well as video conferencing capabilities.

The department maintains its own dedicated Data Center for computational research, storage, and administrative systems. It houses several computer clusters for research and student use and several hundred research systems, all supported by more than a petabyte of storage. Services offered to the department utilize virtual machines (VMWare supporting more than 500 instances) and containerization (100 Docker containers).

In addition, the department has numerous individual laboratories with specialized hardware dedicated to particular research areas, including, but not limited to, robotics, computer vision, computer networks, computer security, computer architecture, speech processing, machine learning, and natural language processing.
 

Chair

Luca Carloni
466 Computer Science
212-853-8425

Vice Chair

Itsik Pe'er
505 Computer Science

Director of Undergraduate Studies

Paul Blaer
703 CEPSR
212-853-8441

Director of Finance and Administration

Ruth E. Torres
450 Computer Science
212-853-8401

Director of Student and Academic Services

Carol Begg
457 Computer Science
212-853-8414

Professors

Peter N. Belhumeur
Steven M. Bellovin
Luca Carloni
Xi Chen
Steven K. Feiner
Luis Gravano
Julia B. Hirschberg
Gail E. Kaiser
John R. Kender
Tal Malkin
Kathleen R. McKeown
Vishal Misra
Shree Kumar Nayar
Jason Nieh
Christos Papadimitriou
Itsik Pe'er
Toniann Pitassi
Kenneth A. Ross
Tim Roughgarden
Daniel S. Rubenstein
Henning G. Schulzrinne
Rocco A. Servedio
Simha Sethumadhavan
Salvatore J. Stolfo
Bjarne Stroustrup
Vladimir Vapnik
Jeannette Wing
Junfeng Yang
Mihalis Yannakakis
Richard Zemei

Associate Professors

Alexandr Andoni
Elias Bareinboim
Augustin Chaintreau
Stephen A. Edwards
Roxana Geambasu
Daniel Hsu
Suman Jana
Martha Allen Kim
Baishakhi Ray
Carl Vondrick
Eugene Wu
Zhou Yu
Changxi Zheng
Xia Zhou

Assistant Professors

Josh Alman
Lydia Chilton
Ronghui Gu
Kostis Kaffes
David Knowles
Brian Smith
Henry Yuen

Senior Lecturers in Discipline

Daniel Bauer
Paul Blaer
Brian Borowski
Adam Cannon
Eleni Drinea
Jae Woo Lee
Ansaf Salleb-Aouissi
Nakul Verma

Lecturers in Discipline

Tony Dear

Joint

David Blei
Andrew Blumberg
Shih-Fu Chang
Feniosky Peña-Mora
Clifford Stein

Affiliates

Anish Agarwal
Shipra Agrawal
Mohammed AlQuraishi
Elham Azizi
Emily Black
Paolo Blikstein
Asaf Cidon
Matei Ciocarlie
Rachel Cummings
Bianca Dumitrascu
Noemie Elhadad
Javad Ghaderi
Gamze Gursoy
Xiaofan Jiang
Shalmali Joshi
Ethan Katz-Bassett
Hod Lipson
Liam Paninski
Brian Plancher
Mark Santolucito
Kaveri Thakoor
Corey Toler-Franklin
Barbara Tversky
Venkat Venkatasubramanian
Rebecca Wright
Gil Zussman

Senior Research Scientists

Gaston Ormazabal
Moti Yung

Emeritus

Alfred V. Aho
Peter K. Allen
Edward G. Coffman Jr.
Zvi Galil
Jonathan L. Gross
Steven M. Nowick
Henryk Wozniakowski
Yechiam Yemini

ENGI E1006 INTRO TO COMP FOR ENG/APP SCI. 3.00 points.

An interdisciplinary course in computing intended for first year SEAS students. Introduces computational thinking, algorithmic problem solving and Python programming with applications in science and engineering. Assumes no prior programming background

Fall 2024: ENGI E1006
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ENGI 1006 001/11994 M W 2:40pm - 3:55pm
301 Uris Hall
Daniel Bauer 3.00 218/266
Spring 2025: ENGI E1006
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ENGI 1006 001/12014 T Th 5:40pm - 6:55pm
Room TBA
Timothy Paine 3.00 0/215

ECBM E4060 INTRO-GENOMIC INFO SCI & TECH. 3.00 points.

Lect: 3.

Introduction to computational biology with emphasis on genomic data science tools and methodologies for analyzing data, such as genomic sequences, gene expression measurements and the presence of mutations. Applications of machine learning and exploratory data analysis for predicting drug response and disease progression. Latest technologies related to genomic information, such as single-cell sequencing and CRISPR, and the contributions of genomic data science to the drug development process

Fall 2024: ECBM E4060
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ECBM 4060 001/11298 M 7:00pm - 9:30pm
602 Hamilton Hall
Tai-Hsien Ou Yang 3.00 40/80

ORCS E4200 Data-driven Decision Modeling. 3.00 points.

Introduction to modeling, estimating, and solving decision-making problems in the context of artificial intelligence and analytics. Potential topics include choice models, quantity models, online learning using multi-armed bandits, dynamic decision modeling, dynamic games, and Bayesian learning theory. Practice both theory and applications using Python programming

Fall 2024: ORCS E4200
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ORCS 4200 001/11995 M W 2:40pm - 3:55pm
303 Seeley W. Mudd Building
Tony Dear 3.00 46/70

ORCS E4529 Reinforcement Learning. 3.00 points.

Markov Decision Processes (MDP) and Reinforcement Learning (RL) problems. Reinforcement Learning algorithms including Q-learning, policy gradient methods, actor-critic method. Reinforcement learning while doing exploration-exploitation dilemma, multi-armed bandit problem. Monte Carlo Tree Search methods, Distributional, Multi-agent, and Causal Reinforcement Learning

Fall 2024: ORCS E4529
Course Number Section/Call Number Times/Location Instructor Points Enrollment
ORCS 4529 001/14542 M W 1:10pm - 2:25pm
330 Uris Hall
Shipra Agrawal 3.00 60/60

CBMF W4761 COMPUTATIONAL GENOMICS. 3.00 points.

Lect: 3.

Prerequisites: Working knowledge of at least one programming language, and some background in probability and statistics.
Computational techniques for analyzing genomic data including DNA, RNA, protein and gene expression data. Basic concepts in molecular biology relevant to these analyses. Emphasis on techniques from artificial intelligence and machine learning. String-matching algorithms, dynamic programming, hidden Markov models, expectation-maximization, neural networks, clustering algorithms, support vector machines. Students with life sciences backgrounds who satisfy the prerequisites are encouraged to enroll

Spring 2025: CBMF W4761
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CBMF 4761 001/11947 T Th 5:40pm - 6:55pm
Room TBA
Itsik Pe'er 3.00 0/50

STCS GR6701 Probabilistic Models and Machine Learning. 3.00 points.

Probabilistic Models and Machine Learning is a PhD-level course about how to design and use probability models. We study their mathematical properties, algorithms for computing with them, and applications to real problems. We study both the foundations and modern methods in this field. Our goals are to understand probabilistic modeling, to begin research that makes contributions to this field, and to develop good practices for building and applying probabilistic models

Fall 2024: STCS GR6701
Course Number Section/Call Number Times/Location Instructor Points Enrollment
STCS 6701 001/15258 M W 2:40pm - 3:55pm
702 Hamilton Hall
Genevera Allen 3.00 29/100

Course Descriptions

Computer Science (COMS)

In the listing below, the designator COMS (Computer Science) is understood to precede all course numbers for which no designator is indicated. Note: Students may receive credit for only one of the following two courses: COMS W1004 Introduction to Computer Science and Programming in Java and COMS W1005 Introduction to Computer Science and Programming in MATLAB. Likewise, students may receive credit for only one of the following three courses: COMS W3134 Data Structures in Java, COMS W3136 ESSENTIAL DATA STRUCTURES, or COMS W3137 HONORS DATA STRUCTURES & ALGOL.

CBMF E6772 Advanced machine learning. 0 points.

COMS W1001 Introduction to Information Science. 3 points.

Lect: 3.

Basic introduction to concepts and skills in Information Sciences: human-computer interfaces, representing information digitally, organizing and searching information on the internet, principles of algorithmic problem solving, introduction to database concepts, and introduction to programming in Python.

COMS W1002 COMPUTING IN CONTEXT. 4.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Introduction to elementary computing concepts and Python programming with domain-specific applications. Shared CS concepts and Python programming lectures with track-specific sections. Track themes will vary but may include computing for the social sciences, computing for economics and finance, digital humanities, and more. Intended for nonmajors. Students may only receive credit for one of ENGI E1006 or COMS W1002

Fall 2024: COMS W1002
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1002 001/11915 T Th 1:10pm - 2:25pm
417 International Affairs Bldg
Adam Cannon 4.00 52/160
COMS 1002 002/11916 T Th 1:10pm - 2:25pm
330 Uris Hall
Adam Cannon, Eugenia Antic 4.00 15/60
COMS 1002 003/11917 T Th 2:40pm - 3:55pm
417 International Affairs Bldg
Adam Cannon 4.00 131/300
COMS 1002 004/11918 T Th 2:40pm - 3:55pm
415 Schapiro Cepser
Philippe Chlenski, Adam Cannon 4.00 29/40

COMS W1003 INTRO-COMPUT SCI/PROGRAM IN C. 3.00 points.

COMS W1004 Introduction to Computer Science and Programming in Java. 3 points.

Lect: 3.

A general introduction to computer science for science and engineering students interested in majoring in computer science or engineering. Covers fundamental concepts of computer science, algorithmic problem-solving capabilities, and introductory Java programming skills. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: 1004 or 1005.

Fall 2024: COMS W1004
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/11919 M W 2:40pm - 3:55pm
309 Havemeyer Hall
Paul Blaer 3 253/320
COMS 1004 002/11920 M W 5:40pm - 6:55pm
417 International Affairs Bldg
Paul Blaer 3 173/320
Spring 2025: COMS W1004
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/11948 T Th 11:40am - 12:55pm
Room TBA
Adam Cannon 3 0/398
COMS 1004 002/11949 T Th 1:10pm - 2:25pm
Room TBA
Adam Cannon 3 0/398

COMS W1005 Introduction to Computer Science and Programming in MATLAB. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

A general introduction to computer science concepts, algorithmic problem-solving capabilities, and programming skills in MATLAB. Assumes no prior programming background. Columbia University students may receive credit for only one of the following two courses: W1004 or W1005.

COMS W1011 INTERMED COMPUTER PROGRAMMING. 3.00 points.

COMS W1012 COMPUTING IN CONTEXT REC. 0.00 points.

Fall 2024: COMS W1012
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1012 001/11921 Th 7:10pm - 8:00pm
227 Seeley W. Mudd Building
Adam Cannon 0.00 33/40
COMS 1012 002/11922 Th 7:10pm - 8:00pm
644 Seeley W. Mudd Building
Adam Cannon 0.00 32/40
COMS 1012 003/11923 F 10:10am - 11:00am
307 Uris Hall
Adam Cannon 0.00 40/40
COMS 1012 004/11924 F 2:00pm - 2:50pm
307 Uris Hall
Adam Cannon 0.00 27/40
COMS 1012 005/11925 Th 7:10pm - 8:00pm
415 Schapiro Cepser
Adam Cannon 0.00 14/40
COMS 1012 006/11926 Th 7:10pm - 8:00pm
825 Seeley W. Mudd Building
Adam Cannon 0.00 11/40
COMS 1012 007/11927 F 9:00am - 9:50am
307 Uris Hall
Adam Cannon 0.00 27/40
COMS 1012 008/11928 Th 7:10pm - 8:00pm
401 Chandler
Adam Cannon 0.00 9/30
COMS 1012 009/11929 F 10:10am - 11:00am
608 Schermerhorn Hall
Adam Cannon 0.00 7/30
COMS 1012 010/11930 Th 7:10pm - 8:00pm
233 Seeley W. Mudd Building
Adam Cannon 0.00 20/30
COMS 1012 011/11931 F 11:00am - 11:50am
307 Uris Hall
Adam Cannon 0.00 10/30

COMS W1103 HONORS INTRO COMPUTER SCIENCE. 3.00 points.

COMS W1404 EMERGING SCHOLARS PROG SEMINAR. 1.00 point.

Pass/Fail only.

Prerequisites: the instructor's permission. Corequisites: COMS W1002 or COMS W1004 or COMS W1007
Corequisites: COMS W1004,COMS W1007,COMS W1002
Peer-led weekly seminar intended for first and second year undergraduates considering a major in Computer Science. Pass/fail only. May not be used towards satisfying the major or SEAS credit requirements

Fall 2024: COMS W1404
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/11996 F 8:40am - 9:55am
253 Engineering Terrace
Adam Cannon 1.00 7/16
COMS 1404 002/11997 F 10:10am - 11:25am
253 Engineering Terrace
Adam Cannon 1.00 8/16
COMS 1404 003/11998 F 11:40am - 12:55pm
253 Engineering Terrace
Adam Cannon 1.00 5/16
COMS 1404 004/11999 F 1:10pm - 2:25pm
253 Engineering Terrace
Adam Cannon 1.00 5/16
COMS 1404 005/12000 F 2:40pm - 3:55pm
253 Engineering Terrace
Adam Cannon 1.00 5/16
COMS 1404 006/12001 F 4:10pm - 5:25pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 2/16
COMS 1404 007/12002 F 9:30am - 10:45am
337 Seeley W. Mudd Building
Adam Cannon 1.00 8/16
COMS 1404 008/12003 F 11:00am - 12:15pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 009/12004 F 12:30pm - 1:45pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 3/16
COMS 1404 010/12005 F 2:00pm - 3:15pm
337 Seeley W. Mudd Building
Adam Cannon 1.00 9/16
Spring 2025: COMS W1404
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/11950 F 8:40am - 9:55am
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 002/11951 F 10:10am - 11:25am
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 003/11952 F 11:40am - 12:55pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 004/11953 F 1:10pm - 2:25pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 005/11954 F 2:40pm - 3:55pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 006/11955 F 4:10pm - 5:25pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 007/11956 F 9:30am - 10:45am
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 008/11957 F 11:00am - 12:15pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 009/11958 F 12:30pm - 1:45pm
Room TBA
Adam Cannon 1.00 0/16
COMS 1404 010/11959 F 2:00pm - 3:15pm
Room TBA
Adam Cannon 1.00 0/16

COMS W2132 Intermediate Computing in Python. 4.00 points.

Essential data structures and algorithms in Python with practical software development skills, applications in a variety of areas including biology, natural language processing, data science and others

COMS W2702 AI in Context. 3.00 points.

An interdisciplinary introduction to the history, development and modern application of artificial intelligence in a variety of contexts. Context subjects and teaching staff will vary by semester

Fall 2024: COMS W2702
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 2702 001/20900 M W 10:10am - 11:25am
833 Seeley W. Mudd Building
Seth Cluett, Dennis Tenen, Adam Cannon, Katja Vogt, Vishal Misra, Chris Wiggins 3.00 73/120

COMS W3011 INTERMED COMPUTER PROGRAMMING. 3.00 points.

COMS W3101 PROGRAMMING LANGUAGES. 1.00 point.

Lect: 1.

Prerequisites: Fluency in at least one programming language.
Introduction to a programming language. Each section is devoted to a specific language. Intended only for those who are already fluent in at least one programming language. Sections may meet for one hour per week for the whole term, for three hours per week for the first third of the term, or for two hours per week for the first six weeks. May be repeated for credit if different languages are involved

COMS W3102 DEVELOPMENT TECHNOLOGY. 1.00-2.00 points.

Lect: 2. Lab: 0-2.

Prerequisites: Fluency in at least one programming language.
Introduction to software development tools and environments. Each section devoted to a specific tool or environment. One-point sections meet for two hours each week for half a semester, and two point sections include an additional two-hour lab

COMS W3107 Clean Object-Oriented Design. 3.00 points.

Prerequisites: Intro to Computer Science/Programming in Java (COMS W1004) or instructor’s permission. May not take for credit if already received credit for COMS W1007.

Prerequisites: see notes re: points
A course in designing, documenting, coding, and testing robust computer software, according to object-oriented design patterns and clean coding practices. Taught in Java.Object-oriented design principles include: use cases; CRC; UML; javadoc; patterns (adapter, builder, command, composite, decorator, facade, factory, iterator, lazy evaluation, observer, singleton, strategy, template, visitor); design by contract; loop invariants; interfaces and inheritance hierarchies; anonymous classes and null objects; graphical widgets; events and listeners; Java's Object class; generic types; reflection; timers, threads, and locks

COMS W3123 ASSEMBLY LANG AND COMPUT LOGIC. 3.00 points.

COMS W3132 Intermediate Computing in Python. 4.00 points.

Essential data structures and algorithms in Python with practical software development skills, applications in a variety of areas including biology, natural language processing, data science and others

COMS W3134 Data Structures in Java. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W1004) or knowledge of Java.

Data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Rudiments of the analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134, COMS W3136, COMS W3137.

Fall 2024: COMS W3134
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/11932 M W 4:10pm - 5:25pm
301 Uris Hall
Brian Borowski 3 212/250
COMS 3134 002/11933 M W 5:40pm - 6:55pm
301 Uris Hall
Brian Borowski 3 122/250
Spring 2025: COMS W3134
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/11962 M W 2:40pm - 3:55pm
Room TBA
Paul Blaer 3 0/320
COMS 3134 002/11963 M W 5:40pm - 6:55pm
Room TBA
Paul Blaer 3 0/164

COMS W3136 ESSENTIAL DATA STRUCTURES. 4.00 points.

Prerequisites: (COMS W1004) or (COMS W1005) or (COMS W1007) or (ENGI E1006)
A second programming course intended for nonmajors with at least one semester of introductory programming experience. Basic elements of programming in C and C , arraybased data structures, heaps, linked lists, C programming in UNIX environment, object-oriented programming in C , trees, graphs, generic programming, hash tables. Due to significant overlap, students may only receive credit for either COMS W3134, W3136, or W3137

Fall 2024: COMS W3136
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3136 001/15424 T Th 5:40pm - 6:55pm
141 Uris Hall
Timothy Paine 4.00 30/65

COMS W3137 HONORS DATA STRUCTURES & ALGOL. 4.00 points.

Prerequisites: (COMS W1004) or (COMS W1007)
Corequisites: COMS W3203
An honors introduction to data types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Design and analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134, W3136, or W3137

COMS W3157 ADVANCED PROGRAMMING. 4.00 points.

Lect: 4.

Prerequisites: (COMS W3134) or (COMS W3137)
C programming language and Unix systems programming. Also covers Git, Make, TCP/IP networking basics, C fundamentals

Fall 2024: COMS W3157
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/11934 T Th 4:10pm - 5:25pm
417 International Affairs Bldg
Jae Lee 4.00 314/398
COMS 3157 002/21191 F 12:10pm - 2:00pm
326 Uris Hall
Jae Lee 4.00 28/50
Spring 2025: COMS W3157
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/11964 M W 4:10pm - 5:25pm
Room TBA
Brian Borowski 4.00 0/175
COMS 3157 002/11965 M W 5:40pm - 6:55pm
Room TBA
Brian Borowski 4.00 0/175

COMS W3202 FINITE MATHEMATICS. 3.00 points.

COMS W3203 DISCRETE MATHEMATICS. 4.00 points.

Lect: 3.

Prerequisites: Any introductory course in computer programming.
Logic and formal proofs, sequences and summation, mathematical induction, binomial coefficients, elements of finite probability, recurrence relations, equivalence relations and partial orderings, and topics in graph theory (including isomorphism, traversability, planarity, and colorings)

Fall 2024: COMS W3203
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/11935 M W 4:10pm - 5:25pm
301 Pupin Laboratories
Tony Dear 4.00 198/270
Spring 2025: COMS W3203
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/13386 M W 2:40pm - 3:55pm
Room TBA
Tony Dear 4.00 0/164

COMS W3210 Scientific Computation. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: two terms of calculus.

Introduction to computation on digital computers. Design and analysis of numerical algorithms. Numerical solution of equations, integration, recurrences, chaos, differential equations. Introduction to Monte Carlo methods. Properties of floating point arithmetic. Applications to weather prediction, computational finance, computational science, and computational engineering.

COMS W3251 COMPUTATIONAL LINEAR ALGEBRA. 4.00 points.

COMS W3261 COMPUTER SCIENCE THEORY. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3203)
Corequisites: COMS W3134,COMS W3136,COMS W3137
Regular languages: deterministic and non-deterministic finite automata, regular expressions. Context-free languages: context-free grammars, push-down automata. Turing machines, the Chomsky hierarchy, and the Church-Turing thesis. Introduction to Complexity Theory and NP-Completeness

Fall 2024: COMS W3261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/11936 T Th 8:40am - 9:55am
451 Computer Science Bldg
Tal Malkin 3.00 109/110
COMS 3261 002/11937 T Th 10:10am - 11:25am
451 Computer Science Bldg
Tal Malkin 3.00 100/110
Spring 2025: COMS W3261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/11966 T Th 1:10pm - 2:25pm
Room TBA
Josh Alman 3.00 0/120
COMS 3261 002/11967 T Th 2:40pm - 3:55pm
Room TBA
Josh Alman 3.00 0/120

COMS W3410 COMPUTERS AND SOCIETY. 3.00 points.

Lect: 3.

Broader impact of computers. Social networks and privacy. Employment, intellectual property, and the media. Science and engineering ethics. Suitable for nonmajors

Fall 2024: COMS W3410
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3410 001/11938 W 4:10pm - 6:40pm
303 Uris Hall
Ronald Baecker 3.00 56/67

COMS E3899 Research Training. 0.00 points.

Research training course. Recommended in preparation for laboratory related research

COMS W3902 UNDERGRADUATE THESIS. 0.00-6.00 points.

Prerequisites: Agreement by a faculty member to serve as thesis adviser.
An independent theoretical or experimental investigation by an undergraduate major of an appropriate problem in computer science carried out under the supervision of a faculty member. A formal written report is mandatory and an oral presentation may also be required. May be taken over more than one term, in which case the grade is deferred until all 6 points have been completed. Consult the department for section assignment

COMS W3995 Special Topics in Computer Science. 3 points.

Lect: 3.

Prerequisites: the instructor's permission.

Consult the department for section assignment. Special topics arranged as the need and availability arise. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit.

COMS W3998 UNDERGRAD PROJECTS IN COMPUTER SCIENCE. 1.00-3.00 points.

Prerequisites: Approval by a faculty member who agrees to supervise the work.
Independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit. Consult the department for section assignment

COMS E3999 Fieldwork. 1 point.

Prerequisites: Obtained internship and approval from faculty advisor.

May be repeated for credit, but no more than 3 total points may be used toward the 128-credit degree requirement. Only for SEAS computer science undergraduate students who include relevant off-campus work experience as part of their approved program of study. Final report and letter of evaluation required. May not be used as a technical or non-technical elective. May not be taken for pass/fail credit or audited.

COMS W3999 FIELDWORK. 1.00-2.00 points.

May be repeated for credit, but no more than 3 total points may be used toward the 128-credit degree requirement. Only for SEAS computer science undergraduate students who include relevant off campus work experience as part of their approved program of study. Final report and letter of evaluation may be required. May not be used as a technical or nontechnical elective or as a GTE (general technical elective). May not be taken for pass/fail credit or audited

COMS W4111 INTRODUCTION TO DATABASES. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement
Prerequisites: COMS W3134, COMS W3136, or COMS W3137; or the instructor's permission.

Prerequisites: (COMS W3134) or (COMS W3136) or (COMS W3137) or
The fundamentals of database design and application development using databases: entity-relationship modeling, logical design of relational databases, relational data definition and manipulation languages, SQL, XML, query processing, physical database tuning, transaction processing, security. Programming projects are required

Fall 2024: COMS W4111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/11939 T Th 10:10am - 11:25am
207 Mathematics Building
Luis Gravano 3.00 157/150
COMS 4111 002/11940 T Th 8:40am - 9:55am
301 Uris Hall
Eugene Wu 3.00 93/175
COMS 4111 003/11941 F 10:10am - 12:40pm
309 Havemeyer Hall
Donald Ferguson 3.00 266/250
COMS 4111 V03/18703  
Donald Ferguson 3.00 18/99
Spring 2025: COMS W4111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/11968 M W 2:40pm - 3:55pm
Room TBA
Kenneth Ross 3.00 0/250
COMS 4111 002/11969 F 10:10am - 12:40pm
Room TBA
Donald Ferguson 3.00 0/250

COMS W4112 DATABASE SYSTEM IMPLEMENTATION. 3.00 points.

Lect: 2.5.

Prerequisites: (COMS W4111) and fluency in Java or C++. CSEE W3827 is recommended.
The principles and practice of building large-scale database management systems. Storage methods and indexing, query processing and optimization, materialized views, transaction processing and recovery, object-relational databases, parallel and distributed databases, performance considerations. Programming projects are required

COMS W4113 FUND-LARGE-SCALE DIST SYSTEMS. 3.00 points.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and (COMS W3157 or COMS W4118 or CSEE W4119)
Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and (COMS W3157 or COMS W4118 or CSEE W4119) Design and implementation of large-scale distributed and cloud systems. Teaches abstractions, design and implementation techniques that enable the building of fast, scalable, fault-tolerant distributed systems. Topics include distributed communication models (e.g. sockets, remote procedure calls, distributed shared memory), distributed synchronization (clock synchronization, logical clocks, distributed mutex), distributed file systems, replication, consistency models, fault tolerance, distributed transactions, agreement and commitment, Paxos-based consensus, MapReduce infrastructures, scalable distributed databases. Combines concepts and algorithms with descriptions of real-world implementations at Google, Facebook, Yahoo, Microsoft, LinkedIn, etc

Fall 2024: COMS W4113
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4113 001/11942 F 10:10am - 12:40pm
451 Computer Science Bldg
Roxana Geambasu 3.00 94/110
COMS 4113 V01/17521  
Roxana Geambasu 3.00 8/99

COMS E4115 PROGRAMMING LANG & TRANSL. 3.00 points.

COMS W4115 PROGRAMMING LANG & TRANSLATORS. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and (COMS W3261) and (CSEE W3827) or equivalent, or the instructor's permission.
Modern programming languages and compiler design. Imperative, object-oriented, declarative, functional, and scripting languages. Language syntax, control structures, data types, procedures and parameters, binding, scope, run-time organization, and exception handling. Implementation of language translation tools including compilers and interpreters. Lexical, syntactic and semantic analysis; code generation; introduction to code optimization. Teams implement a language and its compiler

Fall 2024: COMS W4115
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/11943 T Th 11:40am - 12:55pm
451 Computer Science Bldg
Baishakhi Ray 3.00 77/100
COMS 4115 V01/18705  
Baishakhi Ray 3.00 5/99
Spring 2025: COMS W4115
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/11970 M W 4:10pm - 5:25pm
Room TBA
Ronghui Gu 3.00 0/120

COMS W4118 OPERATING SYSTEMS I. 3.00 points.

Lect: 3.

Prerequisites: (CSEE W3827) and knowledge of C and programming tools as covered in COMS W3136, W3157, or W3101, or the instructor's permission.
Design and implementation of operating systems. Topics include process management, process synchronization and interprocess communication, memory management, virtual memory, interrupt handling, processor scheduling, device management, I/O, and file systems. Case study of the UNIX operating system. A programming project is required

Fall 2024: COMS W4118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/11944 T Th 4:10pm - 5:25pm
501 Northwest Corner
Jason Nieh 3.00 79/160
COMS 4118 V01/17522  
Jason Nieh 3.00 7/99
Spring 2025: COMS W4118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/11971 T Th 4:10pm - 5:25pm
Room TBA
Kostis Kaffes 3.00 0/160

COMS W4119 COMPUTER NETWORKS. 3.00 points.

Introduction to computer networks and the technical foundations of the internet, including applications, protocols, local area networks, algorithms for routing and congestion control, security, elementary performance evaluation. Several written and programming assignments required

COMS W4121 COMPUTER SYSTEMS FOR DATA SCIENCE. 3.00 points.

Prerequisites: background in Computer System Organization and good working knowledge of C/C++
Corequisites: CSOR W4246,STAT GU4203
An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers

COMS W4137 From Algorithmic Thinking to Development. 3.00 points.

Algorithmic problem-solving and coding skills needed to devise solutions to interview questions for software engineering positions. Solutions are implemented in Python, Java, C, and C . Approaches include brute-force, hashing, sorting, transform-and-conquer, greedy, and dynamic programming. Focus on experimentation and team work

COMS W4152 Engineering Software-as-a-Service. 3.00 points.

Modern software engineering concepts and practices including topics such as Software-as-a-Service, Service-oriented Architecture, Agile Development, Behavior-driven Development, Ruby on Rails, and Dev/ops

COMS W4153 Cloud Computing. 3.00 points.

Software engineering skills necessary for developing cloud computing and software-as-a-service applications, covering topics such as service-oriented architectures, message-driven applications, and platform integration. Includes theoretical study, practical application, and collaborative project work

Fall 2024: COMS W4153
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4153 001/14010 F 1:10pm - 3:40pm
309 Havemeyer Hall
Donald Ferguson 3.00 307/310
COMS 4153 V01/18778  
Donald Ferguson 3.00 17/99

COMS W4156 ADVANCED SOFTWARE ENGINEERING. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3157) or equivalent.
Software lifecycle using frameworks, libraries and services. Major emphasis on software testing. Centers on a team project

Fall 2024: COMS W4156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4156 001/11945 T Th 10:10am - 11:25am
833 Seeley W. Mudd Building
Gail Kaiser 3.00 120/120
COMS 4156 V01/17608  
Gail Kaiser 3.00 7/99

COMS W4160 COMPUTER GRAPHICS. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3134) or (COMS W3136) or (COMS W3137) COMS W4156 is recommended. Strong programming background and some mathematical familiarity including linear algebra is required.
Introduction to computer graphics. Topics include 3D viewing and projections, geometric modeling using spline curves, graphics systems such as OpenGL, lighting and shading, and global illumination. Significant implementation is required: the final project involves writing an interactive 3D video game in OpenGL

Spring 2025: COMS W4160
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4160 001/11972 T Th 6:40pm - 7:55pm
Room TBA
Hadi Fadaifard 3.00 0/75

COMS W4162 Advanced Computer Graphics. 3 points.

Lect: 3.

Prerequisites: (COMS W4160) or equivalent, or the instructor's permission.

A second course in computer graphics covering more advanced topics including image and signal processing, geometric modeling with meshes, advanced image synthesis including ray tracing and global illumination, and other topics as time permits. Emphasis will be placed both on implementation of systems and important mathematical and geometric concepts such as Fourier analysis, mesh algorithms and subdivision, and Monte Carlo sampling for rendering. Note: Course will be taught every two years.

COMS W4165 COMPUT TECHNIQUES-PIXEL PROCSS. 3.00 points.

An intensive introduction to image processing - digital filtering theory, image enhancement, image reconstruction, antialiasing, warping, and the state of the art in special effects. Topics from the basis of high-quality rendering in computer graphics and of low-level processing for computer vision, remote sensing, and medical imaging. Emphasizes computational techniques for implementing useful image-processing functions

COMS W4167 COMPUTER ANIMATION. 3.00 points.

Lect: 3.

Prerequisites: Multivariable calculus, linear algebra, C++ programming proficiency. COMS W4156 recommended.

Theory and practice of physics-based animation algorithms, including animated clothing, hair, smoke, water, collisions, impact, and kitchen sinks. Topics covered: Integration of ordinary differential equations, formulation of physical models, treatment of discontinuities including collisions/contact, animation control, constrained Lagrangian Mechanics, friction/dissipation, continuum mechanics, finite elements, rigid bodies, thin shells, discretization of Navier-Stokes equations. General education requirement: quantitative and deductive reasoning (QUA). 

Spring 2025: COMS W4167
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4167 001/11973 T Th 4:10pm - 5:25pm
451 Computer Science Bldg
Changxi Zheng 3.00 0/75

COMS W4170 USER INTERFACE DESIGN. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137)
Introduction to the theory and practice of computer user interface design, emphasizing the software design of graphical user interfaces. Topics include basic interaction devices and techniques, human factors, interaction styles, dialogue design, and software infrastructure. Design and programming projects are required

Fall 2024: COMS W4170
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/11946 T Th 1:10pm - 2:25pm
833 Seeley W. Mudd Building
Brian Smith 3.00 120/120
COMS 4170 V01/17523  
Brian Smith 3.00 6/99
Spring 2025: COMS W4170
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/11975 M W 1:10pm - 2:25pm
Room TBA
Lydia Chilton 3.00 0/398

COMS W4172 3D UI AND AUGMENTED REALITY. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W4160) or (COMS W4170) or the instructor's permission.
Design, development, and evaluation of 3D user interfaces. Interaction techniques and metaphors, from desktop to immersive. Selection and manipulation. Travel and navigation. Symbolic, menu, gestural, and multimodal interaction. Dialogue design. 3D software support. 3D interaction devices and displays. Virtual and augmented reality. Tangible user interfaces. Review of relevant 3D math

Spring 2025: COMS W4172
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4172 001/11976 T Th 1:10pm - 2:25pm
Room TBA
Steven Feiner 3.00 0/45

COMS W4181 SECURITY I. 3.00 points.

Not offered during 2023-2024 academic year.

Prerequisites: COMS W3157 or equivalent.
Introduction to security. Threat models. Operating system security features. Vulnerabilities and tools. Firewalls, virtual private networks, viruses. Mobile and app security. Usable security. Note: May not earn credit for both W4181 and W4180 or W4187

Fall 2024: COMS W4181
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4181 001/11947 M W 1:10pm - 2:25pm
1127 Seeley W. Mudd Building
Suman Jana 3.00 44/65
COMS 4181 V01/17631  
Suman Jana 3.00 4/5

COMS W4182 SECURITY II. 3.00 points.

Not offered during 2023-2024 academic year.

Prerequisites: COMS W4181, COMS W4118, COMS W4119
Advanced security. Centralized, distributed, and cloud system security. Cryptographic protocol design choices. Hardware and software security techniques. Security testing and fuzzing. Blockchain. Human security issues. Note: May not earn credit for both W4182 and W4180 or W4187

Spring 2025: COMS W4182
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4182 001/11977 F 1:10pm - 3:40pm
Room TBA
John Koh 3.00 0/40

COMS W4186 MALWARE ANALYSIS&REVERSE ENGINEERING. 3.00 points.

Not offered during 2023-2024 academic year.

Prerequisites: COMS W3157 or equivalent. COMS W3827
Hands-on analysis of malware. How hackers package and hide malware and viruses to evade analysis. Disassemblers, debuggers, and other tools for reverse engineering. Deep study of Windows Internals and x86 assembly

Fall 2024: COMS W4186
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4186 001/12324 Th 4:10pm - 6:40pm
545 Seeley W. Mudd Building
Michael Sikorski 3.00 40/40
COMS 4186 V01/18706  
Michael Sikorski 3.00 8/99

COMS W4203 Graph Theory. 3 points.

Lect: 3.

Prerequisites: (COMS W3203)

General introduction to graph theory. Isomorphism testing, algebraic specification, symmetries, spanning trees, traversability, planarity, drawings on higher-order surfaces, colorings, extremal graphs, random graphs, graphical measurement, directed graphs, Burnside-Polya counting, voltage graph theory.

COMS W4205 Combinatorial Theory. 3 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: (COMS W3203) and course in calculus.

Sequences and recursions, calculus of finite differences and sums, elementary number theory, permutation group structures, binomial coefficients, Stilling numbers, harmonic numbers, generating functions. 

COMS W4223 Networks, Crowds, and the Web. 3.00 points.

Introduces fundamental ideas and algorithms on networks of information collected by online services. It covers properties pervasive in large networks, dynamics of individuals that lead to large collective phenomena, mechanisms underlying the web economy, and results and tools informing societal impact of algorithms on privacy, polarization and discrimination

Spring 2025: COMS W4223
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4223 001/14256 T Th 4:10pm - 5:25pm
Room TBA
Augustin Chaintreau 3.00 0/75

COMS W4231 ANALYSIS OF ALGORITHMS I. 3.00 points.

COMS W4232 Advanced Algorithms. 3.00 points.

Prerequisite: Analysis of Algorithms (COMS W4231).

Prerequisites: see notes re: points
Introduces classic and modern algorithmic ideas that are central to many areas of Computer Science. The focus is on most powerful paradigms and techniques of how to design algorithms, and how to measure their efficiency. The intent is to be broad, covering a diversity of algorithmic techniques, rather than be deep. The covered topics have all been implemented and are widely used in industry. Topics include: hashing, sketching/streaming, nearest neighbor search, graph algorithms, spectral graph theory, linear programming, models for large-scale computation, and other related topics

Spring 2025: COMS W4232
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4232 001/11978 T Th 2:40pm - 4:00pm
Room TBA
Alexandr Andoni 3.00 0/80

COMS W4236 INTRO-COMPUTATIONAL COMPLEXITY. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3261)
Develops a quantitative theory of the computational difficulty of problems in terms of the resources (e.g. time, space) needed to solve them. Classification of problems into complexity classes, reductions, and completeness. Power and limitations of different modes of computation such as nondeterminism, randomization, interaction, and parallelism

Fall 2024: COMS W4236
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4236 001/11948 M W 8:40am - 9:55am
451 Computer Science Bldg
Xi Chen 3.00 34/70
COMS 4236 V01/17552  
Xi Chen 3.00 4/99

COMS W4241 Numerical Algorithms and Complexity. 3 points.

Lect: 3.

Prerequisites: Knowledge of a programming language. Some knowledge of scientific computation is desirable.

Modern theory and practice of computation on digital computers. Introduction to concepts of computational complexity. Design and analysis of numerical algorithms. Applications to computational finance, computational science, and computational engineering.

COMS W4242 NUMRCL ALGORTHMS-COMPLEXITY II. 3.00 points.

COMS W4252 INTRO-COMPUTATIONAL LEARN THRY. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (CSOR W4231) or (COMS W4236) or COMS W3203 and the instructor's permission, or COMS W3261 and the instructor's permission.

Possibilities and limitations of performing learning by computational agents. Topics include computational models of learning, polynomial time learnability, learning from examples and learning from queries to oracles. Computational and statistical limitations of learning. Applications to Boolean functions, geometric functions, automata.

COMS W4261 INTRO TO CRYPTOGRAPHY. 3.00 points.

Lect: 2.5.

Prerequisites: Comfort with basic discrete math and probability. Recommended: COMS W3261 or CSOR W4231.
An introduction to modern cryptography, focusing on the complexity-theoretic foundations of secure computation and communication in adversarial environments; a rigorous approach, based on precise definitions and provably secure protocols. Topics include private and public key encryption schemes, digital signatures, authentication, pseudorandom generators and functions, one-way functions, trapdoor functions, number theory and computational hardness, identification and zero knowledge protocols

Spring 2025: COMS W4261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4261 001/13820 M 7:00pm - 9:30pm
451 Computer Science Bldg
Allison Bishop 3.00 0/80

COMS W4281 INTRO TO QUANTUM COMPUTING. 3.00 points.

Lect: 3.

Prerequisites: Knowledge of linear algebra. Prior knowledge of quantum mechanics is not required although helpful.

Introduction to quantum computing. Shor's factoring algorithm, Grover's database search algorithm, the quantum summation algorithm. Relationship between classical and quantum computing. Potential power of quantum computers.

Fall 2024: COMS W4281
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4281 001/11949 M W 10:10am - 11:25am
209 Havemeyer Hall
Henry Yuen 3.00 110/110

COMS W4419 INTERNET TECHNOLOGY,ECONOMICS,AND POLICY. 3.00 points.

Not offered during 2023-2024 academic year.

Technology, economic and policy aspects of the Internet. Summarizes how the Internet works technically, including protocols, standards, radio spectrum, global infrastructure and interconnection. Micro-economics with a focus on media and telecommunication economic concerns, including competition and monopolies, platforms, and behavioral economics. US constitution, freedom of speech, administrative procedures act and regulatory process, universal service, role of FCC. Not a substitute for CSEE4119. Suitable for non-majors. May not be used as a track elective for the computer science major.

Spring 2025: COMS W4419
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4419 001/11979 M W 4:10pm - 5:25pm
Room TBA
Henning Schulzrinne 3.00 0/40

COMS W4444 PROGRAMMING & PROBLEM SOLVING. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and (CSEE W3827)
Hands-on introduction to solving open-ended computational problems. Emphasis on creativity, cooperation, and collaboration. Projects spanning a variety of areas within computer science, typically requiring the development of computer programs. Generalization of solutions to broader problems, and specialization of complex problems to make them manageable. Team-oriented projects, student presentations, and in-class participation required

Fall 2024: COMS W4444
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4444 001/11950 M W 1:10pm - 2:25pm
337 Seeley W. Mudd Building
Kenneth Ross 3.00 32/31

COMS W4460 PRIN-INNOVATN/ENTREPRENEURSHIP. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) or the instructor's permission.
Team project centered course focused on principles of planning, creating, and growing a technology venture. Topics include: identifying and analyzing opportunities created by technology paradigm shifts, designing innovative products, protecting intellectual property, engineering innovative business models

Fall 2024: COMS W4460
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4460 001/13626 F 10:10am - 12:40pm
829 Seeley W. Mudd Building
William Reinisch 3.00 39/40
Spring 2025: COMS W4460
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4460 001/11980 M W 8:40am - 9:55am
Room TBA
William Reinisch 3.00 0/40

COMS W4701 ARTIFICIAL INTELLIGENCE. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and any course on probability. Prior knowledge of Python is recommended.
Prior knowledge of Python is recommended. Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include state-space problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning and concept formation and other topics such as natural language processing may be included as time permits

Fall 2024: COMS W4701
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/11951 T Th 10:10am - 11:25am
501 Schermerhorn Hall
Ansaf Salleb-Aouissi 3.00 186/180
COMS 4701 002/11952 T Th 11:40am - 12:55pm
501 Schermerhorn Hall
Ansaf Salleb-Aouissi 3.00 200/180
COMS 4701 V01/17524  
Ansaf Salleb-Aouissi 3.00 18/99
Spring 2025: COMS W4701
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/13152 M W 4:10pm - 5:25pm
Room TBA
Tony Dear 3.00 0/164

COMS W4705 NATURAL LANGUAGE PROCESSING. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) or the instructor's permission.
Computational approaches to natural language generation and understanding. Recommended preparation: some previous or concurrent exposure to AI or Machine Learning. Topics include information extraction, summarization, machine translation, dialogue systems, and emotional speech. Particular attention is given to robust techniques that can handle understanding and generation for the large amounts of text on the Web or in other large corpora. Programming exercises in several of these areas

Fall 2024: COMS W4705
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4705 001/11953 F 10:10am - 12:40pm
417 International Affairs Bldg
Daniel Bauer 3.00 257/275
COMS 4705 002/11954 M W 4:10pm - 5:25pm
451 Computer Science Bldg
Zhou Yu 3.00 78/100
COMS 4705 V01/17525  
Daniel Bauer 3.00 21/99
Spring 2025: COMS W4705
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4705 001/11981 M W 10:10am - 11:25am
451 Computer Science Bldg
Daniel Bauer 3.00 0/110

COMS W4706 Spoken Language Processing. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) or the instructor's permission.

Computational approaches to speech generation and understanding. Topics include speech recognition and understanding, speech analysis for computational linguistics research, and speech synthesis. Speech applications including dialogue systems, data mining, summarization, and translation. Exercises involve data analysis and building a small text-to-speech system.

COMS W4721 MACHINE LEARNING FOR DATA SCI. 3.00 points.

Spring 2025: COMS W4721
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4721 001/15963 M W 2:40pm - 3:55pm
Room TBA
John Paisley 3.00 0/170

COMS W4725 Knowledge representation and reasoning. 3 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: (COMS W4701)

General aspects of knowledge representation (KR). The two fundamental paradigms (semantic networks and frames) and illustrative systems. Topics include hybrid systems, time, action/plans, defaults, abduction, and case-based reasoning. Throughout the course particular attention is paid to design trade-offs between language expressiveness and reasoning complexity, and issues relating to the use of KR systems in larger applications. 

COMS W4731 Computer Vision I: First Principles. 3.00 points.

Lect: 3.

Prerequisites: Fundamentals of calculus, linear algebra, and C programming. Students without any of these prerequisites are advised to contact the instructor prior to taking the course.
Introductory course in computer vision. Topics include image formation and optics, image sensing, binary images, image processing and filtering, edge extraction and boundary detection, region growing and segmentation, pattern classification methods, brightness and reflectance, shape from shading and photometric stereo, texture, binocular stereo, optical flow and motion, 2D and 3D object representation, object recognition, vision systems and applications

Fall 2024: COMS W4731
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4731 001/11955 M W 10:10am - 11:25am
451 Computer Science Bldg
Shree Nayar 3.00 80/95

COMS W4732 Computer Vision II: Learning. 3.00 points.

Advanced course in computer vision. Topics include convolutional networks and back-propagation, object and action recognition, self-supervised and few-shot learning, image synthesis and generative models, object tracking, vision and language, vision and audio, 3D representations, interpretability, and bias, ethics, and media deception

Spring 2025: COMS W4732
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4732 001/13738 T Th 10:10am - 11:25am
451 Computer Science Bldg
Carl Vondrick 3.00 0/100

COMS W4733 COMPUTATIONAL ASPECTS OF ROBOTICS. 3.00 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136COMS W3137)
Introduction to fundamental problems and algorithms in robotics. Topics include configuration spaces, motion and sensor models, search and sampling-based planning, state estimation, localization and mapping, perception, and learning

COMS W4735 VISUAL INTERFACES TO COMPUTERS. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137)
Visual input as data and for control of computer systems. Survey and analysis of architecture, algorithms, and underlying assumptions of commercial and research systems that recognize and interpret human gestures, analyze imagery such as fingerprint or iris patterns, generate natural language descriptions of medical or map imagery. Explores foundations in human psychophysics, cognitive science, and artificial intelligence

COMS W4737 Biometrics. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: a background at the sophomore level in computer science, engineering, or like discipline.

In this course. we will explore the latest advances in biometrics as well as the machine learning techniques behind them. Students will learn how these technologies work and how they are sometimes defeated. Grading will be based on homework assignments and a final project. There will be no midterm or final exam. This course shares lectures with COMS E6737. Students taking COMS E6737 are required to complete additional homework problems and undertake a more rigorous final project. Students will only be allowed to earn credit for COMS W4737 or COMS E6737 and not both.

COMS E4762 Machine Learning for Functional Genomics. 3.00 points.

This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins

Fall 2024: COMS E4762
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4762 001/11956 F 1:10pm - 3:40pm
451 Computer Science Bldg
David Knowles 3.00 113/120

COMS W4762 Machine Learning for Functional Genomics. 3 points.

Prerequisites: Proficiency in a high-level programming language (Python/R/Julia). An introductory machine learning class (such as COMS 4771 Machine Learning) will be helpful but is not required.

Prerequisites: see notes re: points

This course will introduce modern probabilistic machine learning methods using applications in data analysis tasks from functional genomics, where massively-parallel sequencing is used to measure the state of cells: e.g. what genes are being expressed, what regions of DNA (“chromatin”) are active (“open”) or bound by specific proteins.

COMS W4771 MACHINE LEARNING. 3.00 points.

Lect: 3.

Prerequisites: Any introductory course in linear algebra and any introductory course in statistics are both required. Highly recommended: COMS W4701 or knowledge of Artificial Intelligence.
Topics from generative and discriminative machine learning including least squares methods, support vector machines, kernel methods, neural networks, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models and hidden Markov models. Algorithms implemented in MATLAB

Fall 2024: COMS W4771
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/11957 T Th 2:40pm - 3:55pm
451 Computer Science Bldg
Nakul Verma 3.00 85/110
COMS 4771 V01/17526  
Nakul Verma 3.00 7/99
Spring 2025: COMS W4771
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/11982 T Th 1:10pm - 2:25pm
451 Computer Science Bldg
Nakul Verma 3.00 0/110
COMS 4771 002/11983 T Th 2:40pm - 3:55pm
451 Computer Science Bldg
Nakul Verma 3.00 0/110

COMS W4772 ADVANCED MACHINE LEARNING. 3.00 points.

Lect: 3.

Prerequisites: (COMS W4771) or instructor's permission; knowledge of linear algebra & introductory probability or statistics is required.
An exploration of advanced machine learning tools for perception and behavior learning. How can machines perceive, learn from, and classify human activity computationally? Topics include appearance-based models, principal and independent components analysis, dimensionality reduction, kernel methods, manifold learning, latent models, regression, classification, Bayesian methods, maximum entropy methods, real-time tracking, extended Kalman filters, time series prediction, hidden Markov models, factorial HMMS, input-output HMMs, Markov random fields, variational methods, dynamic Bayesian networks, and Gaussian/Dirichlet processes. Links to cognitive science

COMS E4773 Machine Learning Theory. 3.00 points.

Theoretical study of algorithms for machine learning and high-dimensional data analysis. Topics include high-dimensional probability, theory of generalization and statistical learning, online learning and optimization, spectral analysis

COMS W4773 Machine Learning Theory. 3 points.

Prerequisites: Machine Learning (COMS W4771). Background in probability and statistics, linear algebra, and multivariate calculus. Ability to program in a high-level language, and familiarity with basic algorithm design and coding principles.

Prerequisites: see notes re: points

Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of data structures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python.

COMS W4774 Unsupervised Learning. 3.00 points.

Prerequisites: Solid background in multivariate calculus, linear algebra, basic probability, and algorithms.

Prerequisites: see notes re: points
Core topics from unsupervised learning such as clustering, dimensionality reduction and density estimation will be studied in detail. Topics in clustering: k-means clustering, hierarchical clustering, spectral clustering, clustering with various forms of feedback, good initialization techniques and convergence analysis of various clustering procedures. Topics in dimensionality reduction: linear techniques such as PCA, ICA, Factor Analysis, Random Projections, non-linear techniques such as LLE, IsoMap, Laplacian Eigenmaps, tSNE, and study of embeddings of general metric spaces, what sorts of theoretical guarantees can one provide about such techniques. Miscellaneous topics: design and analysis of datastructures for fast Nearest Neighbor search such as Cover Trees and LSH. Algorithms will be implemented in either Matlab or Python

Fall 2024: COMS W4774
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4774 001/11958 T Th 1:10pm - 2:25pm
451 Computer Science Bldg
Nakul Verma 3.00 42/50

COMS E4775 Causal Inference. 3 points.

Prerequisites: (COMS4711W) and Discrete Math, Calculus, Statistics (basic probability, modeling, experimental design), Some programming experience

Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy,  causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML.

COMS W4775 Causal Inference. 3.00 points.

Prerequisites: Discrete Math, Calculus, Statistics (basic probability, modeling, experimental design), some programming experience.

Prerequisites: see notes re: points
Causal Inference theory and applications. The theoretical topics include the 3-layer causal hierarchy, causal bayesian networks, structural learning, the identification problem and the do-calculus, linear identifiability, bounding, and counterfactual analysis. The applied part includes intersection with statistics, the empirical-data sciences (social and health), and AI and ML

Fall 2024: COMS W4775
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4775 001/11959 M W 4:10pm - 5:25pm
750 Schapiro Cepser
Elias Bareinboim 3.00 59/60

COMS W4776 Machine Learning for Data Science. 3 points.

Lect.: 3

Prerequisites: (STAT GU4001 or IEOR E4150) and linear algebra.

Introduction to machine learning, emphasis on data science. Topics include least square methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines kernel methods. Emphasizes methods and problems relevant to big data. Students may not receive credit for both COMS W4771 and W4776.

COMS W4824 COMPUTER ARCHITECTURE. 3.00 points.

COMS W4835 COMPUTER ORGANIZATION II. 3.00 points.

COMS E4899 Research Training. 0.00 points.

Research training course. Recommended in preparation for laboratory related research

COMS W4901 Projects in Computer Science. 1-3 points.

Prerequisites: Approval by a faculty member who agrees to supervise the work.

A second-level independent project involving laboratory work, computer programming, analytical investigation, or engineering design. May be repeated for credit, but not for a total of more than 3 points of degree credit. Consult the department for section assignment.

Fall 2024: COMS W4901
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4901 024/12683  
Julia Hirschberg 1-3 8/45

COMS W4910 CURRICULAR PRACTICAL TRAINING. 1.00 point.

COMS E4995 COMPUTER ARTS/VIDEO GAMES. 3.00 points.

Special topics arranged as the need and availability arises. Topics are usually offered on a one-time basis. Since the content of this course changes each time it is offered, it may be repeated for credit. Consult the department for section assignment

COMS W4995 TOPICS IN COMPUTER SCIENCE. 3.00 points.

Lect: 3.

Prerequisites: Instructor's permission.
Selected topics in computer science. Content and prerequisites vary between sections and semesters. May be repeated for credit. Check “topics course” webpage on the department website for more information on each section

Fall 2024: COMS W4995
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/11960 T 4:10pm - 6:40pm
829 Seeley W. Mudd Building
Jason Cahill, Paul Blaer 3.00 34/35
COMS 4995 002/11961 F 10:10am - 12:40pm
644 Seeley W. Mudd Building
Bjarne Stroustrup 3.00 33/33
COMS 4995 003/11962 M W 1:10pm - 2:25pm
633 Seeley W. Mudd Building
Stephen Edwards 3.00 46/70
COMS 4995 004/11963 W 4:10pm - 6:40pm
833 Seeley W. Mudd Building
Hans Montero, Jae Lee 3.00 24/110
COMS 4995 005/11964 T Th 2:40pm - 3:55pm
428 Pupin Laboratories
Peter Belhumeur 3.00 122/125
COMS 4995 006/11965 T Th 5:40pm - 6:55pm
644 Seeley W. Mudd Building
Itsik Pe'er 3.00 7/40
COMS 4995 007/11966 T Th 5:40pm - 6:55pm
451 Computer Science Bldg
Yongwhan Lim 3.00 7/100
COMS 4995 008/11967 T 1:10pm - 3:40pm
829 Seeley W. Mudd Building
Gary Zamchick 3.00 35/40
COMS 4995 009/11968 W 10:10am - 12:40pm
415 Schapiro Cepser
Michelle Levine 3.00 11/40
COMS 4995 010/11969 Th 4:10pm - 6:40pm
633 Seeley W. Mudd Building
Homayoon Beigi 3.00 31/60
COMS 4995 011/13628 T Th 4:10pm - 5:25pm
451 Computer Science Bldg
Hugh Thomas 3.00 108/110
COMS 4995 012/15929 W 7:00pm - 9:30pm
451 Computer Science Bldg
Yihao Zhang 3.00 8/50
COMS 4995 030/13530 M 7:00pm - 9:30pm
833 Seeley W. Mudd Building
Andi Cupallari 3.00 82/120
COMS 4995 031/13532 W 7:00pm - 9:30pm
501 Schermerhorn Hall
Andrei Simion 3.00 142/178
COMS 4995 032/13534 T 4:10pm - 6:40pm
402 Chandler
Vijay Pappu 3.00 133/126
COMS 4995 033/13533 Th 7:00pm - 9:30pm
402 Chandler
Vijay Pappu 3.00 130/130
COMS 4995 V03/17527  
Stephen Edwards 3.00 6/99
COMS 4995 V10/17528  
Homayoon Beigi 3.00 4/99
COMS 4995 V30/21158  
Andi Cupallari 3.00 0/99
COMS 4995 V32/17555  
Vijay Pappu 3.00 29/99
Spring 2025: COMS W4995
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/11984 M W 8:40am - 9:55am
451 Computer Science Bldg
Timothy Roughgarden 3.00 0/60
COMS 4995 002/11985 T 1:10pm - 3:40pm
Room TBA
Gary Zamchick 3.00 0/40
COMS 4995 003/11986 Th 4:10pm - 6:40pm
Room TBA
Christian Swinehart 3.00 0/40
COMS 4995 005/13153 F 12:10pm - 2:00pm
Room TBA
Suman Jana 3.00 0/20
COMS 4995 006/13749 M 4:10pm - 6:40pm
Room TBA
Elias Bareinboim 3.00 0/40
COMS 4995 007/13154 T Th 10:10am - 12:40pm
Room TBA
Andrew Blumberg 3.00 0/30
COMS 4995 008/13387 M W 2:40pm - 3:55pm
Room TBA
Jae Lee 3.00 0/60
COMS 4995 009/13388 M W 5:40pm - 6:55pm
Room TBA
Jae Lee 3.00 0/110
COMS 4995 010/13389 M W 2:40pm - 3:55pm
Room TBA
Corey Toler-Franklin 3.00 0/45
COMS 4995 011/13753 T Th 2:40pm - 3:55pm
Room TBA
Richard Zemel 3.00 0/120
COMS 4995 012/13758 F 1:10pm - 3:40pm
Room TBA
Yongwhan Lim 3.00 0/25
COMS 4995 030/15959 T 7:00pm - 9:30pm
Room TBA
Adam Kelleher 3.00 0/70
COMS 4995 031/15960 W 7:00pm - 9:30pm
Room TBA
Andrei Simion 3.00 0/80
COMS 4995 032/15961 W 7:00pm - 9:30pm
Room TBA
Vijay Pappu 3.00 0/80

COMS W4996 Special topics in computer science, II. 3 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: Instructor's permission.

A continuation of COMS W4995 when the special topic extends over two terms.

COMS E6111 ADVANCED DATABASE SYSTEMS. 3.00 points.

Lect: 2.

Prerequisites: (COMS W4111) and knowledge of Java or instructor's permission.
Continuation of (COMS W4111), covers the latest trends in both database research and industry. Programming projects in Python are required

Spring 2025: COMS E6111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6111 001/11988 F 12:10pm - 2:00pm
451 Computer Science Bldg
Luis Gravano 3.00 0/75

COMS E6113 Topics in Database Systems. 3 points.

Lect: 2.Not offered during 2023-2024 academic year.

Prerequisites: (COMS W4111)

Concentration on some database paradigm, such as deductive, heterogeneous, or object-oriented, and/or some database issue, such as data modeling, distribution, query processing, semantics, or transaction management. A substantial project is typically required. May be repeated for credit with instructor's permission.

Spring 2025: COMS E6113
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6113 001/11989 T Th 10:10am - 11:25am
Room TBA
Eugene Wu, Kostis Kaffes 3 0/20

COMS E6114 ADVANCED DISTRIBUTED SYSTEMS. 3.00 points.

Prerequisites: COMS W4113 AND COMS W4118
Reviews influential research that provides the basis of most large-scale, cloud infrastructures today. Students read, present, and discuss papers. Topics include distributed consensus, consistency models and algorithms, service-oriented architectures, large-scale data storage, distributed transactions, big-data processing frameworks, distributed systems security. Reviews established results and state-of-the-art research

COMS E6118 OPERATING SYSTEMS, II. 3.00 points.

Lect: 2.Not offered during 2023-2024 academic year.

Prerequisites: (COMS W4118)
Corequisites: COMS W4119

Continuation of COMS W4118, with emphasis on distributed operating systems. Topics include interfaces to network protocols, distributed run-time binding, advanced virtual memory issues, advanced means of interprocess communication, file system design, design for extensibility, security in a distributed environment. Investigation is deeper and more hands-on than in COMS W4118. A programming project is required.

COMS E6121 RELIABLE SOFTWARE. 3.00 points.

Not offered during 2023-2024 academic year.

Prerequisites: (COMS W4118) or (COMS W4115) or (COMS W4117) or significant software development experiences.
Topics include automated debugging, automated software repair, concurrent software reliability, software error detection, and more

COMS E6123 PROG ENVIRONMNT-SOFTWARE TOOLS. 3.00 points.

Lect: 2.

Prerequisites: (COMS W4156) or equivalent.
Software methodologies and technologies concerned with development and operation of today’s software systems. Reliability, security, systems management and societal issues. Emerging software architectures such as enterprise and grid computing. Term paper and programming project. Seminar focus changes frequently to remain timely

COMS E6124 Hardware Secuirty. 3 points.

Prerequisites: Required: CSEE W3827 and COMS W3157 Recommended: CSEE W4824 and COMS W4187

Techniques for securing the foundational aspects of all computing devices and systems. Topics include: Hardware-Up Security, Hardware Supply Chain Trust and Security, Storing Secrets in Hardware, Boot Time Trust and Security, Side Channel Attacks and Defenses, Hardware Support for Compartmentalization, Fault Attacks and Defenses, Hardware Support to Strengthen Software: Memory Safety, Control Flow Integrity, Information Flow Tracking, Diversity, Obfuscation, Anomaly etection. Hardware Support for Accelerating Cryptography and Applied Cryptography.

COMS E6125 WEB-ENHANCED INFORMATION MGMT. 3.00 points.

Lect: 2.

Prerequisites: at least one COMS W41xx or COMS E61xx course and/or COMS W4444, or the instructor's permission. Strongly recommended: COMS W4111.
History of hypertext, markup languages, groupware and the web. Evolving web protocols, formats and computation paradigms such as HTTP, XML and Web Services. Novel application domains enabled by the web and societal issues. Term paper and programming project. Seminar focus changes frequently to remain timely

COMS E6156 TOPICS IN SOFTWARE ENGINEERING. 3.00 points.

Topics in Software engineering arranged as the need and availability arises. Topics are usually offered on a one-time basis. Since the content of this course changes, it may be repeated for credit with advisor approval. Consult the department for section assignment

Spring 2025: COMS E6156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6156 001/11991 T Th 10:10am - 11:25am
Room TBA
Gail Kaiser 3.00 0/30

COMS E6173 Virtual Reality and Augmented Reality. 3.00 points.

This course will cover selected topics in virtual reality (VR) and augmented reality (AR). There are two main components, with everyone participating in both: papers and projects

COMS E6178 Human-Computer Interaction. 3.00 points.

Human–computer interaction (HCI) studies (1) what computers are used for, (2) how people interact with computers, and (3) how either of those should change in the future. Topics include ubiquitous computing, mobile health, interaction techniques, social computing, mixed reality, accessibility, and ethics. Activities include readings, presentations, and discussions of research papers. Substantial HCI research project required

Spring 2025: COMS E6178
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6178 001/11992 W 1:10pm - 3:40pm
Room TBA
Brian Smith 3.00 0/30

COMS E6181 ADVANCED INTERNET SERVICES. 3.00 points.

Lect: 2.

In-depth survey of protocols and algorithms needed to transport multimedia information across the internet, including audio and video encoding, multicast, quality-of-service, voice-over IP, streaming media and peer-to-peer multimedia systems. Includes a semester-long programming project

COMS E6183 Advanced Topics in Network Security. 3 points.

Lect: 3.

Prerequisites: (COMS W4180) and (CSEE W4119) COMS W4261 is recommended.

Review the fundamental aspects of security, including authentication, authorization, access control, confidentiality, privacy, integrity, and availability. Review security techniques and tools, and their applications in various problem areas. Study the state of the art in research. A programming project is required.

COMS E6184 ANONYMITY & PRIVACY. 3.00 points.

Lect: 3.

Prerequisites: (COMS W4261) or (COMS W4180) or (CSEE W4119) or instructor's permission.

This course will cover the following topics: Legal and social framework for privacy. Data mining and databases. Anonymous commerce and Internet usage. Traffic analysis. Policy and national security considerations. Classes are seminars with students presenting papers and discussing them. Seminar focus changes frequently to remain timely.

COMS E6185 INTRUSION DETECTION SYSTEMS. 3.00 points.

Lect: 2.

Corequisites: COMS W4180
Corequisite: COMS 4180W. The state of threats against computers, and networked systems. An overview of computer security solutions and why they fail. Provides a detailed treatment for Network and Host-based Intrusion Detection and Intrusion Prevention systems. Considerable depth is provided on anomaly detection systems to detect new attacks. Covers issues and problems in email (spam, and viruses) and insider attacks (masquerading and impersonation)

COMS E6232 ANALYSIS OF ALGORITHMS II. 3.00 points.

Lect: 2.

Prerequisites: (CSOR W4231)
Continuation of CSOR W4231

COMS E6261 ADVANCED CRYPTOGRAPHY. 3.00 points.

Lect: 3.

Prerequisites: (COMS W4261)
A study of advanced cryptographic research topics such as: secure computation, zero knowledge, privacy, anonymity, cryptographic protocols. Concentration on theoretical foundations, rigorous approach, and provable security. Contents varies between offerings. May be repeated for credit

COMS E6424 HARDWARE SECURITY. 3.00 points.

Spring 2025: COMS E6424
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6424 001/11993 M W 10:10am - 11:25am
Room TBA
Simha Sethumadhavan 3.00 0/40

COMS E6731 HUMANOID ROBOTS. 3.00 points.

Lect: 2.

Prerequisites: A course in at least one of the following: AI, robotics, computer graphics, or computer vision
Seminar on Humanoid Robots. Analysis of existing hardware and software platforms. Programming of multi-degree-of-freedom robots. Understanding sensor feedback in perceive-act-sense control paradigms. Task-level planning and reasoning. Final project includes implementing a humanoid robot task on either a simulated or physical robot

COMS E6732 COMPUTATIONAL IMAGING. 3.00 points.

Lect: 3.

Prerequisites: (COMS W4731) or the instructor's permission.
Computational imaging uses a combination of novel imaging optics and a computational module to produce new forms of visual information. Survey of the state-of-the-art in computational imaging. Review of recent papers on omnidirectional and panoramic imaging, catadioptric imaging, high dynamic range imaging, mosaicing and superresolution. Classes are seminars with the instructor, guest speakers, and students presenting papers and discussing them

Spring 2025: COMS E6732
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6732 001/11994 M 4:10pm - 6:00pm
Room TBA
Shree Nayar 3.00 0/20

COMS E6734 Computational Photography. 3 points.

Lect: 3.

Prerequisites: (COMS W4160) or (COMS W4731) or a working knowledge of photography recommended.

Students should have knowledge in any of three core areas: computer vision, computer graphics, or photography. Computational techniques are used to produce a new level of images and visual representations. Topics include: HDR imaging, feature matching using RANSAC, image mosaics, image-based rendering, motion magnification, camera lens arrays, programmable lighting, face detection, single and multi-view geometry, and more.

COMS E6735 VISUAL DATABASES. 3.00 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) or COMS W4731 and COMS W4735 recommended. Contact instructor if uncertain.
The analysis and retrieval of large collections of image and video data, with emphasis on visual semantics, human psychology, and user interfaces. Low-level processing: features and similarity measures; shot detection; key frame selection; machine learning methods for classification. Middle- level processing: organizational rules for videos, including unedited (home, educational), semiedited (sports, talk shows), edited (news, drama); human memory limits; progressive refinement; visualization techniques; incorporation of audio and text. Highlevel processing: extraction of thematic structures; ontologies, semantic filters, and learning; personalization of summaries and interfaces; detection of pacing and emotions. Examples and demonstrations from commercial and research systems throughout. Substantial course project or term paper required

COMS E6772 ADV MACHINE LEARNING/PERCEPTN. 3.00 points.

COMS E6863 FORMAL VERIF HW SW SYSTEMS. 3.00 points.

Introduction to the theory and practice of formal methods for the design and analysis of correct (i.e., bug-free) concurrent and embedded hardware/software systems. Topics include temporal logics; model checking; deadlock and liveness issues; fairness; satisfiability (SAT) checkers; binary decision diagrams (BDDs); abstraction techniques; introduction to commercial formal verification tools. Industrial state-of-the-art, case studies, and experiences: software analysis (C/C /Java), hardware verification (RTL)

COMS E6900 TUTORIAL IN COMPUTER SCIENCE. 1.00-3.00 points.

Prerequisites: Instructor's permission.
A reading course in an advanced topic for a small number of students, under faculty supervision

COMS E6901 PROJECTS IN COMPUTER SCIENCE. 1.00-12.00 points.

Prerequisites: Instructor's permission.
Software or hardware projects in computer science. Before registering, the student must submit a written proposal to the instructor for review. The proposal should give a brief outline of the project, estimated schedule of completion, and computer resources needed. Oral and written reports are required. May be taken over more than one semester, in which case the grade will be deferred until all 12 points have been completed. No more than 12 points of COMS E6901 may be taken. Consult the department for section assignment

Fall 2024: COMS E6901
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6901 017/12888  
Eleni Drinea 1.00-12.00 9/45
COMS 6901 024/12898  
Julia Hirschberg 1.00-12.00 6/45

COMS E6902 THESIS. 1.00-9.00 points.

Available to M.S. and CSE candidates. An independent investigation of an appropriate problem in computer science carried out under the supervision of a faculty member. A formal written report is essential and an oral presentation may also be required. May be taken over more than one semester, in which case the grade will be deferred until all 9 points have been completed. No more than 9 points of COMS E6902 may be taken. Consult the department for section assignment

COMS E6910 FIELDWORK. 1.00 point.

Prerequisites: Obtained internship and approval from faculty adviser.
Final report required. This course may not be taken for pass/fail credit or audited

COMS E6915 TECH WRITING FOR CS AND ENGINRS. 3.00 points.

Prerequisites: Available to M.S. and Ph.D candidates in CS/CE.
Topics to help CS/CE and EE graduate students’ communication skills. Emphasis on writing, presenting clear, concise proposals, journal articles, conference papers, theses, and technical presentations. Credit may not be used to satisfy degree requirements

COMS E6998 TOPICS IN COMPUTER SCIENCE. 3.00 points.

Prerequisites: Instructor's permission.
Selected topics in computer science (advanced level). Content and prerequisites vary between sections and semesters. May be repeated for credit. Check “topics course” webpage on the department website for more information on each section

Fall 2024: COMS E6998
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6998 001/11971 Th 2:10pm - 4:00pm
233 Seeley W. Mudd Building
Carl Vondrick 3.00 31/30
COMS 6998 002/11972 Th 10:10am - 12:00pm
825 Seeley W. Mudd Building
Bjarne Stroustrup 3.00 11/33
COMS 6998 003/11973 F 10:10am - 12:00pm
411 Kent Hall
Kostis Kaffes 3.00 23/25
COMS 6998 004/11974 M W 5:40pm - 6:55pm
558 Ext Schermerhorn Hall
Yongwhan Lim, Josh Alman 3.00 3/30
COMS 6998 005/11975 F 12:10pm - 2:00pm
415 Schapiro Cepser
Xia Zhou 3.00 11/40
COMS 6998 006/11976 F 2:10pm - 4:00pm
707 Hamilton Hall
Changxi Zheng 3.00 9/25
COMS 6998 007/11977 T 4:10pm - 6:00pm
750 Schapiro Cepser
Julia Hirschberg 3.00 64/60
COMS 6998 008/11978 Th 4:10pm - 6:00pm
417 Mathematics Building
Xuheng Li, Ronghui Gu 3.00 53/60
COMS 6998 009/11979 Th 2:10pm - 4:00pm
963 Ext Schermerhorn Hall
Baishakhi Ray 3.00 23/30
COMS 6998 010/11980 Th 4:10pm - 6:40pm
833 Seeley W. Mudd Building
Christos Papadimitriou 3.00 33/40
COMS 6998 011/11981 F 12:10pm - 2:00pm
702 Hamilton Hall
Lydia Chilton 3.00 86/86
COMS 6998 012/11982 Th 2:10pm - 4:00pm
337 Seeley W. Mudd Building
Jason Nieh 3.00 22/30
COMS 6998 013/11983 Th 7:00pm - 9:30pm
451 Computer Science Bldg
Kaoutar El Maghraoui 3.00 67/75
COMS 6998 014/11984 T 4:10pm - 6:00pm
411 Kent Hall
Augustin Chaintreau 3.00 14/25
COMS 6998 015/13629 T 2:10pm - 4:00pm
633 Seeley W. Mudd Building
Chen Wang, Parijat Dube 3.00 50/70
COMS 6998 V07/17550  
Julia Hirschberg 3.00 20/99
COMS 6998 V08/19427  
Ronghui Gu 3.00 8/99
COMS 6998 V11/18702  
Lydia Chilton 3.00 16/20
COMS 6998 V13/17520  
Kaoutar El Maghraoui 3.00 15/99
COMS 6998 V15/17551  
Parijat Dube 3.00 21/99
Spring 2025: COMS E6998
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 6998 001/11995 F 10:10am - 12:00pm
Room TBA
Roxana Geambasu 3.00 0/30
COMS 6998 002/11996 Th 12:10pm - 2:00pm
Room TBA
Daniel Rubenstein 3.00 0/50
COMS 6998 003/11997 T 4:10pm - 6:00pm
Room TBA
Julia Hirschberg 3.00 0/60
COMS 6998 004/11998 W 2:10pm - 4:00pm
Room TBA
Peter Belhumeur 3.00 0/100
COMS 6998 005/11999 Th 4:10pm - 6:40pm
Room TBA
Seetharami Seelam, IHsin Chung 3.00 0/40
COMS 6998 006/12000 Th 7:00pm - 9:30pm
Room TBA
Kaoutar El Maghraoui 3.00 0/80
COMS 6998 007/12002 M 4:10pm - 6:00pm
451 Computer Science Bldg
Daniel Hsu 3.00 0/50
COMS 6998 008/12003 F 10:10am - 12:00pm
451 Computer Science Bldg
Yunzhu Li 3.00 0/50
COMS 6998 009/12004 M 4:10pm - 6:00pm
Room TBA
Alp Kucukelbir 3.00 0/40
COMS 6998 010/13155 Th 1:10pm - 3:40pm
Room TBA
Toniann Pitassi 3.00 0/30

COMS E9800 DIRECTED RESEARCH IN COMP SCI. 1.00-15.00 points.

Prerequisites: Submission of an outline of the proposed research for approval by the faculty member who will supervise.
May be repeated for credit. This course is only for Eng.Sc.D. candidates

COMS E9910 GRADUATE RESEARCH I. 1.00-6.00 points.

Prerequisites: Submission of an outline of the proposed research for approval by the faculty member who will supervise.
May be repeated for credit. This course is only for M.S. candidates holding GRA or TA appointments. Note: It is NOT required that a student take Graduate Research I prior to taking Graduate Research II. Consult the department for section assignment

COMS E9911 GRADUATE RESEARCH II. 1.00-15.00 points.

Prerequisites: Submission of an outline of the proposed research for approval by the faculty member who will supervise.
The department must approve the number of points. May be repeated for credit. This course is only for M.S./Ph.D. and Ph.D. students. Note: It is NOT required that a student take Graduate Research, I prior to taking Graduate Research, II. Consult the department for section assignment

CSEE W3826 FUNDAMENTALS OF COMPUTER ORG. 3.00 points.

CSEE W3827 FUNDAMENTALS OF COMPUTER SYSTS. 3.00 points.

Lect: 3.

Prerequisites: an introductory programming course.
Fundamentals of computer organization and digital logic. Boolean algebra, Karnaugh maps, basic gates and components, flipflops and latches, counters and state machines, basics of combinational and sequential digital design. Assembly language, instruction sets, ALU’s, single-cycle and multi-cycle processor design, introduction to pipelined processors, caches, and virtual memory

Fall 2024: CSEE W3827
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 3827 001/11985 T Th 11:40am - 12:55pm
301 Pupin Laboratories
Martha Barker, Martha Kim 3.00 169/189
CSEE 3827 002/11986 T Th 1:10pm - 2:25pm
301 Pupin Laboratories
Martha Barker, Martha Kim 3.00 154/189
Spring 2025: CSEE W3827
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 3827 001/12006 M W 11:40am - 12:55pm
Room TBA
Brian Plancher 3.00 0/150
CSEE 3827 002/12007 M W 1:10pm - 2:25pm
Room TBA
Brian Plancher 3.00 0/150

CSEE W4119 COMPUTER NETWORKS. 3.00 points.

Introduction to computer networks and the technical foundations of the Internet, including applications, protocols, local area networks, algorithms for routing and congestion control, security, elementary performance evaluation. Several written and programming assignments required

Fall 2024: CSEE W4119
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4119 001/14071 T Th 4:10pm - 5:25pm
614 Schermerhorn Hall
Thomas Koch, Ethan Katz-Bassett 3.00 62/120
CSEE 4119 002/14070 T Th 5:40pm - 6:55pm
614 Schermerhorn Hall
Thomas Koch, Ethan Katz-Bassett 3.00 40/120
CSEE 4119 V01/19321  
Ethan Katz-Bassett 3.00 3/99
Spring 2025: CSEE W4119
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4119 001/12008 T Th 11:40am - 12:55pm
Room TBA
Xia Zhou 3.00 0/120

CSEE W4121 COMPUTER SYSTEMS FOR DATA SCIENCE. 3.00 points.

Prerequisites: Background in Computer System Organization and good working knowledge of C/C++. Corequisites: CSOR W4246 Algorithms for Data Science, STAT W4203 Probability Theory, or equivalent as approved by faculty advisor.
An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers

Spring 2025: CSEE W4121
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4121 001/15957 Th 10:10am - 12:40pm
Room TBA
Asaf Cidon 3.00 0/85
CSEE 4121 002/15958 Th 1:10pm - 3:40pm
Room TBA
Asaf Cidon 3.00 0/85

CSEE W4140 NETWORKING LABORATORY. 3.00 points.

Lect: 3.

Prerequisites: (CSEE W4119) or equivalent.
In this course, students will learn how to put principles into practice, in a hands-on-networking lab course. The course will cover the technologies and protocols of the Internet using equipment currently available to large internet service providers such as CISCO routers and end systems. A set of laboratory experiments will provide hands-on experience with engineering wide-area networks and will familiarize students with the Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), User Datagram Protocol (UDP) and Transmission Control Protocol (TCP), the Domain Name System (DNS), routing protocols (RIP, OSPF, BGP), network management protocols (SNMP, and application-level protocols (FTP, TELNET, SMTP)

CSEE W4823 Advanced Logic Design. 3 points.

Lect: 3.

Prerequisites: (CSEE W3827) or a half semester introduction to digital logic, or the equivalent.

An introduction to modern digital system design. Advanced topics in digital logic: controller synthesis (Mealy and Moore machines); adders and multipliers; structured logic blocks (PLDs, PALs, ROMs); iterative circuits. Modern design methodology: register transfer level modelling (RTL); algorithmic state machines (ASMs); introduction to hardware description languages (VHDL or Verilog); system-level modelling and simulation; design examples.

Fall 2024: CSEE W4823
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4823 001/11307 T Th 2:40pm - 3:55pm
203 Mathematics Building
Mingoo Seok 3 103/110

CSEE W4824 COMPUTER ARCHITECTURE. 3.00 points.

Lect: 3.

Prerequisites: (CSEE W3827) or equivalent.
Focuses on advanced topics in computer architecture, illustrated by case studies from classic and modern processors. Fundamentals of quantitative analysis. Pipelining. Memory hierarchy design. Instruction-level and thread-level parallelism. Data-level parallelism and graphics processing units. Multiprocessors. Cache coherence. Interconnection networks. Multi-core processors and systems-on-chip. Platform architectures for embedded, mobile, and cloud computing

Fall 2024: CSEE W4824
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4824 001/11987 M W 10:10am - 11:25am
717 Hamilton Hall
3.00 59/86
Spring 2025: CSEE W4824
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4824 001/13627 M W 8:40am - 9:55am
Room TBA
Tanvir Ahmed Khan 3.00 0/70

CSEE W4840 EMBEDDED SYSTEMS. 3.00 points.

Lect: 3.

Prerequisites: (CSEE W4823)
Embedded system design and implementation combining hardware and software. I/O, interfacing, and peripherals. Weekly laboratory sessions and term project on design of a microprocessor-based embedded system including at least one custom peripheral. Knowledge of C programming and digital logic required

Spring 2025: CSEE W4840
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4840 001/12009 M W 1:10pm - 2:25pm
451 Computer Science Bldg
Stephen Edwards 3.00 0/110

CSEE W4868 SYSTEM-ON-CHIP PLATFORMS. 3.00 points.

Prerequisites: (COMS W3157) and (CSEE W3827)
Design and programming of System-on-Chip (SoC) platforms. Topics include: overview of technology and economic trends, methodologies and supporting CAD tools for system-level design, models of computation, the SystemC language, transaction-level modeling, software simulation and virtual platforms, hardware-software partitioning, high-level synthesis, system programming and device drivers, on-chip communication, memory organization, power management and optimization, integration of programmable processor cores and specialized accelerators. Case studies of modern SoC platforms for various classes of applications

Fall 2024: CSEE W4868
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 4868 001/11988 T Th 11:40am - 12:55pm
141 Uris Hall
Luca Carloni 3.00 48/60

CSEE W6180 MODELING & PERFORMANCE EVALUATION. 3.00 points.

Introduction to queuing analysis and simulation techniques. Evaluation of time-sharing and multiprocessor systems. Topics include priority queuing, buffer storage, and disk access, interference and bus contention problems, and modeling of program behaviors

Fall 2024: CSEE W6180
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 6180 001/11989 T 10:10am - 12:00pm
825 Seeley W. Mudd Building
Vishal Misra 3.00 48/44

CSEE E6180 Modeling and Performance. 3 points.

Lect: 2.

Prerequisites: (COMS W4118) and (STAT GU4001)

Introduction to queuing analysis and simulation techniques. Evaluation of time-sharing and multiprocessor systems. Topics include priority queuing, buffer storage, and disk access, interference and bus contention problems, and modeling of program behaviors.

CSEE W6600 From Data to Solutions. 3 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: Ability to study research solutions and write a coherent weekly report in English that summarizes problems involving large-scale data sets and solutions based on data science methods and tools

Introduces students interested in data science and interdisciplinary research to a wide variety of problems in medical research, journalism, history, economics, business, English, psychology, and other areas which might benefit from computational approaches.

CSEE E6831 Sequential Logic Circuits. 3 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: CSEE W3827 or any introduction to logic circuits

Generation and manipulation of flow table descriptions to asynchronous sequential functions. Coding of flow tables to satisfy various design criteria. Delays, races, hazards, metastability. Analysis of latches to determine key parameters. Bounds of input rates. Clocking schemes for synchronous systems. Synthesis of self-timed systems using 4-phase or 2-phase handshakes.

CSEE W6861 COMPUTER-AIDED DESIGN OF DIGITAL SYSTEMS. 3.00 points.

CSEE E6861 CAD OF DIGITAL SYSTEMS. 3.00 points.

Lect: 2.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and (COMS W3157) and (CSEE W4823 or equivalent).
Introduction to modern digital CAD synthesis and optimization techniques. Topics include modern digital system design (high-level synthesis, registertransfer level modeling, algorithmic state machines, optimal scheduling algorithms, resource allocation and binding, retiming), controller synthesis and optimization, exact and heuristic two-level logic minimization, advanced multilevel logic optimization, optimal technology mapping to library cells (for delay, power and area minimization), advanced data structures (binary decision diagrams), SAT solvers and their applications, static timing analysis, and introduction to testability. Includes hands-on small design projects using and creating CAD tools

CSEE E6863 FORMAL VERIF HW SW SYSTEMS. 3.00 points.

Lect: 2.

Prerequisites: (COMS W3134 or COMS W3136 or COMS W3137) and (COMS W3261)
Introduction to the theory and practice of formal methods for the design and analysis of correct (i.e. bug-free) concurrent and embedded hardware/software systems. Topics include temporal logics; model checking; deadlock and liveness issues; fairness; satisfiability (SAT) checkers; binary decision diagrams (BDDs); abstraction techniques; introduction to commercial formal verification tools. Industrial state-of-art, case studies and experiences: software analysis (C/C /Java), hardware verification (RTL)

Fall 2024: CSEE E6863
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 6863 001/14884 M 6:10pm - 8:00pm
451 Computer Science Bldg
Franjo Ivancic, Michael Theobald 3.00 103/100

CSEE E6868 EMBEDDED SCALABLE PLATFORMS. 3.00 points.

Lect: 2.

Prerequisites: (CSEE W4868) or the instructor permission.
Inter-disciplinary graduate-level seminar on design and programming of embedded scalable platforms. Content varies between offerings to cover timely relevant issues and latest advances in system-on-chip design, embedded software programming, and electronic design automation. Requires substantial reading of research papers, class participation, and semester-long project

Spring 2025: CSEE E6868
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 6868 001/12010 W 6:10pm - 8:00pm
451 Computer Science Bldg
Luca Carloni 3.00 0/30

CSEE E6915 TECH WRITING FOR CS AND ENGINRS. 3.00 points.

Topics to help CS/CE and EE graduate students’ communication skills. Emphasis on writing, presenting clear, concise proposals, journal articles, conference papers, theses, and technical presentations. Credit may not be used to satisfy degree requirements

Fall 2024: CSEE E6915
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 6915 001/13772 F 10:10am - 12:00pm
511 Hamilton Hall
Janet Kayfetz 3.00 9/25
Spring 2025: CSEE E6915
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSEE 6915 001/12012 F 10:10am - 12:00pm
Room TBA
Janet Kayfetz 3.00 0/25

CSOR E4010 GRAPH THEORY: COMBINATL VIEW. 3.00 points.

Lect: 3.Not offered during 2023-2024 academic year.

Prerequisites: Linear Algebra, or instructor's permission.
An introductory course in graph theory with emphasis on its combinatorial aspects. Basic definitions, and some fundamental topics in graph theory and its applications. Topics include trees and forests graph coloring, connectivity, matching theory and others

CSOR E4200 Data-driven Decision Modeling. 3.00 points.

Introduction to modeling, estimating, and solving decision-making problems in the context of artificial intelligence and analytics. Potential topics include choice models, quantity models, online learning using multi-armed bandits, dynamic decision modeling, dynamic games, and Bayesian learning theory. Practice both theory and applications using Python programming

CSOR E4231 ANALYSIS OF ALGORITHMS I. 3.00 points.

Prerequisites: COMS W3134, COMS W3136, or COMS W3137, and COMS W3203. Introduction to the design and analysis of efficient algorithms. Topics include models of computation, efficient sorting and searching, algorithms for algebraic problems, graph algorithms, dynamic programming, probabilistic methods, approximation algorithms, and NP-completeness

Spring 2025: CSOR E4231
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4231 001/14592 M W 11:40am - 12:55pm
Room TBA
Rachel Cummings 3.00 0/80

CSOR W4231 ANALYSIS OF ALGORITHMS I. 3.00 points.

Lect: 3.

Prerequisites: (COMS W3134 or COMS W3136COMS W3137) and (COMS W3203)
Prerequisites: (COMS W3134 or COMS W3136COMS W3137) and (COMS W3203) Introduction to the design and analysis of efficient algorithms. Topics include models of computation, efficient sorting and searching, algorithms for algebraic problems, graph algorithms, dynamic programming, probabilistic methods, approximation algorithms, and NP-completeness

Fall 2024: CSOR W4231
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4231 001/11990 M W 2:40pm - 3:55pm
833 Seeley W. Mudd Building
Alexandr Andoni 3.00 117/120
CSOR 4231 002/11991 M W 1:10pm - 2:25pm
451 Computer Science Bldg
Mihalis Yannakakis 3.00 98/110
CSOR 4231 V01/18730  
Alexandr Andoni 3.00 8/99
Spring 2025: CSOR W4231
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4231 001/12013 T 7:00pm - 9:30pm
Room TBA
Yihao Zhang 3.00 0/150

CSOR W4246 ALGORITHMS FOR DATA SCIENCE. 3.00 points.

Methods for organizing data, e.g. hashing, trees, queues, lists,priority queues. Streaming algorithms for computing statistics on the data. Sorting and searching. Basic graph models and algorithms for searching, shortest paths, and matching. Dynamic programming. Linear and convex programming. Floating point arithmetic, stability of numerical algorithms, Eigenvalues, singular values, PCA, gradient descent, stochastic gradient descent, and block coordinate descent. Conjugate gradient, Newton and quasi-Newton methods. Large scale applications from signal processing, collaborative filtering, recommendations systems, etc

Fall 2024: CSOR W4246
Course Number Section/Call Number Times/Location Instructor Points Enrollment
CSOR 4246 001/11992 T Th 11:40am - 12:55pm
614 Schermerhorn Hall
Eleni Drinea 3.00 113/120
CSOR 4246 002/11993 T Th 1:10pm - 2:25pm
614 Schermerhorn Hall
Eleni Drinea 3.00 106/120
CSOR 4246 V01/21159  
Eleni Drinea 3.00 2/99

CSOR W4561 Intellectual Property for Entrepreneurs. 1.5 point.

This course is designed for the business person or tech entrepreneur looking to get an overview of commercial opportunities in intellectual property, with a particular focus on technology patents. Whether you are an entrepreneur looking to commercialize your Next Big Idea, a corporate strategist in a tech company, or a business development executive within Big Pharma, patents are an increasingly important part of any business operation. With IT firms suing each other for patent infringement, so-called "patent trolls" changing the face of the mobile industry, and big pharma's pipeline looking precarious as blockbuster drugs go off market, it isn't surprising that patents have become part of the everyday news coverage for the Wall Street Journal, New York Times, and other general business publications. NOTE: This course is equivalent to the Graduate School of Business' course, "B8799: Intellectual Property for Entrepreneurs.

EECS E4321 DIGITAL VLSI CIRCUITS. 3.00 points.

Lect: 3.

Design and analysis of high speed logic and memory. Digital CMOS and BiCMOS device modeling. Integrated circuit fabrication and layout. Interconnect and parasitic elements. Static and dynamic techniques. Worst-case design. Heat removal and I/O. Yield and circuit reliability. Logic gates, pass logic, latches, PLAs, ROMs, RAMs, receivers, drivers, repeaters, sense amplifiers

Fall 2024: EECS E4321
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 4321 001/11300 T Th 1:10pm - 2:25pm
428 Pupin Laboratories
Kenneth Shepard 3.00 102/140

EECS W4340 Computer hardware design. 3 points.

Lect: 2. Lab: 3.

Prerequisites: (ELEN E3331) and (CSEE W3827)

Practical aspects of computer hardware design through the implementation, simulation, and prototyping of a PDP-8 processor. High-level and assembly languages, I/O, interrupts, datapath and control design, piplelining, busses, memory architecture. Programmable logic and hardware prototyping with FPGAs. Fundamentals of VHDL for register-transfer level design. Testing and validation of hardware. Hands-on use of industry CAD tools for simulation and synthesis.

EECS E4340 COMPUTER HARDWARE DESIGN. 3.00 points.

Lect: 2.

Prerequisites: (ELEN E3331) and (CSEE W3827)
Practical aspects of computer hardware design through the implementation, simulation, and prototyping of a PDP-8 processor. High-level and assembly languages, I/O, interrupts, datapath and control design, pipelining, busses, memory architecture. Programmable logic and hardware prototyping with FPGAs. Fundamentals of VHDL for register-transfer level design. Testing and validation of hardware. Hands-on use of industry CAD tools for simulation and synthesis

EECS E4750 Heterogeneous Computing for Signal and Data Processing. 3.00 points.

Lect: 2. Lab: 3.

Prerequisites: (ELEN E3801) and (COMS W3134) or similar courses recommended.
Methods for deploying signal and data processing algorithms on contemporary general purpose graphics processing units (GPGPUs) and heterogeneous computing infrastructures. Using programming languages such as OpenCL and CUDA for computational speedup in audio, image and video processing and computational data analysis. Significant design project

Fall 2024: EECS E4750
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 4750 001/11301 Th 1:10pm - 3:40pm
829 Seeley W. Mudd Building
Zoran Kostic 3.00 40/40

EECS E4764 IoT - INTELLIG & CONNECTED SYS. 3.00 points.

Prerequisites: Knowledge of programming or instructor's permission. Suggested preparation: ELEN E4703, CSEE W4119, CSEE W4840, or related courses.
Cyber-physical systems and Internet of Things. Various sensors and actuators, communication with devices through serial protocols and buses, embedded hardware, wired and wireless networks, embedded platforms such as Arduino and smartphones, web services on end devices and in the cloud, visualization and analytics on sensor data, end-to-end IoT applications. Group projects to create working CPS/IoT system

Fall 2024: EECS E4764
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 4764 001/11302 M W 2:40pm - 3:55pm
326 Uris Hall
Xiaofan Jiang 3.00 59/69

EECS E6321 Advanced digital electronic circuits. 4.5 points.

Lect: 3.

Prerequisites: (EECS E4321) EECS E4321.

Advanced topics in the design of digital integrated circuits. Clocked and non-clocked combinational logic styles. Timing circuits: latches and flip-flops, phase-locked loops, delay-locked loops. SRAM and DRAM memory circuits. Modeling and analysis of on-chip interconnect. Power distribution and power-supply noise. Clocking, timing, and synchronization issues. Circuits for chip-to-chip electrical communication. Advanced technology issues that affect circuit design. The class may include a team circuit design project.

Spring 2025: EECS E6321
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6321 001/13692 T Th 2:40pm - 3:55pm
Room TBA
Mingoo Seok 4.5 0/80

EECS E6690 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Lect: 2.Not offered during 2023-2024 academic year.

Prerequisites: Instructor's permission.
Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

Fall 2024: EECS E6690
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6690 001/11303 T 4:10pm - 6:40pm
633 Seeley W. Mudd Building
Predrag Jelenkovic 3.00 26/70

EECS E6691 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

Spring 2025: EECS E6691
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6691 001/13693 W 10:10am - 12:40pm
Room TBA
Zoran Kostic 3.00 0/50

EECS E6692 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

Spring 2025: EECS E6692
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6692 001/13694 W 1:10pm - 3:40pm
Room TBA
Zoran Kostic 3.00 0/25

EECS E6693 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

Fall 2024: EECS E6693
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6693 001/11304 M 1:10pm - 3:40pm
627 Seeley W. Mudd Building
Matthew Ziegler 3.00 13/50

EECS E6694 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

Fall 2024: EECS E6694
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6694 001/17696 M W 10:10am - 11:25am
214 Pupin Laboratories
Micah Goldblum 3.00 40/42

EECS E6695 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

EECS E6696 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

EECS E6697 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

EECS E6698 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

EECS E6699 TOPICS DATA-DRIVEN ANAL & COMP. 3.00 points.

Selected advanced topics in data-driven analysis and computation. Content varies from year to year, and different topics rotate through the course numbers 6690 to 6699

EECS E6720 BAYESIAN MOD MACHINE LEARNING. 3.00 points.

Lect: 3.

Prerequisites: Basic calculus, linear algebra, probability, and programming. Basic statistics and machine learning strongly recommended.
Basic statistics and machine learning strongly recommended. Bayesian approaches to machine learning. Topics include mixed-membership models, latent factor models, Bayesian nonparametric methods, probit classification, hidden Markov models, Gaussian mixture models, model learning with mean-field variational inference, scalable inference for Big Data. Applications include image processing, topic modeling, collaborative filtering and recommendation systems

EECS E6764 INTELLIG & CONNECTED SYS. 3.00 points.

EECS E6765 IoT - SYS &PHY DATA ANALYTICS. 3.00 points.

Lect: 3.

Prerequisites: (ELEN E4703) or (CSEE W4119) or related; or instructor's permission; knowledge of programming.
Internet of Things from the point of view of data. Methods for data analytics to understand tradeoffs and partitioning between cloud-based data-analytics and physical-device data-analytics. Two-way interaction between data and physical devices to support a truly ubiquitous, networked and autonomous cyber-physical ecosystem. System-focused design of architectures, algorithms, networks, protocols, communications, power, security and standards. Focus on a significant design project

EECS E6870 SPEECH RECOGNITION. 3.00 points.

Lect: 3.

Prerequisites: Basic probability and statistics.
Theory and practice of contemporary automatic speech recognition. Gaussian mixture distributions, hidden Markov models, pronunciation modeling, decision trees, finite-state transducers, and language modeling. Selected advanced topics will be covered in more depth

EECS E6890 Topics in information processing. 3 points.

Lect.: 2.

Advanced topics spanning Electrical Engineering and Computer Science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899. 

EECS E6891 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899

Fall 2024: EECS E6891
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6891 001/11312 M 1:10pm - 3:40pm
227 Seeley W. Mudd Building
Hubertus Franke 3.00 5/45
Spring 2025: EECS E6891
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6891 001/13695 M 1:10pm - 3:40pm
Room TBA
Hubertus Franke 3.00 0/45

EECS E6892 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899

Spring 2025: EECS E6892
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6892 001/13696 T 1:10pm - 3:40pm
Room TBA
Javad Ghaderi 3.00 0/65

EECS E6893 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899. Topic: Big Data Analytics

Fall 2024: EECS E6893
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6893 001/11305 F 7:00pm - 9:30pm
833 Seeley W. Mudd Building
Ching-yung Lin 3.00 70/150
EECS 6893 V01/17553  
Ching-yung Lin 3.00 3/99

EECS E6894 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899

Fall 2024: EECS E6894
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6894 001/13771 T Th 8:40am - 9:55am
141 Uris Hall
Tanvir Ahmed Khan 3.00 30/60

EECS E6895 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning Electrical Engineering and Computer Science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899. Topic: Advanced Big Data Analytics

EECS E6896 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899. Topic: Quantum Computing and Communication

Fall 2024: EECS E6896
Course Number Section/Call Number Times/Location Instructor Points Enrollment
EECS 6896 001/11306 M 4:10pm - 6:40pm
420 Pupin Laboratories
Alexei Ashikhmin 3.00 16/50

EECS E6897 Topics in Information Processing. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899

EECS E6898 TOPICS-INFORMATION PROCESSING. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899

EECS E6899 Topics-Information Processing. 3.00 points.

Advanced topics spanning electrical engineering and computer science such as speech processing and recognition, image and multimedia content analysis, and other areas drawing on signal processing, information theory, machine learning, pattern recognition, and related topics. Content varies from year to year, and different topics rotate through the course numbers 6890 to 6899

EECS E9601 Seminar in Data-Driven Analysis and Computation. 3.00 points.

Lect.: 2.Not offered during 2023-2024 academic year.

Prerequisites: Open to doctoral candidates, and qualified M.S. candidates with the instructor's permission.
Advanced topics and recent developments in mathematical techniques and computational tools for data science and engineering problems

MECS E4510 EVOLUTIONARY COMPUTATION&DESIGN AUTOMATI. 3.00 points.

Prerequisites: Basic programming experience in any language.
Fundamental and advanced topics in evolutionary algorithms and their application to open-ended optimization and computational design. Covers genetic algorithms, genetic programming, and evolutionary strategies, as well as governing dynamic of coevolution and symbiosis. Includes discussions of problem representations and applications to design problems in a variety of domains including software, electronics, and mechanics

MECS E4603 APPLIED ROBOTICS: ALGORITHMS&SOFTWARE. 3.00 points.

Fall 2024: MECS E4603
Course Number Section/Call Number Times/Location Instructor Points Enrollment
MECS 4603 001/15415 Th 1:10pm - 3:40pm
750 Schapiro Cepser
Matei Ciocarlie 3.00 56/78

MECS E6615 Robotic Manipulation: Sensing, Planning, Design and Execution. 3 points.

Lect: 3.

Prerequisites: (MECE E4602) or (COMS W4733)

Theory and mechanisms of robotic manipulation, from sensor data,reasoning and planning to implementation and execution. Grasp quality measures and optimization; planning and execution for manipulation primitives; sensor modalities: vision, touch and proprioception; simulation for manipulation planning; design of robot manipulators. Grading based on a combination of class presentations of novel research results in the field, participation in discussions, and course projects combining simulation, processing of sensor data, planning for manipulation, design and implementation on real robot hands.

MECS E6616 ROBOT LEARNING. 3.00 points.

Prerequisites: (MECE E4602) and (MECS E4603) or (COMS W4733)
Robots using machine learning to achieve high performance in unscripted situations. Dimensionality reduction, classification, and regression problems in robotics. Deep Learning: Convolutional Neural Networks for robot vision, Recurrent Neural Networks, and sensorimotor robot control using neural networks. Model Predictive Control using learned dynamics models for legged robots and manipulators. Reinforcement Learning in robotics: model-based and model-free methods, deep reinforcement learning, sensorimotor control using reinforcement learning

Spring 2025: MECS E6616
Course Number Section/Call Number Times/Location Instructor Points Enrollment
MECS 6616 001/13323 M W 10:10am - 11:25am
Room TBA
Matei Ciocarlie 3.00 0/90