  When giving automated feedback to a student working on a beginner's exercise,
many programming tutors run into a completeness problem. On the one hand, we
want a student to experiment freely. On the other hand, we want a student to
write her program in such a way that we can provide constructive feedback. We
propose to investigate how we can overcome this problem by using program
synthesis, which we use to generate correct solutions that closely match a
student program, and give feedback based on the results.
