Home Publications Research Teaching Contact
Open Universiteit Bastiaan Heeren

Bastiaan Heeren

Head of Department and Associate professor at the Department of Computer Science of the Open University of the Netherlands.

I am a member of the Software Technology for Learning and Teaching research group, and teach various courses in the Software Engineering Master's programme. My research interests are functional programming languages in education, and advanced software technology concepts to support teaching and learning. Before I joined the Open University, I was a lecturer and a PhD student at Utrecht University.


  • Program Committee member and reviewer for conferences related to Functional Programming (ICFP, JFP, Haskell Symposium, IFL), Computer Science Education (SIGCSE, CSERC, ICCE), and Intelligent Tutoring Systems (IJAIED)
  • Board member of VERSEN (Dutch National Association for Software Engineering)
  • Member of IPN (ICT Research Platform Nederland)
  • Board member of Stichting Stilt: the foundation's goal is to stimulate the use of software technology in education
  • Designer and developer of the Ideas software framework for building state-of-the-art components for intelligent tutoring systems (ITS)
  • Guest researcher at Utrecht University with the Software Technology for Learning and Teaching research group
  • Programme leader of the Master Computer Science of the Open University of the Netherlands (2014-2019)
  • Lecturer of IPA course on Software technology for learning and teaching (2015)
  • Co-organizer of the Tenth ICFP programming contest (2007)


Selected publications

Or visit the full list of publications.

PhD supervision


Research projects

Advise-Me logoIn the Advise-Me project we develop an approach to using ICT for assessing mathematics achievement of pupils using learning environments for mathematics. In particular, we look at fine-grained cognitive assessment of free-form answers to math story problems, which requires determining the steps a pupil takes towards a solution, together with the high-level solution approach used by the pupil. We recognise steps and solution approaches in free-form answers and use this information to update a user model of mathematical competencies. We use the user model to find out for which student competencies we need more evidence of mastery, and determine which next problem to offer to a pupil. We have tested our work on a large dataset for one problem, and have performed multiple pilot studies in different European countries.

Ideas logoAt the Open University in the Netherlands, we have started the Ideas project (Intelligent Domain-specific Exercise Assistants), which aims at developing tools for incrementally solving exercises. Our research focus is on strategies for exercises, which guide the reasoning in a particular domain. The software is written in Haskell and can be found on Hackage.

Helium logoI am also interested in improving the quality of type error messages for higher-order, functional programming languages (such as Haskell). For this purpose, we have designed the TOP framework for constraint-based type inference, which is used in the Helium Compiler. A detailed description of this framework is given in my PhD thesis.


See the list of suggested Master Graduation Assignments and supervised Master's theses. In addition to supervising Bachelor and Master projects, I am involved in teaching the following courses at the Open University of the Netherlands:
Software quality management

Software quality management

Software architecture

Software architecture

Design patterns

Design patterns

Functional programming

Functional programming


My office is in the BBG building at De Uithof, Utrecht. Click here for a detailed description how to reach my office, or see my former staff page for further contact information.

Email: bastiaan.heeren@ou.nl

Phone: +31 (30) 253 4255

Office: Buys Ballotgebouw (BBG), office 572

Skype: bastiaanheeren