Professor of Software Technology for Learning and Teaching at the Institute of Information and Computing Sciences of Utrecht University (95%), and professor of Software Technology at the School of Computer Science of the Open University.
I develop software technology to support learning and teaching, and advanced methods for constructing software.
Teaching and Learning
The role of ICT in teaching and learning is increasing. We use advanced software technology to develop better tools for teaching and learning.
- In the Communicate! project we are developing a serious game for practicing communication skills.
- In the Math-Bridge project we add feedback services to ActiveMath, and we develop on-line math-bridging courses.
- Together with Alex Gerdes and Bastiaan Heeren I am working on providing feedback in interactive learning tools for programming. We have developed a programming tutor for Haskell.
- Our feedback services are connected to the version of the Digital Mathematical Environment used by the series of Dutch mathematics text books `Getal en Ruimte'.
Generic programs are programs that abstract over types. Generic programs can be used to address several common programming patterns.
- Together with José Pedro Magalhães (now at Oxford University), and Sean Leather, I have worked on several aspects of generic programming, such as generic programming libraries.
- Andres Löh, Ralf Hinze, and I have developed Generic Haskell. Generic Haskell is an extension of the functional programming language Haskell, with which programs that work for large classes of datatypes can be written.
- Generic haskell is a sequel to PolyP (see Patrik Jansson's page about polytypic programming).
My publications appear on a separate page.
- General chair of the 19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014, and member of the ICFP steering committee.
- Programme committee member of the The Third Workshop on AI-supported Education for Computer Science (AIEDCS), Nara, Japan 2014.
- Programme committee member of the Workshop on Rewriting Techniques for Program Transformations and Evaluation, Vienna, July 2014.
- Programme committee member of the 13th International Conference on Mathematical Knowledge Management, Coimbra, Portugal, July 2014.
- Member of the ACM SIGPLAN Programming Languages Education Board.
- Secretary of IFIP WG2.1 on Algorithmic languages and calculi.
- Programme committee member of the The Second Workshop on AI-supported Education for Computer Science (AIEDCS), Honolulu, June 2014.
- Programme committee member of the 25th symposium on Implementation and Application of Functional Languages, Nijmegen, The Netherlands, August 2013.
- Programme committee member of the Workshop on Haskell And Rewriting Techniques, HART 2013, held in Eindhoven, The Netherlands, June 2013.
- General program chair of the 11th International Conference on Intelligent Computer Mathematics, Bremen, Germany, July 2012.
- Programme committee member of the 11th International Conference on Mathematics of Program Construction, MPC 2012, held in Madrid, Spain, June 2012.
- Member of the steering committee of the series of worshops on Generic Programming.
- Programme committee member of the 4th International Workshop on Approaches and Applications of Inductive Programming, Odense, Denmark, July 2011.
- Programme committee member of the 10th International Conference on Mathematical Knowledge Management, Bertinoro, Italy, July 2011.
- Programme committee member of the the 15th Brazilian Symposium on Programming Languages, SBLP 2011, Sao Paulo, Brazil, 2011.
- Lecturer at the Central European School on Functional Programming, Budapest, June 2011.
The coming academic year I teach:
- Talen en Compilers. Second year bachelor course Computer Science at Utrecht University.
- Theory of Programming and Types.
I have supervised around 50 students working on their Master thesis through the years. I welcome master students that want to work on a topic related to my research interests.
I am member or chair of many committees related to teachin and teaching innovations:
- Chair of the committee on learning and assessment of the Faculty of Science
- Member of the board of the Graduate School Natural Sciences
- Chair of the `Begeleidingscommissie Bama 3.0' of Utrecht University.
+31 30 2534115 work
+31 30 2711281 home
+31 6 40010053 mobile
Buys Ballot Gebouw (BBG), room 571
Where am I?
- September 15 - 19, 2014, Lorentz meeting on Computing in Secondary Education, Leiden, The Netherlands
- September 24, 2014, Inaugural lecture, Utrecht University, The Netherlands
- December 8 - 12, 2014, IFIP WG2.1 meeting, Vermont, US
[08/09/2014] Our paper Evaluating Haskell expressions in a tutoring environment (together with Tim Olmer and Bastiaan Heeren) has been accepted for publication in the Proceedings of the 3rd International Workshop on Trends in Functional Programming in Education.
[18/03/2014] I will give an invited talk on Automatic tutoring and assessing functional programs at the 3rd International Workshop on Trends in Functional Programming in Education on May 25, 2014.
[24/02/2014] Our paper Feedback services for stepwise exercises (together with Bastiaan Heeren, accompanying material), has been accepted for publication in Science of Computer Programming, Special Issue on Software Development Concerns in the e-Learning Domain. 2014.
[10/11/2013] Our paper Type-Changing Rewriting and Semantics-Preserving Transformation (together with Sean Leather, Andres Löh, and Bram Schuur), has been accepted for PEPM 2014.
[1/11/2013] Our paper University Students' Achievement Goals and Help-Seeking Strategies in an Intelligent Tutoring System (together with Bram Vaesen and Frans Prins), has been accepted for publication in Computers and Education.
[1/10/2013] Together with Rick van Rooij and Nicolas Pronost I wrote a paper on The 5/10 method: a method for designing educational games, for the Gala conference on serious games.
[1/09/2013] I wrote a paper on Finding palindromes: variants and algorithms for the book compiled for Rinus Plasmeijer's 61st birthday.
[18/07/2013] Our paper Usage of Generic Programming on Hackage - Experience report - (together with Nikolaos Bezirgiannis and Sean Leather) has been accepted for the 9th ACM SIGPLAN Workshop on Generic Programming, WGP 2013.
[10/07/2013] Our paper Towards automatic generation of domain-specific mathematical input support (together with Eric Andrés and Bastiaan Heeren) has been accepted for MathUI 2013: Workshop on Mathematical User Interfaces.
[10/07/2013] Our paper Type-Changing Program Transformations with Pattern Matching (together with Joeri van Eekelen and Sean Leather) has been presented by Joeri at the Workshop on Haskell and Rewriting Techniques in Eindhoven.
[25/06/2013] Our paper Inductive triple graphs: a purely functional approach to represent RDF (together with Jose Emilio Labra Gayo and Jose María Álvarez Rodríguez) has been accepted for for the 3rd International Workshop on Graph Structures for Knowledge Representation and Reasoning.
[19/06/2013] I wrote a paper on The history of finding palindromes for the book we compiled for Doaitse Swierstra's retirement.
[19/05/2013] I organise a symposium on How do students make progress in simple mathematics exercises? on May 24. Partially funded by the Utrecht University Research Impulse Educational and Learning Sciences.
[9/03/2013] Our paper A DSL for describing the artificial intelligence in real-time video games (together with Tom Hastjarjanto and Sean Leather) has been accepted for the 3rd International Workshop on Games and Software Engineering (GAS 2013), 2013.
[8/03/2013] Ik spreek over onze domain reasoners voor wiskunde op de jaarvergadering van de Vlaamse vereniging van wiskundeleraars.
[5/03/2013] Utrecht University funds our project to develop a serious game for practicing communication skills.
[12/2012] Our paper Feedback genereren in leeromgevingen voor algebra. (in Dutch, together with Bastiaan Heeren) has appeared in the Nieuw Archief voor Wiskunde, 2012.
[9/07/2012] Our paper Generic conversions of abstract syntax representations. (together with Steve Keuchel) has been accepted for the 8th ACM SIGPLAN Workshop on Generic Programming, WGP 2012.
[9/07/2012] Our paper Ask-Elle: A Haskell tutor - Demonstration - (together with Alex Gerdes and Bastiaan Heeren) has been accepted for the 7th European Conference on Technology Enhanced Learning, EC-TEL 2012.
[9/07/2012] Our paper Testing type class laws (together with Patrik Jansson and Cláudio Amaral) has been accepted for the 5th ACM SIGPLAN symposium on Haskell, Haskell 2012.
[9/07/2012] Our paper Teachers and students in charge - Using annotated model solutions in a functional programming tutor (together with Alex Gerdes and Bastiaan Heeren) has been accepted for the 7th European Conference on Technology Enhanced Learning, EC-TEL 2012.
[23/04/2012] On June 13, 2012, I will deliver the key-note at the VSNU conference on Studiesucces: De vrijblijvendheid voorbij, on the role of teaching fellows at Utrecht University in general, and my activities related to learning and assessment in particular.
[27/02/2012] Our paper An interactive functional programming tutor (together with Alex Gerdes and Bastiaan Heeren) has been accepted for the 17th Annual Conference on Innovation and Technology in Computer Science Education, ITICSE 2012.
[31/01/2012] Our paper Probability estimation and a competence model for rule based e-tutoring systems (together with Diederik M. Roijers and Ad Feelders) has been accepted for the Second International Conference on Learning Analytics and Knowledge.
[20/01/2012] An interview (in Dutch) about my activities as a teaching fellow at Utrecht University.
[13/12/2011] I am talking at the Mini-symposium Algebra & ICT about hints and feedback in learning environments for algebra.
[1/10/2011] The Software technology group ot the OUNL has started a cooperation with the DFKI and the University of Saarland to set up a common laboratory in CelTech. We will particularly study interactive tutoring systems, such as Math-Bridge for mathematics, and for other sciences. See the press release (in Dutch).
[7/7/2011] Our paper Generic programming for indexed datatypes (together with José Pedro Magalhães) has been accepted for the Workshop on Generic Programming 2011.
[01/06/2011] We finished our lecture notes on a programming tutor for Haskell (Johan Jeuring, Alex Gerdes, and Bastiaan Heeren) for the Central European School on Functional Programming, which will be held this summer.
[06/05/2011] Our paper Interleaving strategies (Bastiaan Heeren and Johan Jeuring) has been accepted for publication in the proceedings of the Conference on Intelligent Computer Mathematics, 2011, to be held in Bertinoro, Italy, this summer.
[13/11/2010] Our paper Properties of exercise strategies (together with Alex Gerdes and Bastiaan Heeren) has been accepted for publication in the Proceedings of IWS 2010: 1st International Workshop on Strategies in Rewriting, Proving, and Programming.
[16/10/2010] Our work on calculating feedback for interactive mathematical exercises is used as an example of validation of research in the Annual report 2009 of the Dutch research universities (pdf english, pdf dutch).