Each time we meet for lab or lecture, you’ll be learning a new topic. We move incredibly fast so don’t fall behind. Non-negotiable topic items are formatted as so
.
As a reminder, we meet virtually on Tuesdays and Thursdays 3:30pm - 4:45pm ET and you have lab on Wednesdays, also virtually, at either 10:00am - 11:45am ET or 12:00pm - 1:45pm ET.
Week | Tuesday (Lecture) | Wednesday (Lab) | Thursday (Lecture) |
---|---|---|---|
1 | Intro & Setup | C++ Crash Course | Essential Math Overview |
2 | Intro to Analysis of Algos |
Recursion, revisited | Basic Sorting Algos (Implementation) |
3 | Basic Sorting Algos (Analysis) |
Dynamic Arrays (Intro & Analysis) |
Dynamic Arrays (Implementation) |
4 | Linked Lists (Intro & Analysis) |
Pointers & Linked Lists |
Linked Lists (Implementation) |
5 | Stacks |
Problem-Solving | Queues |
6 | Mergesort |
Recursive Algorithms | Analyzing Recursive Functions (w/ recurrences) |
7 | Quicksort |
Recursive Backtracking | Review/Breather/Wiggle Room |
8 | Midterm exam | Priority Queues |
Review/Breather/Wiggle Room |
9 | Binary Search |
Intro to Trees | Intro BSTs |
10 | BSTs Analysis |
BSTs Implementation |
BSTs Implementation cont’d |
11 | More trees: Balanced Trees |
Heaps |
Sets & Maps |
12 | Heapsort & Intro to Graphs | BFS vs DFS |
BFS vs DFS cont’d |
13 | Hashtables | Chaining & Open-Addressing | Q&A / Technical Interview Prep |
Exam Schedule
- Midterm
- Tuesday, March 16th, 2021, 3:30pm - 4:45pm ET
- Final
- Thursday, May 6th, 2021, 3:00pm - 6:00pm ET