Principles of Programming Languages
Course Website
View on GitHub
Practice Sessions
All the code for the practice sessions can be found
here
.
Week 1
Reading Material
Programming Paradigms & Functional Programming with TypeScript
Practice Session
PS #1: TypeScript: Complex Data Types, JSON, Map, Filter, Reduce
Solution
Week 2
PS #2: TypeScript: Type Checking
Code
Week 3
PS #3: Scheme Intro
Week 4
PS #4: Concrete and Abstract Syntax
Code
Week 5
PS #5: Operational Semantics
Week 6
PS #6: Environment Model
Week 7
PS #7: Type inference using type constraints
Week 8
PS #8: Type Inference System
Week 9
PS #9: Asynchronous Programming in TypeScript
Week 10
PS #10: Lazy-Lists and Continuation Passing Style (CPS)
Week 11
PS #11: Logic Programming, Part 1
Week 12
PS #12: Logic Programming, Part 2