Computer Science

The Department of Computer Science offers courses in computer science, Java programming, MATLAB programming, object-oriented programming, data structures and algorithms, software engineering, artificial intelligence, operating systems, database systems, cryptography, biometrics, networks, and graphics.

For questions about specific courses, contact the department:

Departmental Office: 450 Computer Science
212-939-7000

Office Hours:
see Web site

Web: www.cs.columbia.edu

 


Directory of Classes

The course information displayed on this page relies on an external system and may be incomplete. Please visit Computer Science on the Directory of Classes for complete course information for:
Fall 2016
Spring 2017

After finding your course in the Directory of Classes, click on the section number to open an expanded view. The "Open To" field will indicate whether the course is open to School of Professional Studies students. If School of Professional Studies is not included in the field, students may still be able to cross-register for the course by obtaining permission after being admitted to an academic program.


COMS E4156 Advanced Software Engineering. 3 points.

CC/GS: Partial Fulfillment of Science Requirement, BC: Fulfillment of General Education Requirement: Quantitative and Deductive Reasoning (QUA).

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.

Spring 2017: COMS E4156
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4156 001/82784 T Th 10:10am - 11:25am
633 Seeley W. Mudd Building
Ewan Lowe 3 54/60

COMS W4121 Computer Systems for Data Science. 3 points.

Prerequisites: background in Computer System Organization and good working knowledge of C/C++
Corequisites: CSOR 4246 (Algorithms for Data Science), STATS W4105 (Probability), or equivalent as approved by faculty advisor.

An introduction to computer architecture and distributed systems with an emphasis on warehouse scale computing systems. Topics will include fundamental tradeoffs in computer systems, hardware and software techniques for exploiting instruction-level parallelism, data-level parallelism and task level parallelism, scheduling, caching, prefetching, network and memory architecture, latency and throughput optimizations, specialization, and an introduction to programming data center computers.

Spring 2017: COMS W4121
Course Number Section/Call Number Times/Location Instructor Points Enrollment
COMS 4121 001/15051 W 6:10pm - 8:55pm
428 Pupin Laboratories
Sambit Sahu, Eugene Wu 3 124/130

The University reserves the right to withdraw or modify the courses of instruction or to change the instructors as may become necessary.