Homework will be due Thursdays at 9:30 am.

- Grading guidelines
- Homework 1 - [feedback form] - [solutions]
- Homework 2 - [feedback form] - [solutions]
- Homework 3 - [feedback form] - [solutions]
- Homework 4 - [feedback form]
- Homework 5 - [feedback form]

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, asymptotic analysis.
- 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 algorithms, quicksort.
- Lecture 7 - Lower bounds on comparison sorting, counting sort, stacks, queues, linked lists.
- Lecture 8 - Binary search trees, red-black trees.
- Lecture 9 [draft] - Hashing.
- Lecture 10 [draft] - Graphs, depth-first search, topological sort.

- 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 material): Errata
- Email the instructor: Jessica Su (jtysu [at] stanford [dot] edu)

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.

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. These lectures will be (unofficially) recorded when possible, and recordings will be posted on the course website.

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 the course.

- CS 103 material from winter quarter.
- A guide to proofs (CS 103)
- A guide to writing induction proofs (CS 103)
- More material about proofs (CS 103)
- Thomas Cormen's explanation of loop invariants on Quora
- Material from CS 109 (Introduction to Probability for Computer Scientists)

- 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).