We report on our experience teaching a Haskell-based functional programming course to over 1100 students for two winter terms. The syllabus was organized around selected material from various sources. Throughout the terms, we emphasized correctness through QuickCheck tests and proofs by induction. The submission architecture was coupled with automatic testing, giving students the possibility to correct mistakes before the deadline. To motivate the students, we complemented the weekly assignments with an informal competition and gave away trophies in a award ceremony.
Joint work by Jasmin Blanchette, Lars Hupel, Tobias Nipkow, Lars Noschinsk, Dmitriy Traytel
Presented at the Haskell Symposium 2014, co-located with ICFP, Gothenburg, Sweden.