http://www.cs.barnard.edu

Departmental Office: 504 Milstein Center; 212-853-0305

Director: Dr. Rebecca Wright, chair-cs@barnard.edu

Barnard's computer science community is growing. The number of Computer Science majors at Barnard has doubled over the last several years. Barnard’s Computer Science program offers meaningful computing education and experiences to all Barnard students and partners with Columbia's Computer Science department to offer a major in Computer Science. The program aims to expand students' use and understanding of computation and data analysis across disciplines; offer students opportunities to think critically about the social implications of technology, including how to harness it for social good; promote curricular and pedagogical advances in computer science and its multidisciplinary applications; and provide new models for engaging students and enhancing diversity in computing.

Program Director: Rebecca Wright 

Professor: Rebecca Wright (Druckenmiller Professor of Computer Science)

Faculty Fellow: Sarah Morrison-Smith (Roman Family Teaching and Research Fellow) 

For a list of other officers of the University offering courses in Computer Science, please see the Columbia Computer Science department website below:

https://www.cs.columbia.edu/people/faculty/

This QuickGuide is for Barnard students who are majoring or minoring in Computer Science. It explains how the program is structured, what courses to take and when.  Please access the link below and view "BA in Computer Science (CC, GS, Barnard)" under Degree Programs.

http://www.cs.columbia.edu/education/undergraduate/

Barnard College Computer Science Courses

COMS BC3099 Independent Study. 1.00-4.00 points.

Course can be taken for 1-4 points.

Independent Study. Instructor permission required

COMS BC3162 Developing Accessible User Interfaces. 3 points.

Introduction to access technology and the development of accessible systems. In this course, students build and evaluate various access technologies. Topics include: text-to-speech, speech recognition, screen readers, screen magnification, alternative input, tactile displays, and web transformation. This course teaches students the deep inner workings of today’s user interface technology and serve as a guide for building the user interfaces of the future.

Spring 2020: COMS BC3162
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3162 001/00692 T 10:10am - 12:00pm
207 Milbank Hall
Sarah Morrison-Smith 3 42/40

COMS BC3364 Introduction to Contextual Design for Technology. 3 points.

Introduces methods and tools used in Contextual Inquiry (CI) specifically the early stages of software design focused on meeting user needs. Key concepts include user research, contextual design, design thinking, ideation, iterative design, prototyping, and design documentation. Projects utilize software tools used in the industry.

Fall 2020: COMS BC3364
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3364 001/00306 T Th 10:10am - 11:25am
Room TBA
Sarah Morrison-Smith 3 40/40

COMS BC3420 Privacy in a Networked World. 4 points.

The ubiquity of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data: data that, if used improperly, can harm the data subjects. As a result, concern about the use, ownership, control, privacy, and accuracy of these data has become a top priority. This seminar course focuses on both the technical challenges of handling sensitive data, the privacy implications of various technologies, and the policy and legal issues facing data subjects, data owners, and data users. 

Spring 2020: COMS BC3420
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3420 001/00066 Th 4:10pm - 6:00pm
Ll016 Milstein Center
Rebecca Wright 4 23/25

COMS BC3430 Computational Sound. 3 points.

In this course, we explore the variety of roles that computation can play in the analysis, creation, and performance of music. We start with the fundamentals of sound in the digital domain, covering issues of representation and audio synthesis. We then move through various synthesis techniques including the additive, subtractive, frequency modulation (FM), and amplitude modulation (AM) synthesis. After covering some core DSP techniques, we put these concepts into performative practice by exploring “live coding”. In the space of live coding, we examine various programming language designs to understand how various domain specific languages (DSLs) support live coding. For the third module, we turn our focus to automated composition and analysis, addressing challenges in music information retrieval, generative art, and autonomous improvisation systems. All the while, we continue to develop our fluency in live coding by putting new topics to practice.

Fall 2020: COMS BC3430
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3430 001/00655 M W 10:10am - 11:25am
Room TBA
Mark Santolucito 3 26/24

COMS BC3997 New Directions in Computing . 1 point.

This is an undergraduate seminar for special topics in computing arranged as the need and availability arises. Topics are usually offered on a one-time basis.  Participation requires permission of the instructor.  Since the content of this course changes each time it is offered, it may be repeated for credit. 

Spring 2020: COMS BC3997
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3997 001/00806  
Rebecca Wright 1 3/10

Columbia College Computer Science Courses 

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 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 2020: COMS W1002
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1002 001/11682 T Th 2:40pm - 3:55pm
Room TBA
Adam Cannon 4 243/300

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.

Spring 2020: COMS W1004
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/12611 T Th 1:10pm - 2:25pm
309 Havemeyer Hall
Adam Cannon 3 166/300
COMS 1004 002/12612 T Th 2:40pm - 3:55pm
309 Havemeyer Hall
Adam Cannon 3 179/300
Fall 2020: COMS W1004
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1004 001/11692 T Th 4:10pm - 5:25pm
Room TBA
Adam Cannon 3 187/400

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 W1007 Honors Introduction to Computer Science. 3 points.

Lect: 3.

Prerequisites: AP Computer Science with a grade of 4 or 5 or similar experience.

An honors-level introduction to computer science, intended primarily for students considering a major in computer science. Computer science as a science of abstraction. Creating models for reasoning about and solving problems. The basic elements of computers and computer programs. Implementing abstractions using data structures and algorithms. Taught in Java. 

COMS W1404 Emerging Scholars Program Seminar. 1 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.

Spring 2020: COMS W1404
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 1404 001/35447 F 12:15pm - 1:30pm
652 Schermerhorn Hall
Adam Cannon 1 9/15
COMS 1404 002/35448 F 1:45pm - 3:00pm
652 Schermerhorn Hall
Adam Cannon 1 4/15
COMS 1404 003/35449 F 1:15pm - 2:30pm
408a Philosophy Hall
Adam Cannon 1 3/15
COMS 1404 004/35450 F 2:45pm - 4:00pm
408a Philosophy Hall
Adam Cannon 1 5/15

COMS W3101 Programming Languages. 1 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.

Spring 2020: COMS W3101
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3101 001/20074 W 6:10pm - 8:00pm
644 Seeley W. Mudd Building
Lawrence Stead 1 35/40
COMS 3101 002/20135 M 6:10pm - 8:00pm
825 Seeley W. Mudd Building
Ramana Isukapalli 1 27/40

COMS W3102 Development Technologies. 1-2 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.

Spring 2020: COMS W3102
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3102 001/12613 F 2:10pm - 4:00pm
302 Fayerweather
Gary Zamchick 1-2 19/30
COMS 3102 002/12614 M 4:10pm - 6:00pm
337 Seeley W. Mudd Building
Bruno Scap 1-2 32/30
COMS 3102 003/19973 W 6:10pm - 8:00pm
303 Hamilton Hall
Robert Coyne 1-2 34/40

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

Fall 2020: COMS W3107
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3107 001/15932 M W 1:10pm - 2:25pm
Room TBA
John Kender 3.00 10/70

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.

Spring 2020: COMS W3134
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/12615 M W 5:40pm - 6:55pm
417 International Affairs Bldg
Paul Blaer 3 333/350
Fall 2020: COMS W3134
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3134 001/10066 M W 5:40pm - 6:55pm
Room TBA
Paul Blaer 3 277/350

COMS W3136 Data Structures with C/C++. 4 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 2020: COMS W3136
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3136 001/15273 T Th 5:40pm - 6:55pm
Room TBA
Timothy Paine 4 16/80

COMS W3137 Honors Data Structures and Algorithms. 4 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.

Spring 2020: COMS W3137
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3137 001/12617 T Th 2:40pm - 3:55pm
503 Hamilton Hall
Paul Blaer 4 37/50

COMS W3157 Advanced Programming. 4 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.

Spring 2020: COMS W3157
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/12618 T Th 4:10pm - 5:25pm
301 Pupin Laboratories
Jae Lee 4 247/272
Fall 2020: COMS W3157
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3157 001/10067 T Th 4:10pm - 5:25pm
Room TBA
Jae Lee 4 327/330

COMS W3203 Discrete Mathematics: Introduction to Combinatorics and Graph Theory. 3 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).

Spring 2020: COMS W3203
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/12619 M W 10:10am - 11:25am
417 International Affairs Bldg
Ansaf Salleb-Aouissi 3 147/152
Fall 2020: COMS W3203
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3203 001/11672 T Th 10:10am - 11:25am
Room TBA
Ansaf Salleb-Aouissi 3 150/150
COMS 3203 002/11673 T Th 11:40am - 12:55pm
Room TBA
Ansaf Salleb-Aouissi 3 150/150

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.

Spring 2020: COMS W3251
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3251 001/12620 T 2:40pm - 3:55pm
203 Mathematics Building
Tony Dear 4.00 82/150
COMS 3251 002/12621 T Th 4:10pm - 5:25pm
203 Mathematics Building
Tony Dear 4.00 44/150
Fall 2020: COMS W3251
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3251 001/10068 T Th 2:40pm - 3:55pm
Room TBA
Tony Dear 4.00 78/150

COMS W3261 Computer Science Theory. 3 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.

Spring 2020: COMS W3261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/12622 T Th 10:10am - 11:25am
451 Computer Science Bldg
Mihalis Yannakakis 3 103/110
COMS 3261 002/12910 T Th 11:40am - 12:55pm
451 Computer Science Bldg
Mihalis Yannakakis 3 109/110
COMS 3261 H01/34722  
Mihalis Yannakakis 3 32/50
Fall 2020: COMS W3261
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3261 001/11666 T Th 8:40am - 9:55am
Room TBA
Tal Malkin 3 110/110
COMS 3261 002/11667 T Th 10:10am - 11:25am
Room TBA
Tal Malkin 3 112/110

COMS W3410 Computers and Society. 3 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 2020: COMS W3410
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 3410 001/11022 T Th 4:10pm - 5:25pm
Room TBA
Ronald Baecker 3 50/50

COMS W3902 Undergraduate Thesis. 1-6 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 Undergraduate Projects in Computer Science. 1-3 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, but not for a total of more than 3 points of degree credit. Consult the department for section assignment.

COMS W4111 Introduction to Databases. 3 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 course covers what a database system is, how to design databases effectively and in a principled manner, how to query databases, and how to develop applications using databases: entity-relationship modeling, logical design of relational databases, relational algebra, SQL, database application development, database security, and an overview of query optimization and transaction processing. Additional topics generally include NoSQL, graph, object-relational, and cloud databases, as well as data preparation and cleaning of real-world data. The course offers both programming and non-programming paths for homework and projects, to accommodate students with different programming skills and backgrounds.

Spring 2020: COMS W4111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/12624 M W 1:10pm - 2:25pm
501 Northwest Corner
Kenneth Ross 3 115/164
COMS 4111 002/13586 F 10:10am - 12:40pm
309 Havemeyer Hall
Donald Ferguson 3 317/320
COMS 4111 003/19905 F 1:10pm - 3:40pm
451 Computer Science Bldg
Alexandros Biliris 3 17/100
COMS 4111 H02/25028  
Donald Ferguson 3 42/75
COMS 4111 V02/25137  
Donald Ferguson 3 14/99
Fall 2020: COMS W4111
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4111 001/10069 T Th 1:10pm - 2:25pm
Room TBA
Luis Gravano 3 0/164
COMS 4111 002/10873 F 10:10am - 12:40pm
Room TBA
Donald Ferguson 3 0/200
COMS 4111 003/10874 Th 10:10am - 12:40pm
Room TBA
Alexandros Biliris 3 0/100

COMS W4112 Database System Implementation. 3 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 Fundamentals of Large-Scale Distributed Systems. 3 points.

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 2020: COMS W4113
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4113 001/11671 F 1:10pm - 3:40pm
451 Computer Science Bldg
Roxana Geambasu 3 0/110

COMS W4115 Programming Languages and Translators. 3 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.

Spring 2020: COMS W4115
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/12625 M W 2:40pm - 3:55pm
451 Computer Science Bldg
Ronghui Gu 3 109/110
COMS 4115 V01/25139  
Ronghui Gu 3 2/99
Fall 2020: COMS W4115
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4115 001/10070 M W 1:10pm - 2:25pm
Room TBA
Baishakhi Ray 3 0/100

COMS W4117 Compilers and Interpreters. 3 points.

Lect: 3.Not offered during 2020-21 academic year.

Prerequisites: (COMS W4115) or instructor's permission.

Continuation of COMS W4115, with broader and deeper investigation into the design and implementation of contemporary language translators, be they compilers or interpreters. Topics include parsing, semantic analysis, code generation and optimization, run-time environments, and compiler-compilers. A programming project is required.

COMS W4118 Operating Systems I. 3 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.

Spring 2020: COMS W4118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/12626 W 4:10pm - 6:40pm
501 Northwest Corner
Jae Lee 3 93/135
Fall 2020: COMS W4118
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4118 001/10071 W 4:10pm - 6:40pm
Room TBA
Jae Lee 3 0/150

COMS W4121 Computer Systems for Data Science. 3 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.

Spring 2020: COMS W4121
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4121 001/20153 M 4:10pm - 6:40pm
501 Northwest Corner
Asaf Cidon 3 137/155
COMS 4121 V01/36409  
Asaf Cidon 3 0/99

COMS W4130 Principles and Practice of Parallel Programming. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3137 or COMS W3136 and experience in Java) and basic understanding of analysis of algorithms.

Principles of parallel software design. Topics include task and data decomposition, load-balancing, reasoning about correctness, determinacy, safety, and deadlock-freedom. Application of techniques through semester-long design project implementing performant, parallel application in a modern parallel programming language.

COMS W4156 Advanced Software Engineering. 3 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.

Spring 2020: COMS W4156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4156 001/16219 T 12:10pm - 2:00pm
411 International Affairs Bldg
Junfeng Yang 3 64/72
Fall 2020: COMS W4156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4156 001/10072 T Th 10:10am - 11:25am
Room TBA
Gail Kaiser 3 0/120

COMS W4160 Computer Graphics. 3 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 2020: COMS W4160
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4160 001/12627 T Th 5:40pm - 6:55pm
1127 Seeley W. Mudd Building
Changxi Zheng 3 73/80
COMS 4160 V01/34916  
Changxi Zheng 3 5/99

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 W4167 Computer Animation. 3 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). 

Fall 2020: COMS W4167
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4167 001/11388 T Th 5:40pm - 6:55pm
Room TBA
Changxi Zheng 3 0/70

COMS W4170 User Interface Design. 3 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.

Spring 2020: COMS W4170
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/12628 M W 4:10pm - 5:25pm
451 Computer Science Bldg
Lydia Chilton 3 108/100
COMS 4170 002/36445 F 10:10am - 12:40pm
451 Computer Science Bldg
Lydia Chilton 3 105/100
COMS 4170 V01/25144  
Lydia Chilton 3 9/5
Fall 2020: COMS W4170
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4170 001/10073 M W 2:40pm - 3:55pm
Room TBA
Brian Smith 3 0/110

COMS W4172 3D User Interfaces and Augmented Reality. 3 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 2020: COMS W4172
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4172 001/12629 T Th 1:10pm - 2:25pm
520 Mathematics Building
Steven Feiner 3 32/40

COMS W4181 Security I. 3 points.

Not offered during 2020-21 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.

Fall 2020: COMS W4181
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4181 001/10074 T Th 1:10pm - 2:25pm
Room TBA
Steven Bellovin 3 0/60

COMS W4182 Security II. 3 points.

Not offered during 2020-21 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 esting and fuzzing. Blockchain. Human security issues.

Spring 2020: COMS W4182
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4182 001/12630 F 10:10am - 12:40pm
545 Seeley W. Mudd Building
Steven Bellovin 3 21/72
COMS 4182 V01/25148  
Steven Bellovin 3 2/99

COMS W4186 Malware Analysis and Reverse Engineering. 3 points.

Not offered during 2020-21 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.

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 2020-21 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 W4232 Advanced Algorithms. 3 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.

 

COMS W4236 Introduction to Computational Complexity. 3 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 2020: COMS W4236
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4236 001/11562 F 4:10pm - 6:40pm
Room TBA
Xi Chen 3 0/40

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 Numerical Algorithms and Their Complexity II. 3 points.

Prerequisites: COMS W4241.

A continuation of COMS W4241.

COMS W4252 Introduction to Computational Learning Theory. 3 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.

Fall 2020: COMS W4252
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4252 001/10810 T Th 8:40am - 9:55am
Room TBA
Rocco Servedio 3 0/90

COMS W4261 Introduction to Cryptography. 3 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.

COMS W4281 Introduction to Quantum Computing. 3 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.

COMS W4419 Internet Technology, Economics, and Policy. 3 points.

Not offered during 2020-21 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.

Fall 2020: COMS W4419
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4419 001/10075 F 1:10pm - 3:40pm
Room TBA
Henning Schulzrinne 3 13/60

COMS W4444 Programming and Problem Solving. 3 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 2020: COMS W4444
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4444 001/10315 M W 1:10pm - 2:25pm
Room TBA
Kenneth Ross 3 0/30

COMS W4460 Principles of Innovation and Entrepreneurship. 3 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 2020: COMS W4460
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4460 001/15274 F 10:10am - 12:40pm
Room TBA
William Reinisch 3 6/40

COMS W4560 Introduction to Computer Applications in Health Care and Biomedicine. 3 points.

Lect: 3.

Prerequisites: Experience with computers and a passing familiarity with medicine and biology. Undergraduates in their senior or junior years may take this course only if they have adequate background in mathematics and receive the instructor's permission.

An overview of the field of biomedical informatics, combining perspectives from medicine, computer science and social science. Use of computers and information in health care and the biomedical sciences, covering specific applications and general methods, current issues, capabilities and limitations of biomedical informatics. Biomedical Informatics studies the organization of medical information, the effective management of information using computer technology, and the impact of such technology on medical research, education, and patient care. The field explores techniques for assessing current information practices, determining the information needs of health care providers and patients, developing interventions using computer technology, and evaluating the impact of those interventions.

COMS W4701 Artificial Intelligence. 3 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.

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.

Spring 2020: COMS W4701
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/12631 T Th 10:10am - 11:25am
501 Northwest Corner
Ansaf Salleb-Aouissi 3 160/164
COMS 4701 H01/25036  
Ansaf Salleb-Aouissi 3 47/55
COMS 4701 V01/25149  
Ansaf Salleb-Aouissi 3 10/99
Fall 2020: COMS W4701
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4701 001/10076 M W 4:10pm - 5:25pm
Room TBA
Tony Dear 3 0/250

COMS W4705 Natural Language Processing. 3 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.

Spring 2020: COMS W4705
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4705 001/12632 F 1:10pm - 3:40pm
402 Chandler
Yassine Benajiba 3 126/126
COMS 4705 002/13588 T Th 4:10pm - 5:25pm
1127 Seeley W. Mudd Building
Michael Collins 3 78/80
COMS 4705 H01/34724  
Yassine Benajiba 3 48/50
COMS 4705 V02/25154  
Michael Collins 3 8/99
Fall 2020: COMS W4705
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4705 001/14312 M W 4:10pm - 5:25pm
451 Computer Science Bldg
Kathleen McKeown 3 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 W4725 Knowledge representation and reasoning. 3 points.

Lect: 3.Not offered during 2020-21 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. 3 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 2020: COMS W4731
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4731 001/11898 M W 10:10am - 11:25am
Room TBA
Shree Nayar 3 0/120

COMS W4733 Computational Aspects of Robotics. 3 points.

CC/GS: Partial Fulfillment of Science Requirement

Prerequisites: (COMS W3134 or COMS W3136COMS W3137)

Introduction to robotics from a computer science perspective. Topics include coordinate frames and kinematics, computer architectures for robotics, integration and use of sensors, world modeling systems, design and use of robotic programming languages, and applications of artificial intelligence for planning, assembly, and manipulation.

Fall 2020: COMS W4733
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4733 001/10077 T Th 4:10pm - 5:25pm
Room TBA
Shuran Song 3 60/60

COMS W4735 Visual Interfaces to Computers. 3 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.

Spring 2020: COMS W4735
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4735 001/12634 T Th 2:40pm - 3:55pm
833 Seeley W. Mudd Building
John Kender 3 78/120
COMS 4735 V01/25155  
John Kender 3 1/99

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

Spring 2020: COMS W4771
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/12636 T Th 2:40pm - 3:55pm
501 Northwest Corner
Nakul Verma 3 174/164
COMS 4771 H01/25038  
Nakul Verma 3 33/50
COMS 4771 V01/25156  
Nakul Verma 3 5/99
Fall 2020: COMS W4771
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4771 001/10078 T Th 1:10pm - 2:25pm
Room TBA
Nakul Verma 3 0/110
COMS 4771 002/10079 T Th 2:40pm - 3:55pm
Room TBA
Nakul Verma 3 0/110

COMS W4772 Advanced Machine Learning. 3 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.

Spring 2020: COMS W4772
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4772 001/12637 T Th 1:10pm - 2:25pm
451 Computer Science Bldg
Nakul Verma 3 35/110
Fall 2020: COMS W4772
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4772 001/10080 M W 8:40am - 9:55am
Room TBA
Daniel Hsu 3 0/50

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

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

Prerequisites: see notes re: 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 W4775 Causal Inference. 3 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.

 

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

COMS W4910 Curricular Practical Training. 1 point.

Prerequisites: obtained internship and approval from faculty advisor.

Only for M.S. students in the Computer Science department who need relevant work experience as part of their program of study. Final report required. This course may not be taken for pass/fail credit or audited.

COMS W4995 Special topics in computer science, I. 3 points.

Lect: 3.

Prerequisites: Instructor's permission.

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. 

Spring 2020: COMS W4995
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/12639 M W 8:40am - 9:55am
417 Mathematics Building
Daniel Hsu 3 34/64
COMS 4995 002/12640 T Th 2:40pm - 3:55pm
1024 Seeley W. Mudd Building
Alexandr Andoni 3 47/70
COMS 4995 003/12641 F 10:10am - 12:00pm
327 Seeley W. Mudd Building
Bjarne Stroustrup 3 34/36
COMS 4995 004/12642 Th 6:10pm - 8:00pm
313 Fayerweather
Tristan Boutros 3 50/50
COMS 4995 005/12643 M W 4:10pm - 5:25pm
1127 Seeley W. Mudd Building
Iddo Drori 3 67/80
COMS 4995 006/12644 W 1:10pm - 3:40pm
411 International Affairs Bldg
Timothy Roughgarden 3 43/67
COMS 4995 007/13659 F 1:10pm - 3:40pm
834 Seeley W. Mudd Building
Isabelle Zaugg, Smaranda Muresan 3 20/30
COMS 4995 008/14158 M W 4:10pm - 5:25pm
633 Seeley W. Mudd Building
Elias Bareinboim 3 38/60
COMS 4995 009/16374 M W 8:40am - 9:55am
627 Seeley W. Mudd Building
Augustin Chaintreau 3 17/52
COMS 4995 010/16806 T 6:10pm - 8:00pm
301m Fayerweather
Agnes Chang 3 35/39
COMS 4995 011/20022 M W 1:10pm - 2:25pm
417 International Affairs Bldg
Andreas Mueller 3 208/225
COMS 4995 012/20023 Th 7:00pm - 9:30pm
402 Chandler
Joshua Gordon 3 134/130
COMS 4995 013/20029 W 7:00pm - 9:30pm
834 Seeley W. Mudd Building
Adam Kelleher 3 33/42
COMS 4995 V02/25160  
Alexandr Andoni 3 3/99
COMS 4995 V05/25157  
Iddo Drori 3 11/99
COMS 4995 V12/25158  
Joshua Gordon 3 6/99
Fall 2020: COMS W4995
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4995 001/10081 T 4:10pm - 6:40pm
Room TBA
Paul Blaer 3 0/30
COMS 4995 002/10849 T Th 4:10pm - 5:25pm
Room TBA
Daniel Bauer 3 0/48
COMS 4995 003/10082 M W 5:40pm - 6:55pm
Room TBA
Stephen Edwards 3 0/60
COMS 4995 004/10850 T Th 2:40pm - 3:55pm
Room TBA
Peter Belhumeur 3 0/60
COMS 4995 005/10851 M W 4:10pm - 5:25pm
Room TBA
David Knowles 3 0/50
COMS 4995 006/14067 Th 6:10pm - 8:00pm
Room TBA
Tristan Boutros 3 10/40
COMS 4995 007/14068 Th 8:10pm - 10:00pm
Room TBA
Tristan Boutros 3 8/50

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

Lect: 3.Not offered during 2020-21 academic year.

Prerequisites: Instructor's permission.

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