• Home
  • Resume
  • Course Notes

Course Notes

Disclaimer These notes are written in their entirety by me, David Duan, while attending lectures at the University of Waterloo. I have no intentions of violating any UW policies and will gladly honour takedown notices produced by an authorized UW representative (contact me here). They are by no means authoritative so use at your own peril. Otherwise, have fun losing hair :)
Remark. Check out my friends' sites with more notes:
  • Felix Zhou
  • Sibelius Peng
Remark. Courses in gray means either I'm taking the course right now or I haven't had the chance to fully clean up the notes.

University of Waterloo

► CS-480 / CS-680 - Introduction to Machine Learning
  • Course Highlight (EPFL: CS-233)
► CS-479 / CS-679 - Neural Networks
  • Course Notes
► CS-466 / CS-666 - Algorithm Design and Analysis
► CS-370 - Numerical Computation
  • Course Notes
► CS-360 - Introduction to Theory of Computing
  • Course Highlight (EPFL: CS-251)
► CS-348 - Introduction to Database Management
  • Course Notes (Part I)
► CS-343 - Concurrent and Parallel Programming
  • Course Highlight (EPFL: CS-206)
► CS-341 - Algorithms
  • Course Highlight
► CS-251 - Computer Organization and Design
  • Pipelining
  • Memory Hierarchy
  • C-style VM Pseudocode
► CS-245 - Logic and Computation
  • Propositional Logic
  • Predicate Logic
  • Program Verification
  • Undecidability
► CS-240E - Data Structure and Data management (Enriched)
  • Compression
  • External Memory
  • Pattern Matching
  • Priority Queues
  • Range Search
  • Dictionaries
► CO-487 / CO-687 - Applied Cryptography
  • Incomplete Notes (Recommended resource: See Sibelius's notes here)
► CO-463 / CO-663 - Convex Optimization and Analysis
  • Course Notes
► CO-450 / CO-650 - Combinatorial Optimization
  • Course Notes
► CO-351 - Network Flow Theory
  • I: Transshipment Problem
  • II: Minimum Cost Flow Problem
  • III: Shortest Dipath Problem
  • IV: Maximum Flow Minimum Cut
  • Final Review I: TP, MCFP, Shortest Dipath
  • Final Review II: Max Flow Min Cut
► CO-342 - Introduction to Graph Theory
  • I: Connectivity
  • II: Planarity
  • III: Matching
► CO-250 - Introduction to Optimization
  • Module I & II: Intro and Solving LPs
  • Module III: Duality Through Examples
  • Module IV: Duality Theory
  • Module V: Integer Programs
  • Module VI: Nonlinear Programs
  • Course Highlight
► STAT-443 / STAT-843 - Forecasting
► STAT-441 / STAT-841 - Statistical Leraning: Classification
► STAT-433 / STAT-843 - Stochastic Processes II
  • Course Notes (not 100% polished)
► STAT-341 - Computational Statistics and Data Analysis
  • Part I. Populations, Explicit Attributes, Implicit Attributes
  • Part II. Samples, Inductive Inference, Prediction
► STAT-333 - Stochastic Processes I
  • Course Notes
► STAT-331 - Applied Linear Models
  • Course Notes
► STAT-330 - Mathematical Statistics
  • Course Notes
► PMATH-450 / PMATH-650 - Lebesgue Integration and Fourier Analysis
  • Course Notes (Incomplete)
► PMATH-351 - Real Analysis
  • Course Notes
► PMATH-336 - Introduction to Group Theory with Applications
  • Course Notes
► MATH-247 - Calculus III (Advanced Level)
  • I: Topology in Euclidean Space
  • II: Multivariate Differential Calculus
  • III: Multivariate Integral Calculus
  • Midterm Cheatsheet
  • Final Cheatsheet
► MATH-148 - Calculus II (Advanced Level)
  • Course Notes
► MATH-147 - Calculus I (Advanced Level)
  • Mind Map

École Polytechnique Fédérale de Lausanne

► CS-206: Parallelism and Concurrency
  • Course Highlight
► CS-233: Introduction to Machine Learning
  • Course Highlight
► CS-251: Theory of Computation
  • Course Highlight

Last update: Oct 2022.