Undecidability: Part 1Introduces undecidability in recursive languages and Turing machines, showing languages without algorithmic recognition.
Complexity of AlgorithmsExplores linear search, insertion sort, coin change, maximum matching, and the halting problem in algorithms.
Elements of Computational ComplexityIntroduces computational complexity, decision problems, quantum complexity, and probabilistic algorithms, including NP-hard and NP-complete problems.