COMP 2711H Reading
- Lecture 1: Propositional Logic
- Lecture Video
- Reading: Chapter 2 of Grimaldi (Fundamentals of Logic)
- Video: Proofs
- Lecture 2: Predicate Logic and Peano's Axioms
- Lecture Video
- Reading: Chapter 2 of Grimaldi (Fundamentals of Logic)
- Video: Peano Axioms
- Lecture 3: Induction, Well-ordering and Infinite Descent
- Lecture 4: Induction Problems and Strong Induction
- Lecture Video
- Video: Strong Induction
- Video: Proof by Strong Induction
- Video: Strong Induction Examples
- Reading: Chapters 3 and 8 of Engel (The Extremal Principle, The Induction Principle)
- Lecture 5: Solving More Induction Problems
- Lecture Video
- Video: Induction Problems
- Video: Divisibility Problems Solved by Induction
- Video: Epic Induction
- Reading: Chapters 3 and 8 of Engel (The Extremal Principle, The Induction Principle)
- Lecture 6: Counting, Permutations, Combinations, Balls and Walls
- Lecture Video
- Reading: Chapter 1 of Grimaldi (Fundamental Principles of Counting)
- Reading: Chapter 1 of Chen and Koh (Permutations and Combinations) -- Very Important
- Reading: Chapter 1 of Ross (Combinatorial Analysis)
- Fun to Read: Which Rectangular Chessboards Have a Knight's Tour?
- Lecture 7: Solving Counting Problems
- Lecture Video
- Reading: Chapter 1 of Chen and Koh (Permutations and Combinations) -- Very Important
- Lecture 8: More Counting
- TA Session 1
- Lecture 9: Principle of Inclusion and Exclusion
- Lecture Video
- Reading: Chapter 2 and 4 of Chen and Koh (Binomial Coefficients, Inclusion-Exclusion)
- Video: Inclusion-Exclusion Example
- Video: 3-set PIE
- Video: Counting using PIE
- Lecture 10: Generalized Principle of Inclusion and Exclusion (23 September 2023)
- Lecture Video
- Reading: Chapter 2 and 4 of Chen and Koh (Binomial Coefficients, Inclusion-Exclusion)
- Reading: Chapter 8 of Grimaldi (Inclusion-Exclusion)
- Video: Inclusion-Exclusion
- Video: PIE Problems
- Video: Generalized PIE
- Video: Derangements
- Lecture 11: Pigeonhole Principle
- Lecture Video
- Reading: Chapter 3 of Chen and Koh (Pigeonhole and Ramsey)
- Reading: Chapter 4 of Engel (Box Principle)
- Video: Pigeonhole Principle
- Video: Pigeonhole Principle Examples
- Video: Pigeonhole Principle - Establishing a Pattern
- Video: Pigeonhole Principle - Generalizing the Cases
- Playlist: More Advanced Pigeonhole Principle Problems
- TA Session 2
- Lecture 12: Graphs, Trees, Paths and Walks
- Lecture Video
- Reading: Sections 1.1 and 1.2 of West (What is a Graph?, Paths, Cycles and Trails)
- Video Playlist: Introduction to Graph Theory
- Video Playlist: Watch Lectures 1 to 4
- Lecture 13: More Theorems on Graphs and Trees
- Lecture Video
- Reading: Sections 1.3 and 1.4 of West (Vertex Degrees & Counting, Directed Graphs)
- Video Playlist: Watch from 10.1.1 to 11.1.1
- Recommended to Watch: Graph Theory Background
- Lecture 14: Even More Theorems on Graphs and Trees
- Lecture Video
- Reading: Sections 2.1 and 2.2 of West (Trees and Distance: Basic Properties, Spanning Trees)
- Recommended to Watch: DFS and BFS
- Reading: Chapters 11 and 12 of Grimaldi (Graph Theory, Trees)
- TA Session 3
- Lecture 15: Minimum Spanning Trees, Directed Graphs, DAGs
- Lecture Video
- Video: Kruskal's Algorithm
- Video: Prim's Algorithm
- Video: Minimum Spanning Trees
- Reading: Chapters 1 and 2 of West (Fundamental Concepts, Trees and Distance)
- Lecture 16: Tree-based Algorithms and Huffman Coding
- Lecture Video
- Reading: Section 2.3 of West (Optimization and Trees)
- Video: Huffman Coding and Huffman Trees
- Video: Huffman Coding Example
- Recommended Video: Huffman Coding + Code
- Recommended Video: Dynamic Programming on Trees
- Lecture 17: Distance, Shortest Paths and Matchings
- TA Session 4
- Lecture 18: Matchings, Vertex Covers, Edge Covers and Independent Sets
- Lecture Video
- Reading: Section 3.1 of West (Matchings and Covers)
- Lecture 19: Network Flow and the Ford-Fulkerson Algorithm
- Lecture Video
- Reading: Section 4.3 of West (Network Flow Problems)
- Video: Maximum Flow and Ford-Fulkerson
- Video: Flow Networks and Maximum Flow
- Video: Maximum-Flow Minimum-Cut Algorithm
- Video: Max-flow and Ford-Fulkerson
- Video: Ford-Fulkerson in 5 minutes
- Lecture 20: Stable Matchings and Graph Coloring
- Lecture Video
- Reading: Subsection 3.2.3 of West (Stable Matchings)
- Reading: Section 5.1 of West (Vertex Colorings and Upper Bounds) -- Brooks' Theorem is not part of the syllabus
- Video: Introduction to Graph Colouring
- Video: Coloring Code - How Compilers Use Graph Theory
- Video: Applications of Graph Colouring
- Midterm Exam
- Lecture 21: Divisibility and Greatest Common Divisor
- Lecture Video
- Reading: Chapters 1 and 2 of Burton (Preliminaries, Divisibility Theory)
- Video: Number Theory I
- Playlist: Introduction to Number Theory (Watch Lectures 3 and 4)
- Lecture 22: Prime Factorizations and the Fundamental Theorem of Arithmetic
- Lecture Video
- Reading: Sections 2.4 to 3.3 of Burton (Euclid to Goldbach)
- Video: Primes
- Solve Problems 1 to 10 of ProjectEuler.net
- Fun to read: Collatz Conjecture
- Lecture 23: Congruence, Modular Multiplicative Inverse and the Chinese Remainder Theorem
- Lecture Video
- Reading: Chapter 4 of Burton (Congruences)
- Video Playlist: Chinese Remainder Theorem
- Solve Problems 14, 20, 27, 47, 50, 69, 77, 112, 122 and 451 of ProjectEuler.net
- TA Session 5
- Lecture 24: Fermat's Little Theorem, Euler's Theorem, Wilson's theorem
- Lecture Video
- Video: Order of an integer modulo n
- Video: Fermat's Little Theorem
- Video: Euler's Theorem
- Video: Wilson's Theorem
- Playlist: Introduction to Number Theory (Watch Lectures 5 to 14, Primes to Euler's Totient)
- Video: COMP 4541's Number Theory Tutorial - Part II
- Video: Proof that the Totient Function is Multiplicative
- Video: Explicit Formula for Euler's Totient Function
- Video: Euler's Totient Theorem and Fermat's Little Theorem
- Reading: Chapters 5 and 7 of Burton (Fermat's Theorem, Euler's Generalization of Fermat's Theorem)
- Lecture 25: Diffie-Hellman-Merkle Key Exchange and ElGamal Encryption
- Lecture Video
- Video: Secret Key Exchange
- Video: The Mathematics behind Diffie-Hellman
- Video: COMP 4541's Diffie-Hellman Lecture
- Video: COMP 4541's Number Theory Tutorial - Part I
- Video: COMP 4541's ElGamal Lecture
- Video: ElGamal Encryption
- Reading: Recommended Chapter 10 of Burton (Intro to Crypto)
- Lecture 26: RSA Encryption and Digital Signatures
- Lecture Video
- Video: Breaking RSA
- Video: What are Digital Signatures?
- Video: COMP 4541's RSA Lecture
- Video: COMP 4541's Digital Signatures Lecture
- Video: The RSA Cryptosystem and Efficient Exponentiation
- Video: Diffie-Hellman Key Exchange and the Discrete Log Problem
- Reading: Side-channel Attacks (Wikipedia)
- Reading: Power Analysis (Wikipedia)
- TA Session 6
- Lecture 27: Russell's Paradox and Zermelo–Fraenkel Axioms
- Lecture 28: Axiom of Infinity and Bijections
- Lecture 29: Countability and the Theorems of Cantor, Tarski and Schröder–Bernstein
- TA Session 7
- Lecture 30: The Set of Real Numbers
- Lecture 31: |ℝ|=|P(ℕ)| and the Axiom of Choice
- Lecture 32: Introduction to Probability Theory
- Lecture Video
- Reading: Chapter 2 of Ross (Axioms of Probability), including sections marked by *
- TA Session 8
- Lecture 33: Conditional Probability, Independence and Expectation
- Lecture Video
- Read: The Monty Hall Problem
- Read: The Sleeping Beauty Problem
- Watch: Philosophers are not smart enough for probability theory!
- Reading: Chapters 3 and 4 of Ross (Conditional Probability, Independence, Random Variables)
- Video: Bayes Theorem
- Video: The Bayesian Trap
- Lecture 34: Solving Problems using Linearity of Expectation
- Lecture 35: Markov Chains
- Lecture 36: Nim and the Sprague-Grundy Theorem
- Lecture 37: One-shot Games and Nash Equilibria
- Lecture Video
- Video: Nash Equilibrium in 5 Minutes
- Video: Prisoners' Dilemma
- Video: Repeated Prisoners' Dilemma
- Reading: Chapter 1 of the Algorithmic Game Theory Book (Basic Solution Concepts)
- Lecture 38: Two-player Infinite-duration Games on Graphs
- TA Session 9
- TA Session 10
- TA Session 11