Assignment 1: Designing complex data
Assignment 2: Delegation
Assignment 3: Tree-Shaped Data
Assignment 4: Accumulators
Assignment 5: Abstracting over Data Definitions
Assignment 6: Customizing Constructors
Assignment 7: Mastermind
Assignment 8: Abstraction
Assignment 9: Generics
Assignment 10: Fibonacci
Assignment 11: Course Registration
Assignment 12: Who’s On Deque?
Assignment 13: Huffman Coding
Assignment 14: Traversal