Lecture
Mediaspace scheduled maintenance: Aug 25, 2026 07:00 - 12:00 AM. During this time, videos will be temporarily unavailable. Check status updates.
This lecture introduces the importance of types in programming, highlighting their role in preventing errors, ensuring memory safety, and making compilation more efficient. It discusses unsound type systems, intentional and unintentional unsoundness, and presents examples from Java and Scala. The lecture also covers inductively defined relations, using rules to define relations, and proving the correctness of rules.