Logic
Systems
- Propositional Logic – Expressive completeness, soundness, and completeness
- First Order Logic – Various proof systems, soundness and completeness
- Modal Logic – Propositional modal logics and their applicational variants, completeness of K, and (a little bit of) first order modal logic
Computability and Incompleteness
- Automata, Computability, and Complexity – Finite Automaton, Context-Tree Languages, Turing Machines, Decidability and Reducibility, and (a little bit of) complexity theory
- Arithmetic and Incompleteness – Recursive functions, arithmetization of syntax, undecidability and incompleteness theorems of arithmetic, and nonstandard models
Others
- Type Theory – Untyped λ-calculus, systems on the Lambda cube, Church encodings, and embedding of Intuitionist Logic in λC
- Set Theory – Naive set theory (incomplete)
- Paradoxes – The semantic and set-theoretic paradoxes, Sorities, Knower variants, and the Inclosure Schema
Programming
Languages
Algorithms
- Algorithmns – Sorting and Selection, Dynamic Programming and Greedy, Graph algorithms (Search, MST, Disjoint set forest, Dijkstra’s, All Pairs)
- Advanced Algorithmns and Datastructures – Divide and Conquer, Dynamic Programming, Greedy, Approximation Algorithms, Search Data Structures, Amortized Analysis and Datastructures
- Machine Learning – Warning: bad quality and introductory material