Welcome to CS 161!
Homework will be due Thursdays at 9:30 am.
Jessica will be holding lectures in Gates B1, on Tuesdays and Thursdays from
9:30-11:20 am. The lectures will be recorded and lecture notes will be posted
on the course website.
- Lecture 1 - Insertion sort, loop invariants, runtime analyses,
- Lecture 2 - Merge sort, divide and conquer.
- Lecture 3 - Recurrence relations (substitution method, recursion trees, master theorem); maximum subarray problem.
- Lecture 4 - Heaps.
- Lecture 5 - Partition, median of medians
algorithm, more recurrence practice.
- Lecture 6 - Randomized
- Lecture 7 - Lower bounds on
comparison sorting, counting sort, stacks, queues, linked lists.
- Lecture 8 - Binary search trees,
- Lecture 9 - Hashing.
- Lecture 10 - Graphs, depth-first search, topological sort.
- Lecture 11 - Strongly connected
components, breadth-first-search, Dijkstra's algorithm.
- Textbook: Introduction to
Algorithms (you can download the Stanford library copy through the link)
- Gradescope (use code 92EX2M): Gradescope
- Piazza: Piazza
- Syllabus: Syllabus
- Feedback form (for comments/suggestions/complaints about the course): Feedback
- Errata form (you get 2 points extra credit for finding errors in course
- Email the instructor: Jessica Su (jtysu [at] stanford [dot]
This week's office hours will be held in the basement of the Huang
Engineering Center, on
- Monday 3-5 pm (Jessica)
- Monday 7-9 pm (Peng Hui)
- Tuesday 7:30-9:30 pm (Jessica)
- Wednesday 10 am-12 pm (Jessica)
- Wednesday 7-9 pm (Addison)
- Thursday 3:30-5:30 pm (Andi)
- Thursday 7:30-9:30 pm (David)
Remote students may join here.
Sections (completely optional)
David will be holding software engineering interview preparation workshops in
Gates 104 most Mondays (6/27, 7/11, 7/18, 7/25, 8/1) from 6-6:50 pm.
Peng Hui will hold a seminar on how to write proofs, in Gates 104, on Friday
6/24, from 2-3 pm. [section notes]
Addison will be holding a final exam review session during the last week of
- Please click here to help me
with my research project! This is for the Twitter crawler I talked about in Lecture
1 (the one that technically runs in O(1) time, even though it's quite slow).