DIGITAL LIBRARY
A RESULT-DRIVEN COMPUTER PROGRAMMING TEACHING ENVIRONMENT
1 Accademia Navale di Livorno (ITALY)
2 Università di Pisa, Dipartimento di Informatica (ITALY)
About this paper:
Appears in: INTED2011 Proceedings
Publication year: 2011
Pages: 6556-6566
ISBN: 978-84-614-7423-3
ISSN: 2340-1079
Conference name: 5th International Technology, Education and Development Conference
Dates: 7-9 March, 2011
Location: Valencia, Spain
Abstract:
In a recent paper we described how to generalize the result-driven approach in order to obtain problem-solving environments for a range of topics. Here we report on a new such environment to teach computer programming with a problem-solving approach. The system expands on the well known teaching environment BlueJ to obtain a setting where, by means of standard extensions, the result-driven approach has been fully implemented providing an authoring environment for the teacher and a support environment for the student.
Within the authoring environment, the teacher may choose a programming task, split it into sub-problems, rate them, give their specifications, provide and rate hints. By carefully parsing the teacher's solution, the system is also able to extract many automatic hints which the teacher may adopt and rate. The authoring system will finally produce an exercise suited to the student.
Within the support environment the student finds the standard BlueJ setting with some enhancements to solve the sub-problem collection in any order without being forced to reproduce the teacher's solution, ask for hints, and automatically evaluate the correctness of his solution.
Though computer programming is the ideal setting for the result-driven approach, we had to face tasks such as avoiding endless loops or system crashes. In addition, the automatic recognition of the sub-problems dependency net (the call graph) turned out to be still an interesting research topic.
Despite being at a very early stage in terms of its testing in the field, the system is now ready and available for use.
Keywords:
Problem-solving in computer programming, teaching and learning environments.