Welcome to the Haskell “January Tests”. The January tests are on-line Haskell programming tests sat under examination conditions by first-year undergraduate students at Imperial College at the end of a six-week introductory programming course. The exercises are largely well defined and depend only on a knowledge of Haskell’s more straightforward language features and more commonly used modules. There is no assumed knowledge of monads, I/O, GADTs etc. although these are covered in an optional Advanced Programming course; students are free to use them wherever they wish, so long as they don’t break the auto-tester.
The exercises address a number of core problems in Computer Science and so might also appeal to non-Haskellers who are looking for a hand-holding introduction to those problems and guidance on how to break them down. Whatever your motivation I hope you find them useful and fun.
- Binary Decision Diagrams (2009)
- Suffix Trees (2010)
- Polymorphic Type Inference (2011)
- Labelled Transition Systems (2012)
- Binomial Heaps (2013)
- Regular Expressions and Finite Automata (2014)
- Functions, Procedures and Memoisation (2015)
- XML and XSL Transformations (2016)
- Decision Trees (2017)
- Constant Propagation (2018)
- SAT Solving (2019)
- Hash Array Mapped Tries (2020)
- Graph Colouring and Register Allocation (2021)