- ONLINE CATALOGUE HOME
- MESSAGE FROM THE PRESIDENT
- COLLEGE
- ADMISSIONS
- FINANCIAL AID
- FINANCIAL INFORMATION
- CURRICULUM
- COURSES OF INSTRUCTION
- Africana Studies
- American Studies
- Ancient Studies
- Anthropology
- Architecture
- Art History
- Asian and Middle Eastern Cultures
- Athena Center for Leadership Studies
- Biological Sciences
- Centennial Scholars Program
- Chemistry
- Classics
- Comparative Literature
- Computer Science
- Dance
- Economics
- Economics & Mathematics
- Economic and Social History
- Education
- English
- Environmental Biology
- Environmental Science
- European Studies
- Film Studies
- First-Year Seminar
- French
- German
- History
- Human Rights Studies
- Italian
- Jewish Studies
- Mathematics
- Medieval & Renaissance Studies
- Music
- Neuroscience & Behavior
- Philosophy
- Physical Education
- Physics & Astronomy
- Political Science
- Psychology
- Religion
- Science and Public Policy
- Slavic
- Sociology
- Spanish & Latin American Cultures
- Statistics
- Theatre
- Urban Studies
- Women's Studies
- ACADEMIC POLICIES & PROCEDURES
- ACADEMIC ADVISING
- STUDENT LIFE & SERVICES
- ACADEMIC CALENDAR
- TRUSTEES, FACULTY & ADMINISTRATION
Search the Online Catalogue
COURSE CATALOGUE
COMPUTER SCIENCE
SEARCH COURSES
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.
Lect: 3.3pts.
COMS W 1003x or y Introduction To Computer Science and Programming In
C
A general introduction to computer science concepts, algorithmic
problem-solving capabilities, and programming skills in C. Columbia
University students may receive credit for only one of the following three
courses: 1003, 1004, and 1005.
General Education Requirement: Quantitative and Deductive Reasoning
(QUA).
Lect: 3. 3 pts.
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 three courses: 1003, 1004, and 1005.
- A. AhoGeneral Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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 three courses: 1003, 1004, and 1005.
- Paul BlaerPrerequisites: None Corequisites: None General Education Requirement: Quantitative and Deductive Reasoning (QUA).
3 points
COMS W 1007x or y Object-oriented programming and design in
Java
The second course for majors in computer science. A rigorous treatment of object-oriented concepts using Java as an example language. Development of sound programming and design skills, problem solving and modeling of real world problems from science, engineering, and economics using the object-oriented paradigm.
- Adam CannonPrerequisites: COMS W1004 or AP Computer Science with a grade of 4 or 5. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
COMS W 1009x 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 KenderPrerequisites: COMS W1004 or AP Computer Science with a grade of 4 or 5. General Education Requirement: Quantitative and Deductive Reasoning (QUA). Not offered in 2009-2010.
Lect: 3. 3 pts.
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. AnastassiouGeneral Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3 pts
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. General
Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 1. 1pts.
COMS W 3133x or y Data Structures In C
Not intended for computer science majors. 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 C. Note: Due to significant overlap, students may
receive credit for only one of the following four courses: COMS W3133, W3134, W3137, and W3139.
Prerequisites: COMS W1003 or knowledge of C. General Education Requirement:
Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
COMS W 3134x and y Data Structures In Java
Not intended for computer science majors. 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 four courses: COMS W3133, W3134, W3137, and W3139.
Prerequisites: COMS W1004 or knowldege of Java. General Education
Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
COMS W 3137x and y Data Structures and Algorithms
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 four courses: COMS W3133, W3134, W3137, and W3139.
Prerequisites: COMS W1007. Corequisites: COMS W3203. General Education Requirement: Quantitative and
Deductive Reasoning (QUA).
Lect: 3. 4 pts.
COMS W 3139y 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 C/C++. Note: Due to significant overlap, students may receive
credit for only one of the following four courses: COMS W3133, W3134, W3137, and W3139.
Prerequisites: COMS W3157 Corequisites: COMS W3203. General Education Requirement: Quantitative and
Deductive Reasoning (QUA). Not offered in 2009-2010.
Lect: 4. 4 pts.
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: COMS W1007 or COMS W1009 Lab Required. General Education Requirement:
Quantitative and Deductive Reasoning (QUA).
Lect:4. 4 pts.
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, Z. GrunschlagPrerequisites: Any introductory course in computer programming. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. TraubPrerequisites: Two terms of calculus. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. WozniakowskiPrerequisites: two terms of calculus. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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.
- J. GrunschlagPrerequisites: COMS W3137 and W3203. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect 3. 3 pts.
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. General Education
Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts
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.
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 pts.
COMS W 4101x or y Topics in Computer Science
Technology
Introduction to current topics in computer science technology. Each section
will be devoted to a specific technology. Sections may meet for 1.5 hours per
week for the whole term or 3 hours per week for a half term. May be repeated
for credit if different technologies are involved.
Prerequisites: Fluency in at least one programming language and familiarity
with computer systems. General Education Requirement: Quantitative and
Deductive Reasoning (QUA). Not offered in 2009-2010.
1.5 points
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. GravanoPrerequisites: COMS W3137 or W3134, fluency in Java; or permission of the instructor. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. RossPrerequisites: COMS W4111; fluency in Java or C++. COMS W3827 is recommended.
3 points
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. AhoPrerequisites: COMS W3137 or equivalent, W3261, and CSEE W3827, or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. AhoPrerequisites: COMS W4115 or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. NiehPrerequisites: CSEE W3827 and knowledge of C and programming tools as covered in W3157 or W3101, or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
COMS W 4156x or y Advanced Software Engineering
Assumes substantial prior software development experience in one or more of C++, Java or C#, as well as basic familiarity with using SQL. Focuses primarily on component model frameworks (EJB, .NET/COM+, Web Services) and quality assurance (code inspection, unit and integration testing, stress testing). Introduction to UML. Surveys other software lifecycle topics as time permits. Centers on an intense semester-long multi-iteration team project building an N-tier application.
- G. KaiserPrerequisites: Any one or more of COMS W4111, COMS W4115, COMS W4118, or COMS W4444. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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.
- R. RamamoorthiPrerequisites: COMS 3137 or 3139, 4156 is recommended. Strong programming background and some mathematical familiarity including linear algebra is required. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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 RamamoorthiPrerequisites: COMS 4160 or equivalent, or instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3pts
COMS W 4165x Computational Techniques In Pixel
Processing
Intended for graduates and advanced undergraduates. An intensive introduction
to image processing--digital filtering theory, image enhancement, image
reconstruction, antialiasing, warping, and the state-of-the-art in special
effects. Topics form the basis of high-quality rendering in computer graphics
and of low-level processing for computer vision, remote sensing, and medical
imaging. Emphasizes computational techniques for implementing useful
image-processing functions.
Prerequisites: COMS W3137, W3251 (recommended), and a good working knowledge of UNIX and
C. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Not offered in 2009-2010.
Lect: 3. 3 pts.
COMS W 4167x or y Computer Animation
Previous familiarity with C is recommended. Intensive introduction to computer animation, including: fundamental theory and algorithms for computer animation, keyframing, kinematic rigging, simulation, dynamics, free-form animation, behavioral/procedural animation, particle systems, post-production; small groups implement a significant animation project; advanced topics as time permits.
- E. GrinspunPrerequisites: COMS W3137 and W4156 is recommended. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3.3pts.
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. FeinerPrerequisites: COMS W3137. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. FeinerPrerequisites: COMS W4160 or COMS W4170 or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. KeromytisPrerequisites: COMS W3137 and W4119, or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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 BellovinPrerequisites: COMS W4118; W4180 and/or W4119 recommended. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
3 points
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. GrossPrerequisites: COMS W3203 General Education Requirement: Quantitative and Deductive Reasoning (QUA). Not offered in 2009-2010.
Lect: 3. 3 pts.
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. GrossPrerequisites: COMS W3203 and a course in calculus. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. YannakakisPrerequisites: COMS W3137 or W3139, and W3203. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3.3pts.
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. ServedioPrerequisites: COMS W3261. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. TraubPrerequisites: Knowledge of a programming language. Some knowledge of scientific computation is desirable. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. ServedioPrerequisites: COMS W4231 or COMS W4236 or (COMS W3203 and permission of instructor) or (COMS W3261 and permission of instructor). General Education Requirement: Quantitative and Deductive Reasoning (QUA).
lect: 3. 3pts
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. MalkinPrerequisites: Comfort with basic discrete math and probability. Recommended: COMS W3261 or COMS W4231. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 2.5. 3 pts.
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. WozniakowskiPrerequisites: Knowledge of linear algebra. Prior knowledge of quantum mechanics is not required although helpful. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts
CSEE W 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. General Education Requirement: Quantitative and
Deductive Reasoning (QUA). Not offered in 2009-2010.
Lect: 2. 3 pts
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. RossPrerequisites: COMS W3137 and W3824. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. ChiangPrerequisites: 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 General Education Requirement: Quantitative and Deductive Reasoning (QUA).
3 points
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. StolfoPrerequisites: COMS W3137. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. HirschbergPrerequisites: COMS W3133, or W3134, or W3137, or W3139, or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. HirschbergPrerequisites: Prerequisites: COMS W3133, or W3134, or W3137, or the instructor's permission. General Education Requirement: Quantitative and Deductive Reasoning (QUA). Not offered in 2009-2010.
Lect: 3. 3 pts.
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. General Education Requirement: Quantitative
and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. NayarPrerequisites: 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. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. AllenPrerequisites: COMS W3137. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3pts.
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 W3137. General Education Requirement: Quantitative and
Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. BelhumeurPrerequisites: A background at the sophomore level in computer science, engineering, or like discipline. Corequisites: None General Education Requirement: Quantitative and Deductive Reasoning (QUA).
3 points
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. General Education Requirement: Quantitative and Deductive
Reasoning (QUA).
Lect: 3. 3 pts.
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. JebaraPrerequisites: Any introductory course in linear algebra and any introductory course in statistics are both required. Highly recommended: COMS W4701 or knowledge of Artificial Intelligence. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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. JebaraPrerequisites: COMS W4771 or permission of instructor; knowledge of linear algebra & introductory probability or statistics is required. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
3 points
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. NowickPrerequisites: CSEE 3827, or a half semester introduction to digital logic, or the equivalent. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
CSEE W 4824x or y Computer Architecture
Focuses on advanced topics in modern computer architecture, illustrated by recent case studies. Fundamentals of quantitative analysis. Pipelined, out-of-order, and speculative execution. Superscalar, VLIW and vector processors. Embedded processors. Memory hierarchy design. Multiprocessors and thread-level parallelism. Synchronization and cache coherence protocols. Interconnection networks.
- L. CarloniPrerequisites: CSEE W3827 or the equivalent. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
CSEE W 4825y Digital Systems Design
Dynamic logic, field programmable gate arrays, logic design languages,
multipliers. Special techniques for multi-level NAND and NOR gate circuits.
Clocking schemes for one- and two-phase systems. Fault checking: scan method,
built-in-test. Survey of logic simulation methods. Other topics to be added
as appropriate.
Prerequisites: CSEE W3827. General Education Requirement: Quantitative and
Deductive Reasoning (QUA). Not offered in 2009-2010.
Lect: 3. 3 pts.
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. EdwardsPrerequisites: CSEE W4823. Lab Required. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
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 StaffPrerequisites: Approval by a faculty member who agrees to supervise the work. General Education Requirement: Quantitative and Deductive Reasoning (QUA).
1 to 3 pts.
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. General Education Requirement:
Quantitative and Deductive Reasoning (QUA).
Lect: 3.3pts.
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. General Education Requirement:
Quantitative and Deductive Reasoning (QUA).
Lect: 3. 3 pts.
COMS W 4999y Computing and the Humanities
Text databases. Language applications, such as machine translation,
information and retrieval, and computational stylistics (determining
authorship). Digital library applications, including issues in text
acquisition, text markup, networking display, and user interfaces.
Educational applications. Legal reasoning, history applications involving
inferencing and databases.
General Education Requirement: Quantitative and Deductive Reasoning (QUA).
Not offered in 2009-2010.
Lect: 3. 3 pts.

![[ More Info ]](./images/moreinfo.gif)