Bridge: Intelligent Tutoring with Intermediate Representations

Abstract
We describe an intelligent tutor called Bridge that provides support to novice programmers as they design, implement, and test programs. Not only does the tutor find and report student conceptual errors, but it also understands student designs and partially complete programs. This is done by providing intermediate representations that allow a student to directly represent designs and partial work. These intermediate representations are intended to give students specific mental models to support their problem solving process. Bridge supports a novice in an initial informal statement of a problem solution, subsequent refinement of that solution, and final implementation of the solution as programming language code. Students should finish the tutor with the ability to discuss their work at a conceptual level above that of their actual problem solution. (jg)