Enums: Pure DataCovers enums as a shorthand for case class hierarchies, focusing on modeling pure data.
Advanced C Data TypesCovers advanced data types and memory management in C programming, emphasizing type consistency and dynamic array allocation.
Code Generation LabCovers generating code for a compiler, translating an Amy program to WebAssembly, including memory management and pattern matching compilation.
Functional Programming Basics in ScalaCovers the basics of functional programming in Scala, including evaluation strategies, conditionals, and value definitions, with a focus on computing square roots with Newton's method.
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
Functions and Pattern MatchingExplores reactive programming principles, focusing on functions and pattern matching in Scala, including JSON representation and partial functions.
Inheritance: Polymorphism & CastingCovers inheritance, polymorphism, and casting in object-oriented programming, emphasizing code factorization and generic object manipulation.