Learning problem solving with spreadsheet and database tools
Authors: Giuliano Pacini, Giuseppe Fiorentino, Annalina Fabrizio
Venue: ACM SIGCSE Bulletin (2004)

Teaching skills for problem solving is usually accomplished on the basis of good examples of problems and corresponding sound solutions. By studying well-constructed examples the student learns how to analyze and decompose non-elementary problems and learns how to provide well-organized solutions.The tools we demonstrate support the teacher in presenting problems in an effective way and help the student in solving them. The teacher chooses a problem and provides a solution within Access or Excel, usually reducing the original problem to a collection of simpler, logically related sub-problems. The system thoroughly analyzes the teacher's solution and provides feedback about its structure as well as many automatically generated solution hints for the student. The teacher may add his own suggestions and establishes the form and content of the problem's presentation. Essentially, the teacher can specify which aspects of his own solution should be visible to the student. In this way, the difficulties for the student to solve the task can be largely controlled.The problem is proposed as a (possibly incomplete) set of sub-problems whose mutual relations may be left partially unspecified. In the same vein, some of the suggestions may be hidden in the initial problem presentation. The student can ask for hints during his solution attempts, and receives them at the price of penalties in the final evaluation. The results that the teacher's solution produces for the different sub-problems are supplied to the student (just the results, not the solutions). This provides three main benefits. The first one is motivational: the teacher's result is a clearly visible goal to reproduce and, by simple comparison, provides immediate feedback about the correctness of the student's solution attempts. The second benefit stems from the fact that the student is allowed to face the collection of sub-problems in a more flexible way. In fact, he can exploit the teacher's results to solve a particular sub-problem, independently from the sub-problems that he has (or has not) already solved. Finally, since the teacher's hidden solutions provide results that are assumed to be reliable, if the student uses them instead of his own results, error propagation is totally prevented.The system uses the teacher's results to automatically check the correctness of the student's results by comparison, and by considering different data samples the system infers the correctness of the student's solution. Moreover, since correctness is established by comparing results, the system will accept any solution that produces the same results as those arising from the teacher's solution, regardless of how the former are obtained. Experimentation with the system at the Italian Naval Academy has given good evidence that non-elementary problems can be proposed in a working context where students are stimulated to elaborate personal comprehension and to develop original solution techniques.The engineering of the system has been funded by the AICA-CRUI project "IT4PS - Information Technology for Problem Solving".