Summer Courses


Blue Computer Science "CS@CU" logo with Columbia crown

Summer Courses

Registration for Summer 2024 is available via https://summer.sps.columbia.edu/ for non-Columbia students. For Current students, SSOL/Vergil registration opens on Feb. 27th.


Session 1: May 20 – June 28

    Instructor Time
COMS W1004 Introduction to Computer Science and Programming in Java Adam Cannon TR 10:10-1:20
COMS W3157 Advanced Programming Brian Borowski TR 5:30-8:40
COMS W3203 Discrete Mathematics Ansaf Salleb-Aouissi TR 10:10-1:20
COMS W3261 Computer Science Theory Xi Chen MW 1:00-4:10
COMS W4701 Artificial Intelligence Tony Dear TR 4:10-7:20
CSOR W 4231 Analysis of Algorithms I Nakul Verma TR 1:00-4:10
ENGI E1006 Introduction to Computing for EAS Paul Blaer MW 5:30-8:40

Session 2: July 1 – August 9

    Instructor Time
COMS W3132 Intermediate Programming in Python Jan Janak MW 5:30-8:40
COMS W3134 Data Structures Paul Blaer MW 5:30-8:40
COMS W4705 Natural Language Processing Daniel Bauer MW 4:10-7:20
COMS W4771 Machine Learning Nakul Verma  TR 1-4:10PM
COMS W4995 Topics in Computer Science: From Algorithm to Development Brian Borowski MW 5:30-8:40

For course details, visit the Bulletin.

COMS 4995 TOPICS IN COMPUTER SCIENCE

COMS 4995 From Algorithm to Development | Brian Borowski

Prerequisites: (COMS W3134 or COMS W3137), COMS W3157 recommended

Description: From Algorithmic Thinking to Development focuses on refining problem-solving and coding skills so that students can devise solutions to problems that are frequently used in interviews for software engineering positions. The selected problems fall under the domains of brute-force, hashing, sorting, transform-and-conquer, greedy, and dynamic programming and are found on various online judges, including HackerRank, LeetCode, and SPOJ. Python, Java, C, and C++ are used to implement solutions. While the instructor will provide short lectures and code walk-throughs to help the class, students will learn primarily through experimentation, working in small teams, and sharing ideas. At the end of the semester, each team will select and solve a problem from an online judge and present their solutions to the class.