Login to filter by course Login to filter by course Reset
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
Contextual AbstractionExplores contextual abstraction in software construction, discussing how functions and classes can be written without detailed knowledge of the context in which they will be used.
Solving Type ConstraintsExplains the process of solving type constraints using the unification algorithm and generalization for flexible type inference.
Abstract algebra and type classesCovers abstract algebra concepts using type classes in Scala, including defining monoids, generalizing reduce functions, and typeclass laws.
Polymorphism: Cons-ListsCovers the concept of polymorphism in programming and the implementation of immutable linked lists in Scala.
Functions and Pattern MatchingExplores reactive programming principles, focusing on functions and pattern matching in Scala, including JSON representation and partial functions.
Implicit Function TypesExplores implicit function types and their application in a conference management system, discussing the trade-off between types and terms in implicit parameters.
Object-Oriented Programming in C++Covers the use of static class attributes and methods in C++ to avoid global variables and emphasizes best practices for static method implementation.
Subtyping and PolymorphismExplores subtyping rules, challenges, and its connection to various forms of polymorphism in programming languages.
Types and Inductive RelationsDiscusses the importance of types, unsound type systems, and inductively defined relations for a small language's type system.
Generics in JavaCovers the concept of generics in Java, focusing on implementation and usage.