Spring 2024
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. If you want to turn in an assignment, do that on Gradescope.
- Lectures 17:00 to 18:15 on Tuesdays and Thursdays in TD-W 1701
- Labs 09:00 to 14:00 (one hour each) on Wednesdays in 3525 Phelps Hall
- Office Hours See Piazza for the latest schedule.
Assignments are due before midnight Pacific Time.
Name | Due |
---|---|
Welcome | April 8th |
FibVec | April 15th |
TicTac | April 22nd |
Rotate | May 1st |
Polish | May 8th |
GenePool | May 15th |
Counter | May 22nd |
Typo | May 29th |
VoxHop | June 14th |
17:00 to 18:15 on Tuesdays and Thursdays in TD-W 1701
Date | Topics |
---|---|
April 2nd | Class intro; the syllabus; Git intro |
April 4th | More Git; abstract and concrete data structures; sequences and vectors |
April 9th | Sequences, vectors, and linked lists; runtime; big-O notation |
April 11th | More sequences; stacks and queues; big-O notation |
April 16th | More stacks and queues; doubly-linked lists; amortized runtime |
April 18th | Exceptions; try and catch; sorted sequences; binary search |
April 23rd | More binary search; binary search trees; simple tree rotations |
April 25th | More tree rotations; AVL trees; lab tree walkthrough |
April 30th | Inheritance and virtual functions |
May 2nd | Assorted binary search trees; ASTs and traversals/notations |
May 7th | Sets and maps; iterators |
May 9th | Enums; std::istream s; virtual destructors; virtual function implementation |
May 14th | Hash tables; chaining vs probing |
May 16th | Hash table probing schemes; intro to functional programming: map, reduce, etc. |
May 21st | Heaps; binary heaps; leftist heaps |
May 23rd | More heaps; build_heap() ; heap_sort() ; binomial heaps |
May 28th | Graphs; breadth first search; depth first search |
May 30th | Data structures and big-O runtimes for DFS and BFS |
June 4th | Minimum spanning trees; Prim's and Kruskal's algorithms |
June 6th | Weighted shortest path; Dijkstra's algorithm |