Go to m.barnard.edu for the Mobile Barnard web app or download it from the App Store or Google Play.

Courses for Computer Science

Unify Course Listings

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 W1003 and W 1004. Likewise students may receive credit for only one of the following four courses: COMS W3133, W3134, W3137, and W3139.

COMS W 1001x and y Introduction to Information Science

Basic Introduction to concepts and skills in Information Sciences: human-computer interfaces, representing information digitally, organizing and searching information on the World Wide Web, principles of algorithmic problem solving, introduction to database concepts, introduction to programming in Python.
BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W1001
COMS
1001
72549
001
MW 11:40a - 12:55p
633 SEELEY W. MUDD BUILDING
B. Xie 84 [ More Info ]

COMS W 1004x and y Introduction to Computer Science and Programming in Java

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 and 1005. - A. Cannon
BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W1004
COMS
1004
87197
001
MW 4:10p - 5:25p
TBA
A. Cannon 313 / 400 [ More Info ]

COMS W 1005x and y Introduction to Computer Science and Programming in MATLAB

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: 1004 and 1005. - Paul Blaer
Prerequisites: None Corequisites: None BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W1005
COMS
1005
91748
001
MW 10:10a - 11:25a
TBA
I. Vovsha 51 / 150 [ More Info ]

ENGI E 1006x and y Introduction to Computing for Engineers and Applied Scientists

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. - Adam Cannon
3 points

COMS W 1007x Honors introduction to Computer Science

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. - John Kender
Prerequisites: AP Computer Science with a grade of 4 or 5 or similar experience. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W1007
COMS
1007
76031
001
TuTh 1:10p - 2:25p
633 SEELEY W. MUDD BUILDING
J. Kender 37 / 90 [ More Info ]

COMS W 1404x and y Emerging Scholars Program Seminar

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. - A. Cannon
Corequisites: COMS W1004/1007 or ENGI E1006. Enrollment with
instructor permission only.

1-1 points. pass/fail only

ECBM E 3060x Introduction to Genomic Information Science and Technology

Introduction to the information system paradigm of molecular biology. Representation, organization, structure, function and manipulation of the biomolecular sequences of nucleic acids and proteins. The role of enzymes and gene regulatory elements in natural biological functions as well as in biotechnology and genetic engineering. Recombination and other macromolecular processes viewed as mathematical operations with simulation and visualization using simple computer programming. This course shares lectures with ECBM E4060, but the work requirements differ somewhat. - D. Anastassiou
BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 3101x and y Programming Languages

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.
Prerequisites: Fluency in at least one programming language. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
1 point Lect: 1.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3101
COMS
3101
22948
001
W 10:10a - 12:00p
TBA
D. Bauer 40 / 40 [ More Info ]
COMS
3101
27203
002
W 10:10a - 12:00p
TBA
D. Bauer 34 / 40 [ More Info ]

COMS W 3134x and y Data structures in 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. - S. Hershkop
Prerequisites: COMS W1004 or knowledge of Java. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3134
COMS
3134
82782
001
MW 5:40p - 6:55p
301 PUPIN LABORATORIES
P. Blaer 230 / 230 [ More Info ]

COMS W 3136y Data Structures with C/C++

A second programming course intended for non-majors with at least one semester of introductory programming experience. Basic elements of programming in C and C++, array-based data structures, heaps, linked lists, C programming in UNIX environment, object-oriented programming in C++, trees, graphs, generic programming, hash tables. - J. Lee
Prerequisites: COMS W1004, W1005, W1007 or ENGI E1006
4-4 points.

COMS W 3137y Honors Data Structures and Algorithms

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. - Peter Allen
Prerequisites: COMS W1007. Corequisites: COMS W3203. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
4 points Lect: 3.

COMS W 3157x and y Advanced Programming

Practical, hands-on introduction to programming techniques and tools for professional software construction, including learning how to write code to given specifications as well as document the results. Provides introductory overview of C and C++ in a UNIX environment, for students with Java background. Also introduces scripting languages (perl) and basic web programming. UNIX programming utilities are also covered.
Prerequisites: Two semesters of programming experience. Lab Required. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
4 points Lect: 4.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3157
COMS
3157
61998
001
TuTh 11:40a - 12:55p
TBA
J. Lee 220 / 250 [ More Info ]

COMS W 3203x and y Discrete Mathematics: Introduction to Combinatorics and Graph Theory

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). - J. Gross
Prerequisites: Any introductory course in computer programming. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3203
COMS
3203
70547
001
TuTh 5:40p - 6:55p
TBA
D. Strickland 150 / 150 [ More Info ]

COMS W 3210y Scientific Computation

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. - J. Traub
Prerequisites: Two terms of calculus. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 3251x Computational Linear Algebra

Computational linear algebra, solution of linear systems, sparse linear systems, least squares, eigenvalue problems, and numerical solution of other multivariate problems as time permits. - H. Wozniakowski
Prerequisites: two terms of calculus. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3251
COMS
3251
72480
001
TuTh 2:40p - 3:55p
833 SEELEY W. MUDD BUILDING
A. Papageorgiou 120 / 120 [ More Info ]

COMS W 3261x and y Computer Science Theory

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. - M. Yannakakis
Prerequisites: COMS W3203 Corequisites: COMS W3134, W3136, or W3137 BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3261
COMS
3261
61565
001
MW 1:10p - 2:25p
833 SEELEY W. MUDD BUILDING
A. Aho 120 / 120 [ More Info ]

CSEE W 3827x and y Fundamentals of Computer Systems

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.
Prerequisites: An introductory programming course. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: CSEE W3827
CSEE
3827
70196
001
TuTh 10:10a - 11:25a
501 SCHERMERHORN HALL
M. Kim 130 / 130 [ More Info ]

COMS W 3902x and y Undergraduate Thesis

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.
Prerequisites: Agreement by a faculty member to serve as thesis adviser.
1-6 points.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3902
COMS
3902
73451
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]

COMS W 3995x or y Special Topics in Computer Science

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.
Prerequisites: the instructor's permission.
3 points Lect: 3.

COMS W 3998x and y Undergraduate Projects in Computer Science

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.
Prerequisites: approval by a faculty member who agrees to supervise the work.
1-3 points.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W3998
COMS
3998
62748
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]

ECBM E 4060x Introduction to Genomic Information

Introduction to the information system paradigm of molecular biology. Representation, organization, structure, function, and manipulation of the biomolecular sequences of nucleic acids and proteins. The role of enzymes and gene regulatory elements in natural biological functions as well as in biotechnology and genetic engineering. Recombination and other macromolecular processes viewed as mathematical operations with simulation and visualization using simple computer programming. This course shares lectures with ECBM E3060, but the work requirements differ somewhat. - D. Anastassiou
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: ECBM E4060
ECBM
4060
69462
001
M 7:00p - 9:30p
834 SEELEY W. MUDD BUILDING
D. Anastassiou 24 [ More Info ]

COMS W 4111x and y Introduction to Databases

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. - L. Gravano
Prerequisites: COMS W3134, W3136, or W3137, fluency in Java; or instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4111
COMS
4111
27519
001
Tu 1:10p - 3:40p
TBA
A. Biliris 80 / 80 [ More Info ]
COMS
4111
12032
002
TuTh 4:10p - 5:25p
717 HAMILTON HALL
K. Ross 82 / 80 [ More Info ]

COMS W 4112y Database System Implementation

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. - L. Gravano, K. Ross
Prerequisites: COMS W4111; fluency in Java or C++. CSEE W3827 is recommended.
3 points Lect: 2.5.

COMS W 4115x and y Programming Languages and Translators

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. - S. Edwards, A. Aho
Prerequisites: COMS W3134, W3136, or W3137 (or equivalent), W3261, and CSEE W3827, or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4115
COMS
4115
22163
001
MW 4:10p - 5:25p
535 SEELEY W. MUDD BUILDING
S. Edwards 120 / 120 [ More Info ]

COMS W 4117x or y Compilers and Interpreters

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. - A. Aho
Prerequisites: COMS W4115 or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4118x and y Operating Systems I

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. - J. Nieh
Prerequisites: CSEE W3827 and knowledge of C and programming tools as covered in W3136, W3157, or W3101, or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4118
COMS
4118
76240
001
TuTh 10:10a - 11:25a
833 SEELEY W. MUDD BUILDING
J. Nieh 148 / 140 [ More Info ]

CSEE W 4119x and y Computer Networks

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. - V. Misra
Corequisites: SIEO W3600 or IEOR E3658 or equivalent
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: CSEE W4119
CSEE
4119
23795
001
TuTh 1:10p - 2:25p
833 SEELEY W. MUDD BUILDING
V. Misra 140 / 140 [ More Info ]

COMS W 4130x Principles and Practice of Parallel Programming

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. - M. Kim
Prerequisites: Experience in Java, basic understanding of analysis of algorithms. COMS W3134, W3136, or W3137 (or equivalent).
3 points

CSEE W 4140x or y Networking Laboratory

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 proctocols 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 Protocal (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).
Prerequisites: CSEE 4119 or equivalent
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: CSEE W4140
CSEE
4140
28073
001
Th 2:40p - 3:55p
327 SEELEY W. MUDD BUILDING
G. Grebla 32 / 32 [ More Info ]

COMS W 4156x Advanced Software Engineering

Software lifecycle from the viewpoint of designing and implementing N-tier applications (typically utilizing web browser, web server, application server, database). Major emphasis on quality assurance (code inspection, unit and integration testing, security and stress testing). Centers on a student-designed team project that leverages component services (e.g., transactions, resource pooling, publish/subscribe) for an interactive multi-user application such as a simple game. - G. Kaiser
Prerequisites: Substantial software development experience in Java, C++ or C# beyond the level of COMS W3157. Corequisites: Recommended COMS W4111 BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4156
COMS
4156
68576
001
TuTh 10:10a - 11:25a
535 SEELEY W. MUDD BUILDING
G. Kaiser 76 / 80 [ More Info ]

COMS W 4160y Computer Graphics

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. - C. Zheng
Prerequisites: COMS W3134, W3136, or W3137; W4156 is recommended. Strong programming background and some mathematical familiarity including linear algebra is required. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4162x or y Advanced Computer Graphics

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. - Ravi Ramamoorthi
Prerequisites: COMS W4160 or equivalent, or instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4162
COMS
4162
60624
001
MW 2:40p - 3:55p
627 SEELEY W. MUDD BUILDING
C. Zheng 17 / 40 [ More Info ]

COMS W 4167x or y Computer Animation

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. - E. Grinspun
Prerequisites: Multivariable calculus, linear algebra, C++ programming proficiency. COMS W4156 recommended. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4167
COMS
4167
69154
001
TuTh 2:40p - 3:55p
633 SEELEY W. MUDD BUILDING
E. Grinspun 46 [ More Info ]

COMS W 4170x User Interface Design

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. - S. Feiner
Prerequisites: COMS W3134, W3136, or W3137. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4170
COMS
4170
27751
001
TuTh 1:10p - 2:25p
TBA
S. Feiner 80 / 80 [ More Info ]

COMS W 4172y 3D User Interfaces and Augmented Reality

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. - S. Feiner
Prerequisites: COMS W4160 or COMS W4170 or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4180x or y Network Security

Introduction to network security concepts and mechanisms. Foundations of network security and an in-depth review of commonly-used security mechanisms and techniques, security threats and network-based attacks, applications of cryptography, authentication, access control, intrusion detection and response, security protocols (IPsec, SSL, Kerberos), denial of service, viruses and worms, software vulnerabilities, web security, wireless security, and privacy. - A. Keromytis
Prerequisites: COMS W3134, W3136, or W3137 and W4119, or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4187x or y Security Architecture and Engineering

Secure programming. Cryptograhic engineering and key handling. Access controls. Tradeoffs in security design. Design for security. - Steven Bellovin
Prerequisites: COMS W4118; W4180 and/or W4119 recommended. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4187
COMS
4187
11868
001
MW 2:40p - 3:55p
535 SEELEY W. MUDD BUILDING
S. Bellovin 70 / 70 [ More Info ]

COMS W 4203y Graph Theory

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. - J. Gross
Prerequisites: COMS W3203 BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4205x Combinatorial Theory

Sequences and recursions, calculus of finite differences and sums, elementary number theory, permutation group structures, binomial coefficients, Stilling numbers, harmonic numbers, generating functions. - J. Gross
Prerequisites: COMS W3203 and a course in calculus. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

CSOR W 4231x Analysis of Algorithms I

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. - M. Yannakakis
Prerequisites: COMS W3134, W3136, or W3137, and W3203. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: CSOR W4231
CSOR
4231
28745
001
TuTh 11:40a - 12:55p
833 SEELEY W. MUDD BUILDING
M. Yannakakis 120 / 120 [ More Info ]
CSOR
4231
93300
002
TuTh 4:10p - 5:25p
833 SEELEY W. MUDD BUILDING
A. Lewko 79 / 80 [ More Info ]

COMS W 4236y Introduction to Computational Complexity

Develops a quantitative theory of the computational difficulty of problems in terms of the resources (eg. 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. - M. Yannakakis, R. Servedio
Prerequisites: COMS W3261. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4236
COMS
4236
20600
001
TuTh 7:10p - 8:25p
233 SEELEY W. MUDD BUILDING
X. Chen 40 / 40 [ More Info ]

COMS W 4241y Numerical Algorithms and Complexity

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. - J. Traub
Prerequisites: Knowledge of a programming language. Some knowledge of scientific computation is desirable. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4241
COMS
4241
20916
001
TuTh 1:10p - 2:25p
644 SEELEY W. MUDD BUILDING
J. Traub 28 / 50 [ More Info ]

COMS W 4252x or y Introduction to Computational Learning Theory

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. - R. Servedio
Prerequisites: CSOR W4231 or COMS W4236 or COMS W3203 and instructor's permission or COMS W3261 and instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4252
COMS
4252
72540
001
MW 1:10p - 2:25p
535 SEELEY W. MUDD BUILDING
R. Servedio 97 / 100 [ More Info ]

COMS W 4261x or y Introduction to Cryptography

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. - T. Malkin
Prerequisites: Comfort with basic discrete math and probability. Recommended: COMS W3261 or CSOR W4231. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 2.5.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4261
COMS
4261
61801
001
TuTh 11:40a - 12:55p
633 SEELEY W. MUDD BUILDING
T. Malkin 60 / 60 [ More Info ]

COMS W 4281x or y Introduction to Quantum Computing

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. - H. Wozniakowski
Prerequisites: Knowledge of linear algebra. Prior knowledge of quantum mechanics is not required although helpful. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

EECS E 4340x Computer Hardware Design

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. Lab required.
Prerequisites: ELEN E3331 plus ELEN E3910 or CSEE W3827. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 2.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: EECS E4340
EECS
4340
60178
001
TuTh 4:10p - 5:25p
253 ENGINEERING TERRACE
S. Sethumadhavan 40 / 40 [ More Info ]

COMS W 4444x Programming and Problem Solving

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. - K. Ross
Prerequisites: COMS W3134, W3136, or W3137 and CSEE W3827. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4444
COMS
4444
24122
001
MW 1:10p - 2:25p
644 SEELEY W. MUDD BUILDING
K. Ross 32 / 40 [ More Info ]

COMS W 4460y Principles of Innovation and Entrepreneurship

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

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4460
COMS
4460
73439
001
W 4:10p - 6:40p
TBA
Y. Yemini 35 / 35 [ More Info ]

COMS W 4560x Introduction to Computer Applications in Health Care and Biomedicine

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. - M. Chiang
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 backgroud in mathematics and receive permission from the instructor BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4701x or y Artificial Intelligence

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. - K. McKeown, S. Stolfo
Prerequisites: COMS W3134, W3136, or W3137. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4701
COMS
4701
75739
001
TuTh 7:10p - 8:25p
TBA
D. Radev 120 / 120 [ More Info ]
COMS
4701
63196
002
Th 1:10p - 3:40p
TBA
A. Salleb-Aouissi 54 / 120 [ More Info ]

COMS W 4705x Natural Language Processing

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. - J. Hirschberg
Prerequisites: COMS W3134, W3136, or W3137, or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4705
COMS
4705
19576
001
TuTh 4:10p - 5:25p
TBA
M. Collins 108 / 110 [ More Info ]

COMS W 4706y Spoken Language Processing

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. - J. Hirschberg
Prerequisites: Prerequisites: COMS W3134, W3136, or W3137, or the instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4725x or y Knowledge Representation and Reasoning

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 will be paid to design tradeoffs between language expressiveness and reasoning complexity, and issues relating to the use of KR systems in larger applications.
Prerequisites: COMS W4701. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4731x or y Computer Vision

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, 2-D and 3-D object representation, object recognition, vision systems and applications. - S. Nayar
Prerequisites: The 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. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4731
COMS
4731
62548
001
TuTh 10:10a - 11:25a
TBA
S. Nayar 61 / 60 [ More Info ]

COMS W 4733x or y Computational Aspects of Robotics

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. - P. Allen
Prerequisites: COMS W3134, W3136, or W3137. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4733
COMS
4733
25157
001
TuTh 11:40a - 12:55p
327 SEELEY W. MUDD BUILDING
P. Allen 60 / 60 [ More Info ]

COMS W 4735x or y Visual Interfaces to Computers

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.
Prerequisites: COMS W3134, W3136, or W3137. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4737x or y Biometrics

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. - P. Belhumeur
Prerequisites: A background at the sophomore level in computer science, engineering, or like discipline. Corequisites: None BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

CBMF W 4761x or y Computational Genomics

Provides comprehensive introduction to computational techniques for analyzing genomic data including DNA, RNA and protein structures; microarrays; transcription and regulation; regulatory, metabolic and protein interaction networks. The course covers sequence analysis algorithms, dynamic programming, hidden Markov models, phylogenetic analysis, Bayesian network techniques, neural networks, clustering algorithms, support vector machines, Boolean models of regulatory networks, flux based analysis of metabolic networks and scale-free network models. The course provides self-contained introduction to relevant biological mechanisms and methods.
Prerequisites: Introductory probability and statistics and basic programming skills. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4771y Machine Learning

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. - T. Jebara
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. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4771
COMS
4771
24384
001
TuTh 1:10p - 2:25p
233 SEELEY W. MUDD BUILDING
T. Jebara 146 / 140 [ More Info ]

COMS W 4772x Advanced Machine Learning

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. - T. Jebara
Prerequisites: COMS W4771 or permission of instructor; knowledge of linear algebra & introductory probability or statistics is required. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4772
COMS
4772
26927
001
W 4:10p - 6:00p
627 SEELEY W. MUDD BUILDING
D. Hsu 60 / 60 [ More Info ]

CSEE W 4823x or y Advanced Logic Design

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. - S. Nowick
Prerequisites: CSEE 3827, or a half semester introduction to digital logic, or the equivalent. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

CSEE W 4824x Computer Architecture

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. - L. Carloni
Prerequisites: CSEE W3827 or the equivalent. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

CSEE W 4840y Embedded Systems

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. - S. Edwards
Prerequisites: CSEE W4823. Lab Required. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS W 4901x and y Projects in Computer Science

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. - The Staff
Prerequisites: Approval by a faculty member who agrees to supervise the work. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
1-3 points.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4901
COMS
4901
87147
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]

COMS W 4910x and y Curricular Practical Training

Only for MS 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.
Prerequisites: Obtained internship and approval from faculty advisor.
1 point

COMS W 4995x or y Special Topics in Computer Science, I

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.
Prerequisites: The instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS W4995
COMS
4995
62192
001
MW 2:40p - 3:55p
327 SEELEY W. MUDD BUILDING
R. Geambasu 39 / 60 [ More Info ]
COMS
4995
27568
002
TuTh 4:10p - 5:25p
415 SCHAPIRO CEPSER
H. Schulzrinne 29 / 40 [ More Info ]

COMS W 4996x or y Special Topics in Computer Science, II

A continuation of COMS W4995 when the special topic extends over two terms.
Prerequisites: The instructor's permission. BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA)..
3 points Lect: 3.

COMS E 6121x Reliable Software

Topics include: automated debugging, automated software repair, Concurrent software reliability, software error detection, and more.

- J. Yang
Prerequisites: At least one of COMS W4118 Operating Systems I, COMS W4115 Programming Languages and Translators, or COMS W4117 Compilers and Interpreters; or significant software development experiences Not offered in 2014-2015.
3 points
Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2014 :: COMS E6121
COMS
6121
64619
001
Tu 2:10p - 4:00p
TBA
J. Yang 40 / 40 [ More Info ]

CSEE E 6868x or y System-on-Chip Platforms

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 and verification, software simulation and virtual platforms, models of computation, the SystemC language, transaction-level modeling, hardware-software partitioning, high-level synthesis, memory organization, device drivers, on-chip communication architectures, power management and optimization, integration of programmable cores and specialized accelerators. Case studies of modern SoC platforms for various classes of applications. - L. Carloni
Prerequisites: COMS W3157 and CSEE W3827
3 points


There are currently no cross-listed courses for your department.