Spring 2023
Welcome to CS 24! Lecture notes and programming assignments will be linked here as they're released. If you're looking for administrative information, check the syllabus. If you're looking for links specific to this session, or just have questions, head over to Piazza.
- Lectures 14:00 to 15:15 on Mondays and Wednesdays in 1006 North Hall
- Labs 09:00 to 13:00 (one hour each) on Fridays in 3525 Phelps Hall
- Kevin's Office Hours 15:15 to 16:15 on Mondays in CSIL
- Surya's Office Hours 14:00 to 16:00 on Tuesdays in CSIL
- Huanhua's Office Hours 14:30 to 15:30 on Thursdays in CSIL
- Kaiwen's Office Hours 17:00 to 18:00 on Thursdays in 1002 Henley Hall
Assignments are due before midnight Pacific Time
Name | Due |
---|---|
Welcome | April 11th |
FibVec | April 18th |
TicTac | April 25th |
Setree | May 2nd |
GenePool | May 9th |
Counter | May 17th |
Typo | May 24th |
WordHop | May 31st |
Lineup | June 9th |
14:00 to 15:15 Mondays and Wednesdays in 1006 North Hall
Date | Topics |
---|---|
April 3rd | Admin stuff; the syllabus; Git |
April 5th | More Git; C++ compilation; memory layout |
April 10th | The stack and the heap; data structures; sequences |
April 12th | More sequences; vectors; linked lists |
April 17th | Stacks and queues; runtimes; big-O notation |
April 19th | Exceptions; encapsulation; sorted sequences; binary search |
April 24th | More sorted sequences; binary search trees; self-balancing trees |
April 26th | Self-balancing trees; tree traversal; sets; the "big five" functions |
May 1st | Static (class) functions; more big five; assignment operators |
May 3rd | Maps; more trees; more tree traversal; iterators |
May 8th | Overview of other search trees; hash tables; chaining vs probing |
May 10th | More hash tables; linear and quadratic probing; double hashing |
May 15th | Heaps (priority queues); binary heaps and percolation |
May 17th | More binary heaps; more percolation; leftist heaps |
May 22nd | Binomial heaps; disjoint sets; intro to graphs |
May 24th | More graphs; depth- and breadth-first search; Dijkstra's algorithm |
May 29th | Memorial Day - no lecture! |
May 31st | Minimum spanning trees; Prim's and Kruskal's algorithms |