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
21 of 99Instructor
Adam CannonCourse Number
COMS3132W001Format
In-PersonSession
Session BPoints
4 ptsSummer 2024
Times/Location
Mo 17:30-20:40We 17:30-20:40Section/Call Number
001/10347Enrollment
23 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
41 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
41 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
39 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
48 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
17 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
53 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
21 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
41 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
28 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
44 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
17 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
21 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
18 of 50Instructor
Tony DearSamuel DengPrerequisites: (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
CSOR4231W001Format
In-PersonSession
Session APoints
3 ptsSummer 2024
Times/Location
Tu 13:00-16:10Th 13:00-16:10Section/Call Number
001/10352Enrollment
31 of 99Instructor
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
22 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
13 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 StraussEnrollment in this course acknowledges the student’s participation in an industry project.
Working with a mentor (alumni, adjunct faculty, or industry partner) in relevant industry, students will work with a team of 3-5 students on an identified project. The career placement officer can assist in administering the advertisement, selection and recruitment processes. Students can enroll in ENGI E4700 for zero credit, zero fees; students who wish to earn academic credit can enroll in Fieldwork. The specific requirements for the project is defined by the mentor. Groups should meet with their mentor on a weekly basis for at least 30 minutes. Students are also encouraged to submit bi-weekly progress reports to the mentor. Upon completion of the project (end of July/beginning of August), each team will participate in an industry project showcase to present their project and deliverables. Students will receive coaching on presentation skills from the professional development and leadership and the career placement officer teams.
Course Number
ENGI4700E009Session
X Summer SessionPoints
0 ptsSummer 2024
Section/Call Number
009/13730Enrollment
2 of 100Instructor
Cindy BorgenDavid FitzgeraldSara YllescasCindy MejiaChris LeeJiaqi LiCarmen NgWorking with a faculty member and a team of 3-5 graduate or undergraduate students, students will have the opportunity to work on a small research project. Students can enroll ENGI E3900/4900 for zero credit, zero fees; students who wish to earn academic credit can enroll in the faculty member’s independent research course or Fieldwork. Specific requirements for the project are defined by the faculty members. Research groups meet weekly with their faculty member. Students are also encouraged to submit bi-weekly progress reports to the faculty member. Upon completion of the research project (end of July/beginning of August), each research team will participate in a research symposium to present their research and deliverables. Note: Enrollment in this course acknowledges the student’s participation in research with an Engineering faculty member.
Course Number
ENGI4900E006Format
In-PersonSession
X Summer SessionPoints
0 ptsSummer 2024
Section/Call Number
006/13728Enrollment
0 of 100Instructor
Robert KramerWorking with a faculty member and a team of 3-5 graduate or undergraduate students, students will have the opportunity to work on a small research project. Students can enroll ENGI E3900/4900 for zero credit, zero fees; students who wish to earn academic credit can enroll in the faculty member’s independent research course or Fieldwork. Specific requirements for the project are defined by the faculty members. Research groups meet weekly with their faculty member. Students are also encouraged to submit bi-weekly progress reports to the faculty member. Upon completion of the research project (end of July/beginning of August), each research team will participate in a research symposium to present their research and deliverables. Note: Enrollment in this course acknowledges the student’s participation in research with an Engineering faculty member.
Course Number
ENGI4900E008Format
In-PersonSession
X Summer SessionPoints
0 ptsSummer 2024
Section/Call Number
008/13731Enrollment
0 of 100Instructor
Zoran KosticWorking with a faculty member and a team of 3-5 graduate or undergraduate students, students will have the opportunity to work on a small research project. Students can enroll ENGI E3900/4900 for zero credit, zero fees; students who wish to earn academic credit can enroll in the faculty member’s independent research course or Fieldwork. Specific requirements for the project are defined by the faculty members. Research groups meet weekly with their faculty member. Students are also encouraged to submit bi-weekly progress reports to the faculty member. Upon completion of the research project (end of July/beginning of August), each research team will participate in a research symposium to present their research and deliverables. Note: Enrollment in this course acknowledges the student’s participation in research with an Engineering faculty member.
Course Number
ENGI4900E009Session
X Summer SessionPoints
0 ptsSummer 2024
Section/Call Number
009/13729Enrollment
1 of 100Instructor
Cindy BorgenDavid FitzgeraldSara YllescasCindy MejiaChris LeeJiaqi LiCarmen NgChristine ChanEnglish 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.