Programming problems constitute a significant challenge for the development of tutoring systems, because they can be solved in many different ways. To help the student solve a programming problem effectively, the tutoring system must be able to cover a large space of possible solutions. If a student solution has shortcomings, the system must be able to identify the reason why that solution is not correct. In the state of the art, one of the most promising approaches to modeling knowledge for tutoring systems is the constraint-based technique. This approach uses constraints to model a space of...
Programming problems constitute a significant challenge for the development of tutoring systems, because they can be solved in many different ways. To...