May 12, 10:00-11:50am ET, alternative time if you cannot or do not want to take the exam on May 17
May 17, 12:00-1:50pm ET, CAS scheduled final exam
Week 14 (5/5 - 5/11)
Lecture 1 (Wednesday)
Problem presentations.
Lecture 2 (Monday)
Problem presentations and wrapping up the course.
Readings
Assignment
Due Wednesday, May 12:
- provide feedback and comments for the presentations done on April 5, 6, 10 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
You need to participate in a live contest, not one that happened in the past and still allows for virtual participation.
Week 13 (4/28 - 5/4)
Assignment
Due Wednesday, May 5:
- provide feedback and comments for the presentations done on April 28 and April 29 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
You need to participate in a live contest, not one that happened in the past and still allows for virtual participation.
Week 12 (4/19 - 4/27)
Monday, April 19
No Classes - Spring Break, part 2
Lecture 1 (Wednesday)
Continue/finish with string algorithms
Lecture 2 (Monday)
Graph algorithms (intro)
Readings
Assignment
Due Wednesday, April 28:
- provide feedback and comments for the presentations done on April 21 and April 22 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
You need to participate in a live contest, not one that happened in the past and still allows for virtual participation.
Week 11 (4/12 - 4/18)
Lecture 1 (Monday)
Dynamic programming (wedding shopping problem)
Lecture 2 (Wednesday)
String algorithms.
Readings
Assignment
Due Wednesday, April 21:
- provide feedback and comments for the presentations done on April 14 and April 15 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
You need to participate in a live contest, not one that happened in the past and still allows for virtual participation.
Week 10 (4/5 - 4/11)
Assignment
Due Wednesday, April 14:
- provide feedback and comments for the presentations done on April 7 and April 8 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
You need to participate in a live contest, not one that happened in the past and still allows for virtual participation.
Week 9 (3/29 - 4/4)
Lecture 1 (Monday)
Midterm exam.
Lecture 2 (Wednesday)
Pset 8 discussion.
Dynamic programming (coin change)
Readings
Assignment
Due Wednesday, April 7:
- provide feedback and comments for the presentations done on March 31 and April 1 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
You need to participate in a live contest, not one that happened in the past and still allows for virtual participation.
Week 8 (3/22 - 3/28)
Lecture 1 (Monday)
Divide and conquer.
Greedy.
Lecture 2 (Wednesday)
Finish greedy.
Dynamic programming
Readings
Assignment
Due Wednesday, March 31:
- provide feedback and comments for the presentations done on March 24 and March 25 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
By mid-semester you should aim to have two out of the four outside contests done!
We are at the mid-semester point!!!!
Week 7 (3/15 - 3/21)
Lecture 1 (Monday)
Brute force approach to problem solving. Backtracking.
Lecture 2 (Wednesday)
Problemset 7 discussion.
Finish with brute force.
Readings
- chapter 4 in Guide to Competitive Programming
- chapter 7 in Principles of Algorithmic Problem Solving
Assignment
Due Sunday, March 21:
- problem set posted on Brightspace
Due Wednesday, March 24:
- provide feedback and comments for the presentations done on March 17 and March 18 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
By mid-semester you should aim to have two out of the four outside contests done!
We are at the mid-semester point!!!!
Week 6 (3/8 - 3/14)
Lecture 1 (Monday)
Sorting and searching
Lecture 2 (Wednesday)
Quick-select and finish with sorting and searching types of problems.
Brute force approach to problem solving
Readings
- chapter 4 in Guide to Competitive Programming
- chapter 7 in Principles of Algorithmic Problem Solving
Assignment
Due Sunday, March 14:
- problem set posted on Brightspace
Due Wednesday, March 17:
- provide feedback and comments for the presentations done on March 10 and March 11 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
By mid-semester you should aim to have two out of the four outside contests done!
Week 5 (3/1 - 3/7)
Lecture 1 (Monday)
Priority queues.
Lecture 2 (Wednesday)
Disjoint-Sets / Union-Find
Readings
- section 7.6.2 in Guide to Competitive Programming
Assignment
Due Sunday, March 7:
- problem set posted on Brightspace
Due Wednesday, March 10:
- provide feedback and comments for the presentations done on March 3 and March 4 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
Week 4 (2/22 - 2/28)
Lecture 1 (Monday)
- Invited talk: Advice about Interviews from Helen Chang
Lecture 2 (Wednesday)
- problem set 4 discussion
- finish with binary (search) trees questions from the previous class
Readings
- chapter 5 in Guide to Competitive Programming
Assignment
Due Sunday, Feb 28:
- problem set posted on Brightspace
Due Wednesday, March 3:
- provide feedback and comments for the presentations done on Feb 24 and Feb 25 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
Week 3 (2/12 - 2/18)
Feb 15 (Monday) no classes scheduled
Feb 18 (Thursday) NYU follows Monday schedule
Lecture 1 (Wednesday)
- Linear data structures: lists, stacks and queues.
Lecture 2 (Thursday)
- Non-linear data structures, 1: binary trees and hash tables
Readings
- chapter 5 in Guide to Competitive Programming
Assignment
Due Monday, Feb 21:
- problem set 3 posted on Brightspace
Due Wednesday, Feb 24:
- provide feedback and comments for the presentations done on Feb 17 and Feb 18 (your comments should be about the presentation itself and the proposed solutions; they should be made under the Ed post created by the presenter)
Ongoing:
- participate in outside online competitions (make sure to register and complete this form before the actual contest)
- comment and ask questions about solutions for the online contest problems made by other students
Week 2 (2/4 - 2/10)
Lecture 1
-
Continue with Fundamentals
Lecture 2
- Bitmasks: using bit manipulation, representing and manipulating sets.
Readings
- chapter 2.3 in Guide to Competitive Programming
Assignment
Due Wednesday, Feb 10:
- complete the problem selection survey to pick your presentation problem / topic
Due Monday, Feb 15:
- problem set 2 posted on Brightspace
Optional:
- complete the survey about homework due day (link available on Ed)
Ongoing:
- participate in outside online competitions
- make sure to register and complete this form before the actual contest
Week 1 (1/28 - 2/3)
Lecture 1 (2/1)
Gradescope verdicts for problem solutions.
Lecture 2 (2/3)
Fundamentals: algorithmic analysis, data types/sizes.
Readings
- chapter 1 in Guide to Competitive Programming …
Recitation / Lab (2/3)
- Meet your section leader
- Meet a few people from your section
- Start solving problems
Assignment
Due immediately:
- register on the VJudge website
- complete the class survey (you need to register on VJudge prior to completing this survey)
Due Friday, Feb. 5:
- problem set 1 posted on Brightspace