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: Viktor Kuncak
- Instructor: Martin Odersky
- Instructor: Clément Pit-Claudel
- TA: Aisel Abibula
- TA: Sidonie Bouthors
- TA: Matthieu Bovel
- TA: Samuel Chassot
- TA: Shardul Chiplunkar
- TA: Mai-Linh Cordonnier
- TA: Sankalp Gambhir
- TA: Yawen Guan
- TA: Anna Herlihy
- TA: Kacper Feliks Korban
- TA: Nguyên Cao Pham
- TA: Lina Sadgal
- TA: Léo Wolff
- TA: Yichen Xu
- TA: Yaoyu Zhao