Computer Science
The Computer Science Department advances the role of computing in our lives through research and prepares the next generation of computer scientists with its academic programs.
For questions about specific courses, contact the department.
Courses
Course Number
COMS1004W001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Tu 10:10-13:20Th 10:10-13:20Section/Call Number
001/10346Enrollment
18 of 99Instructor
Adam CannonIntroduction to software development tools and environments. Each section devoted to a specific tool or environment. One-point sections meet for two hours each week for half a semester, and two point sections include an additional two-hour lab.
Course Number
COMS3102W001Format
In-PersonSession
Session APoints
2 ptsSummer 2024
Times/Location
Mo 17:30-19:50We 17:30-19:50Section/Call Number
001/12494Enrollment
4 of 99Instructor
Shoaib AhamedCourse Number
COMS3132W001Format
In-PersonSession
Session BPoints
4 ptsSummer 2024
Times/Location
Mo 17:30-20:40We 17:30-20:40Section/Call Number
001/10347Enrollment
18 of 60Instructor
Jan JanakData types and structures: arrays, stacks, singly and doubly linked lists, queues, trees, sets, and graphs. Programming techniques for processing such structures: sorting and searching, hashing, garbage collection. Storage management. Rudiments of the analysis of algorithms. Taught in Java. Note: Due to significant overlap, students may receive credit for only one of the following three courses: COMS W3134, COMS W3136, COMS W3137.
Course Number
COMS3134W001Format
In-PersonSession
Session BPoints
3 ptsSummer 2024
Times/Location
Mo 17:30-20:40We 17:30-20:40Section/Call Number
001/10354Enrollment
29 of 99Instructor
Paul BlaerCourse Number
COMS3157W001Format
In-PersonSession
Session APoints
4 ptsSummer 2024
Times/Location
Tu 17:30-20:40Th 17:30-20:40Section/Call Number
001/10348Enrollment
44 of 99Instructor
Brian BorowskiCourse Number
COMS3203W001Format
In-PersonSession
Session APoints
4 ptsSummer 2024
Times/Location
Tu 10:10-13:20Th 10:10-13:20Section/Call Number
001/10349Enrollment
32 of 99Instructor
Ansaf Salleb-AouissiCourse Number
COMS3261W001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Mo 13:00-16:10We 13:00-16:10Section/Call Number
001/10350Enrollment
40 of 99Instructor
Xi ChenAn 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.
Course Number
COMS4261W001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Mo 10:10-13:20We 10:10-13:20Section/Call Number
001/12493Enrollment
10 of 50Instructor
Periklis PapakonstantinouCourse Number
COMS4701W001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Tu 16:10-19:20Th 16:10-19:20Section/Call Number
001/10351Enrollment
41 of 99Instructor
Tony DearPrior knowledge of Python is recommended. Provides a broad understanding of the basic techniques for building intelligent computer systems. Topics include state-space problem representations, problem reduction and and-or graphs, game playing and heuristic search, predicate calculus, and resolution theorem proving, AI systems and languages for knowledge representation, machine learning and concept formation and other topics such as natural language processing may be included as time permits.
Course Number
COMS4701WV01Format
On-Line OnlySession
Session APoints
3 ptsSummer 2024
Section/Call Number
V01/12329Enrollment
15 of 99Instructor
Tony DearCourse Number
COMS4705W001Format
In-PersonSession
Session BPoints
3 ptsSummer 2024
Times/Location
Mo 16:10-19:20We 16:10-19:20Section/Call Number
001/10355Enrollment
38 of 99Instructor
Daniel BauerComputational 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
COMS4705WV01Format
On-Line OnlySession
Session BPoints
3 ptsSummer 2024
Section/Call Number
V01/12340Enrollment
22 of 99Instructor
Daniel BauerCourse Number
COMS4771W001Format
In-PersonSession
Session BPoints
3 ptsSummer 2024
Times/Location
Tu 13:00-16:10Th 13:00-16:10Section/Call Number
001/10356Enrollment
35 of 99Instructor
Nakul VermaTopics 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
COMS4771WV01Format
On-Line OnlySession
Session BPoints
3 ptsSummer 2024
Section/Call Number
V01/12330Enrollment
10 of 99Instructor
Nakul VermaCourse Number
COMS4995W001Format
In-PersonSession
Session BPoints
3 ptsSummer 2024
Times/Location
Mo 17:30-20:40We 17:30-20:40Section/Call Number
001/10357Enrollment
19 of 99Instructor
Brian BorowskiSelected topics in computer science. Content and prerequisites vary between sections and semesters. May be repeated for credit. Check “topics course” webpage on the department website for more information on each section.
Course Number
COMS4995W002Format
In-PersonSession
Session BPoints
3 ptsSummer 2024
Times/Location
Mo 10:10-13:20We 10:10-13:20Section/Call Number
002/12495Enrollment
12 of 50Instructor
Tony DearCourse Number
CSOR4231W001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Tu 13:00-16:10Th 13:00-16:10Section/Call Number
001/10352Enrollment
30 of 50Instructor
Nakul VermaPrerequisites: (COMS W3134 or COMS W3136COMS W3137) and (COMS 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
CSOR4231WV01Format
On-Line OnlySession
Session APoints
3 ptsSummer 2024
Section/Call Number
V01/12331Enrollment
17 of 99Instructor
Nakul VermaCourse Number
ENGI1006E001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Mo 17:30-20:40We 17:30-20:40Section/Call Number
001/10353Enrollment
10 of 50Instructor
Paul BlaerGlobal Engineering Fieldwork E4201
1 credit 0 tuition
Final reports required. May not be audited. International students must consult with the International Students and Scholars Office.
Course Number
ENGI4201E001Session
X Summer SessionPoints
1 ptsSummer 2024
Section/Call Number
001/12881Enrollment
0 of 150Instructor
Jenny MakElizabeth StraussEnglish communication proficiency is important for academic achievement and career success. Columbia Engineering provides English communication instruction for students who would like to improve their communication skills in English. In a small group setting (15-20 students), enrollees will obtain opportunities to interact with the instructor and fellow classmates to improve communication skills.