Login to filter by course Login to filter by course Reset
Types in Lambda CalculusCovers types in lambda calculus, including defining types, specifying rules, and proving soundness.
Records and VariantsIntroduces records, variants, evaluation rules, typing rules, aliasing challenges, and benefits in programming languages.
Type InferenceExplores type inference in statically typed languages, using algorithms to assign types to program expressions accurately.
Type Checking LabFocuses on implementing a type checker for Amy, covering name and type analysis, typing constraints generation, and the importance of type checking in compilation.
Python Programming BasicsCovers the basics of Python programming, focusing on flow control structures, interactive mode, script mode, and variables.
Programming Language SecurityExplores programming language security, covering type safety, memory safety, threat safety, Rust's ownership model, sandboxing, and compartmentalization.
Subtyping and PolymorphismExplores subtyping rules, challenges, and its connection to various forms of polymorphism in programming languages.
Taming Null ReferencesExplores the challenges of null references in programming languages and proposes solutions to mitigate their drawbacks while ensuring compatibility with existing codebases.
Solving Type ConstraintsExplains the process of solving type constraints using the unification algorithm and generalization for flexible type inference.
Syntax and Typing RulesCovers syntax and typing rules in programming languages, discussing aliasing, mutability, and store locations.