Week 1
Week 2
Relational programming.
The first pre-defined assignment is to implement microKanren in the language of one's choice.
Due November 1.
Week 3
Formal methods.
The second pre-defined assignment is to implement a sudoku solver using an SMT solver in the language of one's choice.
Or another problem using an SMT solver.
Or a sudoku solver using another approach and comparing with an existing SMT-based sudoku solver.
Due November 1.
Week 4
Thursday: Open, Extensible Object Models
Week 5
Tuesday: Gen: A General-purpose Probabilistic Programming System with Programmable Inference
Week 6
Tuesday: Dex: array programming with typed indices
Thursday: OMeta: An Object-Oriented Language for Pattern-Matching
Week 7
Tuesday: DiffTaichi: Differentiable Programming for Physical Simulation
Week 8
Thursday: On fast large-scale program analysis in Datalog
Week 9
Thursday: Grammar Variational Autoencoder
Week 10
Tuesday: assignment debriefing
Thursday: Bluespec
November
Final Week of Classes