文摘
We are developing Ask-Elle, a programming tutor that supports students practising functional programming exercises in Haskell. Ask-Elle supports the stepwise construction of a program, can give hints and worked-out solutions at any time, and can check whether or not a student is developing a program similar to one of the model solutions for a problem. An important goal of Ask-Elle is to allow as much flexibility as possible for both teachers and students. A teacher can specify her own exercises by giving a set of model solutions for a problem. Based on these model solutions our tutor generates feedback. A teacher can adapt feedback by annotating model solutions. A student may use her own names for functions and variables, and may use different, but equivalent, language constructs. This paper shows how we track intermediate student steps in Ask-Elle and how we avoid the state space explosion we get when analysing intermediate, incomplete, student answers.