Explores the core features of object-oriented programming, including dynamic dispatch, encapsulation, inheritance, and subtyping, using Java examples and practical insights.
Covers the implementation and verification of encoder and decoder for prefix-free codes, including classes and types, lemmas on trees, and the main theorem.
Explores object-oriented programming concepts, polymorphism, inheritance, and dynamic binding in Java, emphasizing the importance of correct object comparison.