Learn how to design and implement reliable, maintainable, and efficient
software using a mix of programming skills (declarative style,
higher-order functions, inductive types, parallelism) and
fundamental software construction concepts (reusability, abstraction,
encapsulation, composition, proofs)
- Instructor: Shardul Chiplunkar
- Instructor: Kacper Korban
- Instructor: Viktor Kuncak
- Instructor: Martin Odersky
- Instructor: Alexandre Pinazza
- Instructor: Clément Pit-Claudel
- Instructor: Hamza Remmal
- Instructor: Lex van der Stoep
- TA: Rémy Berguerand
- TA: Matheo Bögli
- TA: Maëlys Bühler
- TA: Valuthy Karunakaran
- TA: Tsung-Han Liu
- TA: Gabriel Agerholm Ruge
