  We present GUPU, a side-effect free environment specialized for programming
courses. It seamlessly guides and supports students during all phases of
program development, covering specification, implementation, and program
debugging. GUPU features several innovations in this area. The specification
phase is supported by reference implementations augmented with diagnostic
facilities. During implementation, immediate feedback from test cases and from
visualization tools helps the programmer's program understanding. A set of
slicing techniques narrows down programming errors. The whole process is guided
by a marking system.
