Fall 2022
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 12:30 to 13:45 on Mondays and Wednesdays in IV Theater II
- Labs 10:00 to 13:00 (one hour each) on Thursdays in Phelps 3525
- Kevin's Office Hours 14:00 to 15:00 on Wednesdays in CSIL
- Punnal's Office Hours 12:00 to 14:00 on Fridays in CSIL
Assignments are due before midnight Pacific Time.
Name | Due |
---|---|
Welcome | October 2nd |
FibVec | October 9th |
Assort | October 16th |
Setree | October 23rd |
Polish | October 30th |
GenePool | November 6th |
Typo | November 13th |
StarMap | November 20th |
No Lab | Happy Thanksgiving! |
Omnibus | December 4th |
12:30 to 13:45 Mondays and Wednesdays in IV Theater II
Date | Topics |
---|---|
September 26th | Admin stuff; the syllabus |
September 28th | Git; C++ compilation |
October 3rd | Memory layout; the stack and the heap |
October 5th | Abstract vs concrete data structures; sequences; vectors |
October 10th | The default, copy, and move constructors; sorted sequences |
October 12th | Linked lists; stacks; queues |
October 17th | Queues; sorted sequences; binary search |
October 19th | Binary search; binary search trees |
October 24th | Binary tree rotations; inheritance; virtual functions |
October 26th | More inheritance; more virtual functions; RPN parsing |
October 31st | Random notes; efficient coding; sets and maps |
November 2nd | More maps; iterators; hash tables |
November 7th | More hash tables; heaps |
November 9th | Amortized time; binary heaps; leftist heaps |
November 14th | Challenge labs; disjoint sets; graphs |
November 16th | More graphs; graph traversal; DFS and BFS |
November 21st | Hacking 101; CPUs and registers; function calls and stack frames |
November 23rd | Hacking 102; buffer overflows; stack canaries; control hijacking |
November 28th | Minimal spanning trees; Prim's and Kruskal's; shortest path; Dijkstra's |