Computer Science

Computer Science

Computer Science

Administrative Information

Associate Chair for Undergraduate Education: Dr. Adam Cannon, 459 Computer Science Building; 939-7016; cannon@cs.columbia.edu

Departmental Office: 450 Computer Science Building; 939-7000

Departmental Advisers:

First-Years: Prof. Jonathan Gross, 458 Computer Science; 939-7015; gross@cs.columbia.edu,
Sophomores and Juniors: Prof. Alfred Aho, 513 Computer Science; 939-7067; aho@cs.columbia.edu,
Seniors: Prof. Kathleen McKeown, 722 CEPSR; 939-7118; kathy@cs.columbia.edu

(A-L) Prof. Salvatore Stolfo, 606 Schapiro CEPSR; 939-7080; sal@cs.columbia.edu

(M-Z) Prof. Mihalis Yannakakis; 455 Computer Science Bldg; 939-7145; mihalis@cs.columbia.edu

Professors
Alfred V. Aho
Peter K. Allen
Peter Belhumeur
Steven M. Bellovin
Michael J. Collins
Steven K. Feiner
Jonathan L. Gross
Julia Hirschberg
Gail E. Kaiser
John R. Kender
Kathleen R. McKeown
Shree K. Nayar
Steven M. Nowick
Kenneth A. Ross
Henning G. Schulzrinne
Salvatore J. Stolfo
Joseph F. Traub
Mihalis Yannakakis

Associate Professors
Luca Carloni
Stephen A. Edwards
Luis Gravano
Eitan Grinspun
Tony Jebara
Angelos D. Keromytis

Associate Professors (continued)
Tal Malkin
Vishal Misra
Jason Nieh
Itsik Pe´er
Daniel Rubenstein
Rocco Servedio

Assistant Professors
Augustin Chaintreau
Xi Chen
Roxana Geambasu
Martha Mercaldi-Kim
Simha Sethumadhavan
Junfeng Yang

Lecturer in Discipline
Adam Cannon

Adjunct Faculty
Steven Abrams
Debra Cook
Anargyros Papageorgiou
Alexander Pasik
Michael Reed
Sambit Sahu
Vijay Saraswat
Bernard Yee

The majors in computer science provides students with the appropriate computer science background necessary for graduate study or a professional career. Computers have an impact on nearly all areas of human endeavor. Therefore, the department also offers several courses intended for students who do not plan a computer science major or concentration. The computer science majors offers maximum flexibility by providing students with a range of options for the specialization of their program. The department offers two majors: a major in computer science and a major in information science.

Computer Science Major

Students study a common core of fundamental topics, supplemented by a track that identifies specific areas for deeper study.The foundations track prepares students for advanced work in fundamental theoretical and mathematical aspects of computing, including analysis of algorithms, scientific computing, and security. The systems track prepares students for immediate employment in the computer industry as well as advanced study in such areas as software engineering, operating systems, computer-aided digital design, computer architecture, programming languages, and user interfaces. The artificial intelligence track provides specialization for the student interested in natural language processing and systems capable of exhibiting “human-like” intelligence. The applications track is for students interested in the implementation of interactive multimedia content for the Internet and wireless applications. The vision and graphics track exposes students to computer vision, graphics, human-computer interaction and robotics. A combination track is available to students who wish to pursue an interdisciplinary course of study combining computer science and another field in the arts, humanities, mathematics, natural sciences, or social sciences. A student planning a combination track should be aware that one additional course is required to complete this option.

Information Science Major

Information science is an interdisciplinary major designed to provide a student with an understanding of how information is organized, accessed, stored, distributed, and processed in strategic segments of today’s society. Recent years have seen an explosive growth of on-line information, with people of all ages and all walks of life making use of the World Wide Web and other information in digital form. This major puts students at the forefront of the information revolution, studying how online access touches on all disciplines, changing the very way people communicate. Organizations have large stores of in-house information that are crucial to their daily operation. Today’s systems must enable quick access to relevant information, must ensure that confidential information is secure, and must enable new forms of communication among people and their access to information. The information sciences major can choose a scientific focus on algorithms and systems for organizing, accessing, and processing information or an interdisciplinary focus in order to develop an understanding of, and tools for, information modeling and use within an important sector of modern society such as economics or health.

Advanced Placement

The department grants 3 points for a score of 4 or 5 on the AP Computer Science A exam along with exemption from COMS W1004. Students can receive credit for only one introductory computer science sequence.

Laboratory Facilities

The Department has well-equipped lab areas for research in computer graphics, computer-aided digital design, computer vision, databases and digital libraries, data mining and knowledge discovery, distributed systems, mobile and wearable computing, natural language processing, networking, operating systems, programming systems, robotics, user interfaces, and real-time multimedia.

The computer facilities include a shared infrastructure of Sun and Linux multiprocessor file servers, NetApp file servers, a student interactive teaching and research lab of high-end multimedia workstations, a load balanced web cluster with 6 servers and business process servers, a large student laboratory, featuring 18 windows machines and 33 Linux towers each with 8 cores and 24GB memory; a remote Linux cluster with 17 servers, a large Linux compute cluster and a number of computing facilities for individual research labs. In addition, the data center houses a compute cluster consisting of a Linux cloud with 43 servers each with 2 Nehalem processors, 8 cores and 24GB memory. This could can support approximately 5000 of VMware instances.

Research labs contain several large Linux and Solaris clusters, Puma 500 and IBM robotic arms; a UTAH-MIT dexterous hand; an Adept-1 robot; three mobile research robots; a real-time defocus range sensor; interactive 3-D graphics workstations with 3-D position and orientation trackers; prototype wearable computers, wall-sized stereo projection systems; see-through head-mounted displays; a networking testbed with three Cisco 7500 backbone routers, traffic generators; an IDS testbed with secured LAN, Cisco routers, EMC storage & Linux servers; a simulation testbed with several Sun servers & Cisco Catalyst routers.The department uses a SIP IP phone system. The protocol was developed in the department.

The department's computers are connected via a switched 1Gb/s Ethernet network, which has direct connectivity to the campus OC-3 Internet and internet 2 gateways. The compus has 802.11b/g wireless LAN coverage.

The research facility is supported by a full-time staff of professional system administrators and programmers.

Undergraduate Requirements

Regulations for all Computer Science Majors and Concentrators

Students may receive credit for only one of the following three courses: COMS W1003COMS W1004, and COMS W1005. Students may receive credit for only one of the following four courses: COMS W3133, COMS W3134, or COMS W3137.

For a Major in Computer Science

All majors should confer with their program adviser each term in planning their programs of study. Students considering a major in computer science are encouraged to talk to a program adviser during their first or second year. A  typical program of study is as follows:

As a rule, no more than 12 transfer credits are accepted toward the major. A maximum of one course worth no more than 4 points passed with a grade of D may be counted towards the major or concentration.

Program of Study

  1. In the first-year: COMS W1004.
  2. In the sophomore year: COMS W1007, COMS W3157, COMS W3203, and COMS W3137
  3. In the junior and senior year: the remaining required core courses

This program allows students the most freedom possible in selecting a specialized track and completing the requirements during the junior and senior years. It is particularly important to complete the core requirements and to seek advice from a track consultant as early as possible to better plan the course of study. COMS W1004, COMS W1007, and COMS W3137 are taught in Java, while COMS W3157 is taught in C/C++ which allows students to become multilingual.

The major requires 41 or 44 points depending on the track as follows:

Computer Science Core—23 points:

COMS W1004, COMS W1007, COMS W3203, COMS W3137, COMS W3157, COMS W3261, and CSEE W3827. Students who have taken AP Computer Science in high school and received a score of 4 or 5 are exempted from COMS W1004.

Mathematics—3 points:

One semester of calculus.

Track requirement—15 or 18 points:

Students must select one of the following six upper-level tracks. Each track, except the combined track, requires five courses consisting of required, elective breadth, and elective track courses. The combined track requires a selection of six advanced courses: three 3000- or 4000-level computer science courses and three 3000- or 4000-level courses from another field. The elective breadth requirement in each track can be fulfilled with any 3 point computer science 3000 level or higher course that is not a computer science core course or a technical elective course in that track. In addition to the breadth elective, the track requirements are as follows:

Foundations track—12 points:

For students interested in algorithms, computational complexity, scientific computing, and security. The required track courses are CSOR W4231, COMS W4236, and COMS W4241. The elective track courses include COMS W4203, COMS W4205, COMS W4252, COMS W4261, COMS W4281, COMS W4444, COMS W4771, COMS W4772, and adviser approved COMS W3902, COMS W3998, COMS W4901, COMS W4995, and COMS W4996.

Systems track—12 points:

For students interested in networking, programming languages, operating systems, and software systems. The required track courses are COMS W4115, COMS W4118, and CSEE W4119. The elective track courses include any COMS W41xx course, any COMS W48xx course, COMS W4444, and advisor approved COMS W3902, COMS W3998, COMS W4901, COMS W4995, and COMS W4996.

Artificial intelligence track—12 points:

For students interested in machine learning, robotics, and systems capable of exhibiting “human-like” intelligence. The required track courses are COMS W4701 plus any two of COMS W4705, W4706, W4731, W4733, and W4771. The elective track courses include COMS W40xx, COMS W4165, COMS W4252, COMS W47xx, and advisor approved COMS W3902, COMS W3998, COMS W4901, COMS W4995, and COMS W4996.

Applications track—12 points:

For students interested in interactive multimedia applications for the internet and wireless networks. The required track courses are COMS W4115, COMS W4170, and COMS W4701. The elective track courses include COMS W41xx, COMS W47xx, and advisor approved COMS W3902, COMS W3998, COMS W4901, COMS W4995, and COMS W4996.

Vision and graphics track—12 points:

For students interested in computer vision, graphics, and advanced forms of human computer interaction. The required track courses are two from COMS W4160, COMS W4167, and COMS W4731. The elective track courses include COMS W4162, COMS W4165COMS W4170, COMS W4172, COMS W4701, COMS W4733, COMS W4735, COMS W4771, and advisor approved COMS W3902, COMS W3998, COMS W4901, COMS W4995, and COMS W4996.

Combination track—15 points:

For students who wish to combine computer science with another discipline. A coherent selection of six courses is required: three 3000- or 4000-level computer science courses and three 3000- or 4000-level courses from another discipline. This track should be selected by the end of the first semester of the junior year and the courses should be planned with the adviser.

For a Major in Computer Science—Mathematics

For a description of the joint major in computer science—mathematics, see the Mathematics section in this bulletin.

For a Major in Information Science

A minimum of 33 points including a core requirement of five courses. Students must then select at least six upper-division elective courses, focusing on an information-intensive thematic area.

The core requirement consists of COMS W1001, COMS W1004, COMS W1007, COMS W3134, and SIEO W4150 or SIEO W3600.

The elective courses should be chosen with a faculty adviser to focus on the modeling and use of information within the context of a disciplinary theme. Following are some suggested programs of instruction:

Information science and contemporary society:

Students can focus on the fundamental principles and technologies involved in the organization, searching, transmission, and manipulation of on-line information by studying database management systems, information retrieval systems, Web search engines, and natural language processing technology. Alternatively, students may focus on how humans use technology and how technology has changed society. Given that these systems and technology often involve substantial interaction with humans, students are encouraged to take courses from human-focused areas such as human-computer interaction, psychology, and sociology. The requirements include:

  1. Three courses involving processing of text or data (e.g., COMS W4111 Introduction to Databases, COMS W4705 Natural language processing, COMS W4771 Machine learning)
  2. Two courses from human-focused areas (e.g., COMS W4170 User interface design, PSYC W2215 Cognition: mind and brain, SOCI W3233 Six degrees and the new science of networks)
  3. Two application courses (e.g., from economics such as ECON W3025 Financial markets or biology such as BINF G4013 Biological sequence analysis)

Information science and the economy:

Students can focus on understanding information modeling together with existing and emerging needs in economics and finance, as well as algorithms and systems to address those needs by taking courses in economics, finance, artificial intelligence and mathematical modeling. For example, students may take courses in machine learning, statistics, and econometrics to understand how computers are enabling prediction modeling in many disciplines.  The requirements include:

  1. Two courses in artificial intelligence and mathematical modeling (e.g., COMS W4701 Artificial intelligence, COMS W4771 Machine learning)
  2. One course involving processing of text or data (e.g., COMS W4111 Introduction to Databases)
  3. Two courses each in economics (e.g., ECON W1105 Principles of economics, ECON BC3017 Economics of business organizations) and finance (e.g., IEOR E4007 Optimization models and methods for financial engineering, IEOR E4308 Industrial budgeting and financial control)

Information Science and Health Sciences:

Students can focus on understanding information modeling together with existing and emerging needs in health sciences, as well as algorithms and systems to address those needs by taking courses in computational biology, computational genomics, and biomedical informatics. For example, students may take courses that integrate computer science and biology, leading, for example, to understanding of the role that computational processes play in decoding the human genome. The requirements include:

  1. Three courses in either artificial intelligence and mathematical modeling (e.g., COMS W4701 Artificial intelligence), processing of text or data (e.g., COMS W4111 Introduction to Databases), or human computer interaction (e.g., COMS W4170 User interface design)
  2. Three courses drawn from the biomedical area (e.g., ECBM E3060/E4060 Introduction to genomic information science and technology, BIOL W4037 Bioinformatics of gene expression, BINF G4001 Introduction to computer applications in health care and biomedicine, BINF G4004 Applied clinical information systems)
  3. One course drawn from a human centered area (e.g., PSYC W2215 Cognition: mind and brain, SOCI W3233 Six degrees and the new science of networks)

For a Concentration in Computer Science

A minimum of 23 points. Required computer science courses: COMS W1004, COMS W1007, COMS W3203 , COMS W3137, COMS W3157, COMS W3261, and CSEE W3827 or any 3 point 4000-level computer science course. 

COMS W1001x and y Introduction to Information Science 3 pts. Lect: 3. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W1001
COMS
1001
60784
001
TuTh 11:40a - 12:55p
627 SEELEY W. MUDD BUILDING
A. Agarwal 53 / 120 [ More Info ]

COMS W1003x or y Introduction to Computer Science and Programming in C 3 pts. Lect: 3. 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.

COMS W1004x and y Introduction to Computer Science and Programming in Java 3 pts. 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 three courses: 1003, 1004, and 1005.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W1004
COMS
1004
16448
001
MW 4:10p - 5:25p
309 HAVEMEYER HALL
A. Cannon 233 [ More Info ]
Autumn 2013 :: COMS W1004
COMS
1004
29558
001
MW 4:10p - 5:25p
TBA
A. Cannon 200 [ More Info ]

COMS W1005x and y Introduction to Computer Science and Programming in MATLAB 3 pts. Lect: 3. Prerequisites: None Corequisites: None 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W1005
COMS
1005
79698
001
MW 10:10a - 11:25a
833 SEELEY W. MUDD BUILDING
P. Blaer 74 [ More Info ]
Autumn 2013 :: COMS W1005
COMS
1005
26529
001
MW 10:10a - 11:25a
TBA
P. Blaer 27 [ More Info ]

ENGI E1006x and y Introduction to Computing for Engineers and Applied Scientists 3 pts. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: ENGI E1006
ENGI
1006
13542
001
MW 2:40p - 3:55p
633 SEELEY W. MUDD BUILDING
A. Cannon 71 [ More Info ]

COMS W1007x and y Honors introduction to Computer Science 3 pts. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W1007
COMS
1007
26286
001
TuTh 4:10p - 5:25p
833 SEELEY W. MUDD BUILDING
S. Sheth 74 / 120 [ More Info ]
Autumn 2013 :: COMS W1007
COMS
1007
63241
001
TuTh 1:10p - 2:25p
TBA
J. Kender 55 [ More Info ]

COMS W1404x and y (Section 1) Emerging Scholars Program Seminar 1-1 pts. pass/fail only Corequisites: COMS W1004/1007 or ENGI 1006. Enrollment with
instructor permission only. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W1404
COMS
1404
92101
001
TBA A. Cannon 26 [ More Info ]

ECBM E3060x Introduction to Genomic Information Science and Technology 3 pts. Lect: 3. 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.

COMS W3101x and y Programming Languages 1 pt. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3101
COMS
3101
78300
001
M 6:10p - 8:00p
825 SEELEY W. MUDD BUILDING
E. Stolfo 42 [ More Info ]

COMS W3133x or y Data Structures in C 3 pts. Lect: 3. Prerequisites: COMS W1003 or knowledge of 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.

COMS W3134x and y Data structures in Java 3 pts. Lect: 3. 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 four courses: COMS W3134, COMS W3136, COMS W3137

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3134
COMS
3134
75517
001
TuTh 10:10a - 11:25a
309 HAVEMEYER HALL
S. Hershkop 139 / 180 [ More Info ]
Autumn 2013 :: COMS W3134
COMS
3134
68597
001
MW 5:40p - 6:55p
TBA
A. Pasik 152 [ More Info ]

COMS W3136y (Section 1) Data Structures with C/C++ 4-4 pts. Prerequisites: COMS W1004, W1005, W1006, or W1007 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3136
COMS
3136
93401
001
TuTh 5:40p - 6:55p
417 MATHEMATICS BUILDING
J. Lee 59 [ More Info ]
Autumn 2013 :: COMS W3136
COMS
3136
67000
001
TuTh 5:40p - 6:55p
TBA
J. Lee 28 [ More Info ]

COMS W3137x and y Honors Data Structures and Algorithms 4 pts. Lect: 3. Prerequisites: 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 four courses: COMS W3133, W3134, W3137.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W3137
COMS
3137
28780
001
MW 11:40a - 12:55p
TBA
S. Hershkop 65 / 120 [ More Info ]

COMS W3157x and y Advanced Programming 4 pts. Lect: 4. Prerequisites: COMS W1007 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. Lab Required.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3157
COMS
3157
24707
001
TuTh 4:10p - 5:25p
301 PUPIN LABORATORIES
J. Lee 137 [ More Info ]
Autumn 2013 :: COMS W3157
COMS
3157
70238
001
TuTh 11:40a - 12:55p
TBA
J. Lee 97 [ More Info ]

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

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3203
COMS
3203
20958
001
MW 5:40p - 6:55p
501 NORTHWEST CORNER
D. Strickland 129 [ More Info ]
Autumn 2013 :: COMS W3203
COMS
3203
73476
001
MW 1:10p - 2:25p
TBA
J. Gross 111 / 125 [ More Info ]

COMS W3210y Scientific Computation 3 pts. Lect: 3. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3210
COMS
3210
17546
001
TuTh 1:10p - 2:25p
644 SEELEY W. MUDD BUILDING
J. Traub 34 [ More Info ]

COMS W3251x Computational Linear Algebra 3 pts. Lect: 3. Prerequisites: two terms of calculus. Computational linear algebra, solution of linear systems, sparse linear systems, least squares, eigenvalue problems, and numerical solution of other multivariate problems as time permits.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W3251
COMS
3251
60225
001
TuTh 2:40p - 3:55p
TBA
A. Papageorgiou 71 / 120 [ More Info ]

COMS W3261x and y Computer Science Theory 3 pts. Lect: 3. Prerequisites: COMS W3203 Corequisites: 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3261
COMS
3261
62897
001
TuTh 11:40a - 12:55p
501 NORTHWEST CORNER
S. Choi 99 [ More Info ]
Autumn 2013 :: COMS W3261
COMS
3261
28863
001
MW 1:10p - 2:25p
TBA
M. Yannakakis 92 / 110 [ More Info ]

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

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: CSEE W3827
CSEE
3827
78400
001
MW 1:10p - 2:25p
501 NORTHWEST CORNER
D. Rubenstein 127 [ More Info ]
Autumn 2013 :: CSEE W3827
CSEE
3827
75145
001
TuTh 10:10a - 11:25a
TBA
M. Kim 75 / 150 [ More Info ]

COMS W3902x and y Undergraduate Thesis 1-6 pts. 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.

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

COMS W3995x or y Special Topics in Computer Science 3 pts. 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 W3998x and y Undergraduate Projects in Computer Science 1-3 pts. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W3998
COMS
3998
78783
001
W 2:10p - 4:00p
TBA
Instructor To Be Announced 0 / 0 [ More Info ]
Autumn 2013 :: COMS W3998
COMS
3998
88780
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]

ECBM E4060x Introduction to Genomic Information 3 pts. Lect: 3. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: ECBM E4060
ECBM
4060
62348
001
M 7:00p - 9:30p
TBA
D. Anastassiou 6 [ More Info ]

COMS W4111x and y Introduction to Databases 3 pts. Lect: 3. Prerequisites: COMS W3137 or W3134, fluency in Java; or permission of the instructor. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4111
COMS
4111
85037
001
W 1:10p - 3:40p
1127 SEELEY W. MUDD BUILDING
A. Biliris 73 / 81 [ More Info ]
COMS
4111
11104
002
W 4:10p - 6:40p
207 MATHEMATICS BUILDING
A. Biliris 84 / 80 [ More Info ]
Autumn 2013 :: COMS W4111
COMS
4111
62612
001
W 1:10p - 3:40p
TBA
A. Biliris 51 / 80 [ More Info ]
COMS
4111
27890
002
W 4:10p - 6:40p
TBA
A. Biliris 45 / 90 [ More Info ]

COMS W4112y Database System Implementation 3 pts. Lect: 2.5. Prerequisites: COMS W4111; 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4112
COMS
4112
63043
001
MW 1:10p - 2:25p
535 SEELEY W. MUDD BUILDING
K. Ross 59 [ More Info ]

COMS W4115x and y Programming Languages and Translators 3 pts. Lect: 3. Prerequisites: COMS W3137 or equivalent, W3261, and CSEE W3827, 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4115
COMS
4115
93458
001
MW 2:40p - 3:55p
535 SEELEY W. MUDD BUILDING
A. Aho 105 / 100 [ More Info ]
Autumn 2013 :: COMS W4115
COMS
4115
73630
001
MW 4:10p - 5:25p
TBA
S. Edwards 91 / 120 [ More Info ]

COMS W4117x or y Compilers and Interpreters 3 pts. Lect: 3. Prerequisites: COMS W4115 or the 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 W4118x and y Operating Systems I 3 pts. Lect: 3. Prerequisites: CSEE W3827 and knowledge of C and programming tools as covered in 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4118
COMS
4118
63454
001
MW 2:40p - 3:55p
833 SEELEY W. MUDD BUILDING
K. Joshi 82 / 120 [ More Info ]
Autumn 2013 :: COMS W4118
COMS
4118
69201
001
TuTh 4:10p - 5:25p
TBA
J. Yang 100 / 160 [ More Info ]

CSEE W4119x and y Computer Networks 3 pts. Lect: 3. Corequisites: SIEO E3658 or W3600 or equivalent 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: CSEE W4119
CSEE
4119
21446
001
TuTh 1:10p - 2:25p
203 MATHEMATICS BUILDING
A. Chaintreau 66 [ More Info ]
Autumn 2013 :: CSEE W4119
CSEE
4119
19056
001
TuTh 1:10p - 2:25p
TBA
D. Rubenstein 42 [ More Info ]

COMS W4130x Principles and Practice of Parallel Programming 3 pts. Prerequisites: Experience in Java, basic understanding of analysis of algorithms. COMS W1004 and COMS W3137 (or equivalent). 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4130
COMS
4130
17885
001
MW 2:40p - 3:55p
TBA
M. Kim 34 / 40 [ More Info ]

CSEE W4140x or y Networking Laboratory 4 pts. Lect: 3. Prerequisites: CSEE 4119 or equivalent In this course, students will learn how to put "principles into practice," in a hands-on-networking lab course. The course will cover the technologies and 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).

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: CSEE W4140
CSEE
4140
62038
001
M 5:40p - 6:55p
327 SEELEY W. MUDD BUILDING
G. Grebla 27 / 30 [ More Info ]
Autumn 2013 :: CSEE W4140
CSEE
4140
20951
001
W 11:40a - 12:55p
TBA
G. Zussman 8 [ More Info ]

COMS W4156x Advanced Software Engineering 3 pts. Lect: 3. Prerequisites: Substantial software development experience in Java, C++ or C# beyond the level of COMS W3157. Corequisites: Recommended COMS W4111 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4156
COMS
4156
72870
001
TuTh 10:10a - 11:25a
TBA
G. Kaiser 76 / 80 [ More Info ]

COMS W4160y Computer Graphics 3 pts. Lect: 3. Prerequisites: COMS W3137 or W3139, 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4160
COMS
4160
68496
001
TuTh 11:40a - 12:55p
535 SEELEY W. MUDD BUILDING
C. Zheng 29 / 60 [ More Info ]

COMS W4162x or y Advanced Computer Graphics 3 pts. Lect: 3. Prerequisites: COMS W4160 or equivalent, or 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 W4167x or y Computer Animation 3 pts. Lect: 3. Prerequisites: COMS W3137 and W4156 is recommended. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4167
COMS
4167
62450
001
Th 6:10p - 8:00p
TBA
E. Grinspun 48 [ More Info ]

COMS W4170x User Interface Design 3 pts. Lect: 3. Prerequisites: 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.

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

COMS W4172y 3D User Interfaces and Augmented Reality 3 pts. Lect: 3. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4172
COMS
4172
18503
001
TuTh 1:10p - 2:25p
633 SEELEY W. MUDD BUILDING
S. Feiner 22 [ More Info ]

COMS W4180x or y Network Security 3 pts. Lect: 3. Prerequisites: COMS W3137 and W4119, or the instructor's permission. 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.

COMS W4187x or y Security Architecture and Engineering 3 pts. Lect: 3. Prerequisites: COMS W4118; W4180 and/or W4119 recommended. Secure programming. Cryptograhic engineering and key handling. Access controls. Tradeoffs in security design. Design for security.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4187
COMS
4187
17398
001
MW 2:40p - 3:55p
TBA
S. Bellovin 31 / 50 [ More Info ]

COMS W4203y Graph Theory 3 pts. Lect: 3.Not offered in 2013-2014. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4203
COMS
4203
29129
001
MW 4:10p - 5:25p
TBA
J. Gross 14 / 48 [ More Info ]

COMS W4205x Combinatorial Theory 3 pts. Lect: 3. Prerequisites: COMS W3203 and a 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.

CSOR W4231x Analysis of Algorithms I 3 pts. Lect: 3. Prerequisites: COMS W3137 or W3139, and W3203. Introduction to the design and analysis of efficient algorithms. Topics include models of computation, efficient sorting and searching, algorithms for algebraic problems, graph algorithms, dynamic programming, probabilistic methods, approximation algorithms, and NP-completeness.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: CSOR W4231
CSOR
4231
98197
001
MW 8:40p - 9:55p
501 NORTHWEST CORNER
Y. Zhang 104 / 120 [ More Info ]
Autumn 2013 :: CSOR W4231
CSOR
4231
11535
001
TuTh 11:40a - 12:55p
501 NORTHWEST CORNER
C. Stein 46 / 150 [ More Info ]

COMS W4236y Introduction to Computational Complexity 3 pts. Lect: 3. Prerequisites: COMS W3261. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4236
COMS
4236
76498
001
MW 1:10p - 2:25p
503 HAMILTON HALL
X. Chen 22 / 85 [ More Info ]

COMS W4241y Numerical Algorithms and Complexity 3 pts. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4241
COMS
4241
17499
001
MW 4:10p - 5:25p
825 SEELEY W. MUDD BUILDING
J. Traub 35 [ More Info ]

COMS W4252x or y Introduction to Computational Learning Theory 3 pts. Lect: 3. Prerequisites: CSOR W4231 or COMS W4236 or (COMS W3203 and permission of instructor) or (COMS W3261 and permission of instructor). 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4252
COMS
4252
28142
001
MW 1:10p - 2:25p
TBA
R. Servedio 28 / 98 [ More Info ]

COMS W4261x or y Introduction to Cryptography 3 pts. 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 W4281x or y Introduction to Quantum Computing 3 pts. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4281
COMS
4281
22214
001
TuTh 4:10p - 5:25p
703 HAMILTON HALL
A. Papageorgiou 37 [ More Info ]

EECS E4340x Computer Hardware Design 3 pts. Lect: 2. Prerequisites: ELEN E3331 plus ELEN E3910 or CSEE W3827. Practical aspects of computer hardware design through the implementation, simulation, and prototyping of a PDP-8 processor. High-level and assembly languages, I/O, interrupts, datapath and control design, piplelining, busses, memory architecture. Programmable logic and hardware prototyping with FPGAs. Fundamentals of VHDL for register-transfer level design. Testing and validation of hardware. Hands-on use of industry CAD tools for simulation and synthesis. Lab required.

COMS W4444x Programming and Problem Solving 3 pts. Lect: 3. Prerequisites: 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4444
COMS
4444
67934
001
MW 1:10p - 2:25p
TBA
K. Ross 40 / 40 [ More Info ]

COMS W4460y Principles of Innovation and Entrepreneurship 3 pts. Prerequisites: COMS W3134, W3137 or equivalent or permission of instructor. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4460
COMS
4460
19266
001
Tu 4:10p - 6:40p
207 MATHEMATICS BUILDING
W. Reinisch
Y. Yemini
74 / 80 [ More Info ]

COMS W4560x Introduction to Computer Applications in Health Care and Biomedicine 3 pts. 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 backgroud in mathematics and receive permission from the instructor 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 W4701x or y Artificial Intelligence 3 pts. Lect: 3. Prerequisites: COMS W3137. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4701
COMS
4701
22556
001
TuTh 2:40p - 3:55p
833 SEELEY W. MUDD BUILDING
S. Stolfo 102 / 125 [ More Info ]
Autumn 2013 :: COMS W4701
COMS
4701
20699
001
TuTh 2:40p - 3:55p
TBA
S. Stolfo 68 / 125 [ More Info ]

COMS W4705x Natural Language Processing 3 pts. Lect: 3. Prerequisites: COMS W3133, or W3134, or W3137, or W3139, 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.

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

COMS W4706y Spoken Language Processing 3 pts. Lect: 3. Prerequisites: Prerequisites: COMS W3133, or W3134, or 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 W4725x or y Knowledge Representation and Reasoning 3 pts. Lect: 3. 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 will be paid to design tradeoffs between language expressiveness and reasoning complexity, and issues relating to the use of KR systems in larger applications.

COMS W4731x or y Computer Vision 3 pts. Lect: 3. 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. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4731
COMS
4731
63284
001
TuTh 10:10a - 11:25a
702 HAMILTON HALL
A. Reiter 57 [ More Info ]

COMS W4733x or y Computational Aspects of Robotics 3 pts. Lect: 3. Prerequisites: COMS 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4733
COMS
4733
23412
001
TuTh 11:40a - 12:55p
TBA
P. Allen 53 [ More Info ]

COMS W4735x or y Visual Interfaces to Computers 3 pts. Lect: 3. Prerequisites: 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4735
COMS
4735
89697
001
TuTh 10:10a - 11:25a
545 SEELEY W. MUDD BUILDING
J. Kender 33 [ More Info ]

COMS W4737x or y Biometrics 3 pts. Lect: 3. Prerequisites: A background at the sophomore level in computer science, engineering, or like discipline. Corequisites: None 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: COMS W4737
COMS
4737
61919
001
TuTh 1:10p - 2:25p
TBA
P. Belhumeur 25 / 25 [ More Info ]

CBMF W4761x or y Computational Genomics 3 pts. Lect: 3. Prerequisites: Introductory probability and statistics and basic programming skills. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: CBMF W4761
CBMF
4761
69280
001
MW 4:10p - 5:25p
1127 SEELEY W. MUDD BUILDING
I. Pe'er 14 / 75 [ More Info ]

COMS W4771y Machine Learning 3 pts. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4771
COMS
4771
13748
001
TuTh 1:10p - 2:25p
702 HAMILTON HALL
A. Weller
I. Vovsha
64 / 86 [ More Info ]
Autumn 2013 :: COMS W4771
COMS
4771
61743
001
TuTh 2:40p - 3:55p
TBA
T. Jebara 62 / 150 [ More Info ]

COMS W4772x Advanced Machine Learning 3 pts. Lect: 3. Prerequisites: COMS W4771 or permission of instructor; 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4772
COMS
4772
27599
001
TuTh 2:40p - 3:55p
1127 SEELEY W. MUDD BUILDING
T. Jebara 44 / 60 [ More Info ]

CSEE W4823x or y Advanced Logic Design 3 pts. Lect: 3. Prerequisites: CSEE 3827, or a half semester introduction to digital logic, or the equivalent. An introduction to modern digital system design. Advanced topics in digital logic: controller synthesis (Mealy and Moore machines); adders and multipliers; structured logic blocks (PLDs, PALs, ROMs); iterative circuits. Modern design methodology: register transfer level modelling (RTL); algorithmic state machines (ASMs); introduction to hardware description languages (VHDL or Verilog); system-level modelling and simulation; design examples.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Autumn 2013 :: CSEE W4823
CSEE
4823
18837
001
MW 7:10p - 8:25p
TBA
C. Vezyrtzis 21 / 80 [ More Info ]

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

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

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: CSEE W4840
CSEE
4840
82286
001
TuTh 2:40p - 3:55p
717 HAMILTON HALL
D. Lariviere
S. Edwards
76 [ More Info ]

COMS W4901x and y Projects in Computer Science 1-3 pts. 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.

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

COMS W4910x and y Curricular Practical Training 1 pt. Prerequisites: Obtained internship and approval from faculty advisor. 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4910
COMS
4910
18349
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]
Autumn 2013 :: COMS W4910
COMS
4910
87997
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]

COMS W4995x or y Special Topics in Computer Science, I 3 pts. Lect: 3. Prerequisites: The 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.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS W4995
COMS
4995
14035
001
TuTh 10:10a - 11:25a
535 SEELEY W. MUDD BUILDING
M. Rabin 34 [ More Info ]
Autumn 2013 :: COMS W4995
COMS
4995
12804
001
TuTh 11:40a - 12:55p
TBA
R. Geambasu 34 / 40 [ More Info ]
COMS
4995
23515
002
M 4:10p - 6:00p
TBA
K. Arabshian 12 / 30 [ More Info ]

COMS W4996x or y Special Topics in Computer Science, II 3 pts. Lect: 3. Prerequisites: The instructor's permission. A continuation of COMS W4995 when the special topic extends over two terms.

COMS E6121x Reliable Software 3 pts.Not offered in 2013-2014. 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 Topics include: automated debugging, automated software repair, Concurrent software reliability, software error detection, and more.

COMS E6125y Web-enhanced Information Management (WHIM) 3 pts. Lect: 2. Prerequisites: At least one COMS W41xx or COMS E61xx course and/or COMS W4444, or the instructor's permission. Strongly recommended: COMS W4111. History of hypertext, markup languages, groupware and the Web. Evolving Web protocols, formats and computation paradigms such as HTTP, XML and Web Services. Novel application domains enabled by the Web and societal issues. Term paper and programming project. Seminar focus changes frequently to remain timely.

COMS E6160x or y Topics in Computer Graphics 3 pts. Lect: 2. Prerequisites: COMS W4160 or instructor's permission. An advanced graduate course, involving study of an advanced research topic in Computer Graphics. Content varies between offerings, and the course may be repeated for credit. Recent offerings have included appearance models in graphics, and high quality real-time rendering.

COMS E6176x or y User Interfaces for Mobile and Wearable Computing 3 pts. Lect: 2. Prerequisites: COMS W4170 or the instructor's permission. Introduction to research on user interfaces for mobile and wearable computing through lectures, invited talks, student-led discussions of important papers, and programming projects. Designing and authoring for mobility and wearability. Ubiquitous/pervasive computing. Collaboration with other users. Display, interaction, and communication technologies. Sensors for tracking position, orientation, motion, environmental context, and personal context. Applications and social consequences.

COMS E6185x or y Intrusion and Anomaly Detection Systems 2 pts. Lect: 2. Prerequisites: COMS W4180 Network Security. Corequisites: COMS W4180 Network Security. The state of threats against computers, and networked systems. An overview of computer security solutions and why they fail. Provides a detailedtreatment for Network and Host-based Intrusion Detection and Intrusion Prevention systems. Considerable depth is provided on anomaly detection systems to detect new attacks. Covers issues and problems in email (spam, and viruses) and insider attacks (masquerading and impersonation).

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

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS E6261
COMS
6261
66805
001
Tu 2:10p - 4:00p
1024 SEELEY W. MUDD BUILDING
S. Halevi
T. Malkin
8 [ More Info ]

COMS E6733x or y 3 -D photography 3 pts. Lect: 2. Prerequisites: Experience with at least one of the following topics: Computer Graphics, Computer Vision, Pixel Processing, Robotics or Computer Aided Design, or permission of the instructor. Programming proficiency in C, C++ or JAVA. Programming proficiency in C, C++ or JAVA. 3D Photography - the process of automatically creating 3D, texture-mapped models of objects in detail. Applications include robotics, medicine, graphics, virtual reality, entertainment and digital movies etc. Topics include 3D data acquisition devices, 3D modeling systems and algorithms to acquire, create, augment, manipulate, render, animate and physically build such models.

CSEE E6847y Distributed Embedded Systems 3 pts. Lect: 2.Not offered in 2013-2014. Prerequisites: Any COMS W411X, CSEE W48XX or ELEN E43XX course, or permission of the instructor. An inter-disciplinary graduate-level seminar on the design of distributed embedded systems. System robustness in the presence of highly variable communication delays and heterogeneous component behaviors. The study of the enabling technologies (VLSI circuits, communication protocols, embedded processors, RTOSs), models of computation, and design methods. The analysis of modern domain-specific applications including on-chip micro-networks, multiprocessor systems, fault-tolerant architectures, and robust deployment of embedded software. Research challenges such as design complexity, reliability, scalability, safety, and security. The course requires substantial reading, class participation and a research project.

COMS E9800x and y Directed Research in Computer Science 1-15 pts. Prerequisites: Submission of an outline of the proposed research for approval by the faculty member who will supervise. The department must approve the number of points. May be repeated for credit. This course is only for Eng.Sc.D. candidates.

Course
Number
Call Number/
Section
Days & Times/
Location
Instructor Enrollment
Spring 2013 :: COMS E9800
COMS
9800
26652
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]
Autumn 2013 :: COMS E9800
COMS
9800
84691
001
TBA Instructor To Be Announced 0 / 0 [ More Info ]