COMP 150git Class exercises
- Wednesday, September 5: Equational reasoning and algebraic laws
- Monday, September 17: Equational reasoning about filesystems
- Wednesday, September 19: Discussion questions for Why Functional Programming Matters
- Monday, September 24: An Algebraic Approach to File Synchronization
- Wednesday, September 26: Discussion questions for How to make ad-hoc polymorphism less ad hoc
- Monday, October 1: Discussion questions for A State-of-the-Art Survey on Software Merging
- Tuesday, October 9: Readings on Git
- Tuesday, October 9: Functional programming, with and without the `IO` monad
- Wednesday, October 10: Discussion questions for QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs
- Monday, October 15: Programming with monads, laziness, randomness, and QuickCheck
- Wednesday, October 17: Semantics of git
- Wednesday, October 24: Modeling git, continued
- Monday, October 29: Project Proposals
- Friday, November 2: Discussion questions for Darcs
- Wednesday, November 14: Discussion questions for A Principled Approach to Version Control
- Monday, November 19: Diff and merge
- Monday, November 26: Discussion questions for Documenting and Automating Collateral Evolutions in Linux Device Drivers
- Wednesday, November 28: Structuring technical papers
- Monday, December 10: Discussion questions for Monoids: Theme and Variations