Java Programming: Strings and ArraysCovers fundamental programming and object-oriented programming concepts in Java, including variables, types, control structures, and basic algorithmic concepts.
Solving Type ConstraintsExplains the process of solving type constraints using the unification algorithm and generalization for flexible type inference.
Generics and SubtypingCovers advanced concepts in generics and subtyping in Java, focusing on LinkedList implementation and List interface.
Advanced C Data TypesCovers advanced data types and memory management in C programming, emphasizing type consistency and dynamic array allocation.
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
Subtyping and GenericsExplores subtyping, generics, type bounds, variance, covariance, and array typing challenges in Java and Scala.