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.