ESC190 Lecture Notes

These are official course notes for ESC190: Computer Algorithms and Data Structures.

I will do my best to update notes within 24 hours of the lecture recording being posted. If you have any feedback, questions, clarifications, or if you see a typo or a mistake, feel free to email me at


Table of Contents

  1. Part 1 (Lectures 2-10): Introduction to the C Memory Model, Strings, Arrays, Functions, Structs.
  2. Part 2 (Lectures 11-21): Basic Algorithms and Data Structures
  3. Part 3 (Lectures 22-): Advanced Data Structures and Algorithms