The January Haskell Tests

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.

 The Tests

  1. Binary Decision Diagrams (2009)
  2. Suffix Trees (2010)
  3. Polymorphic Type Inference (2011)
  4. Labelled Transition Systems (2012)
  5. Binomial Heaps (2013)
  6. Regular Expressions and Finite Automata (2014)
  7. Functions, Procedures and Memoisation (2015)
  8. XML and XSL Transformations (2016)
  9. Decision Trees (2017)
  10. Constant Propagation (2018)
  11. SAT Solving (2019)
  12. Hash Array Mapped Tries (2020)
  13. Graph Colouring and Register Allocation (2021)

More Information