Over this past year, the students of three programming classes at Elsik High School (Alief school district) took both a conventional C++ and a TeachScheme!. All three classes were taught by the same teacher. The AP class focused on C++ for most of the year and added some Scheme for the last few weeks. The other two first studied Scheme and later switched to C++ in preparation for the AP class next year.
The following three sections explain how the two students reacted to the TeachScheme! curriculum versus the conventional C++ course and how the students in both groups perceive the relationship between mathematical and computational problem solving.
Here are the results for the Scheme class in a nutshell. Overall students split down the middle concerning Scheme vs C++: 8 out of 16 preferred Scheme; the remaining 8 preferred C++. An analysis reveals the following:
The TeachScheme! Project believes that the primary purpose of a computer science course at a secondary school is to strengthen the students' problem solving skills. We asked each group how their programming experience influences their mathematical problem solving skills and vice versa. The questions differed for the two groups.
Here are the results for the C++ group:
The results for the Scheme group are slightly different:
The results suggest that students generally prefer the TeachScheme! curriculum over the C++ curriculum, with an strong preference for the TeachScheme! curriculum among female students. Even more significant, the more the students had studied C++ in a formal setting, the more they preferred Scheme for its simplicity.
An overwhelming portion of the students also believe that there is an intimate and positive connection between Scheme-based problem solving and mathematical problem solving, far more so than for C++ programming.