Subtyping and PolymorphismExplores subtyping rules, challenges, and its connection to various forms of polymorphism in programming languages.
Types in Lambda CalculusCovers types in lambda calculus, including defining types, specifying rules, and proving soundness.
Type InferenceExplores type inference in statically typed languages, using algorithms to assign types to program expressions accurately.
Generics and SubtypingCovers advanced concepts in generics and subtyping in Java, focusing on LinkedList implementation and List interface.
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
Higher-Order Functions: LambdaExplores higher-order functions and lambda expressions in Python, showcasing their practical applications and concise syntax.