In our Computer Systems major, we require all students to take a problem-solving course (PS) to prepare them for subsequent courses in computer programming. As part of the PS course, students learn basic procedural programming concepts such as input, sequencing, selection (if/else), repetition (for and while loops), and output, using flowchart interpreters like Visual Logic (www.visuallogic.org). When trying to solve flowcharting problems, students have difficulty translating word problems into computer algorithms. Moreover, most problems proposed to students are closely related to mathematics and accounting, and our students are not well prepared in mathematics. Partly for this reason, students are often not interested or engaged by the problems proposed to them in the flowcharting component of the course. Researchers have shown that understanding and engaging the problem domain to be solved by implementing a computer program should be a prerequisite for writing the computer program itself. Therefore, the students’ inability to create a mental model of a given problem domain hinders their ability to develop problem-solving skills and write computer programs.
The goal of our project was to create problem domains that students could understand, relate to, and be engaged with, so they can be used as the contexts to develop problem-solving and procedural programming skills in the flowcharting component of the PS course. Our approach is based on the premise that students themselves know better which problems are relevant to them, which problems they can relate to and understand. We selected a group of five students majoring in Computer Systems who had passed the PS course in the last three years and gave them the task of developing stories that could be used as context to solve flowcharting problems. These five students completed a section of the PS course that was linked to an English Composition course in a learning community (LC), so, in addition to understanding well the course in which the stories were going to be used, they had considerable narrative and writing skills. The students themselves suggested which flowcharting assignments could be fostered by the stories. The stories were developed iteratively, following a combination of individual writing, group discussion, and faculty suggestions, to further improve the versions of the stories. Students were provided with a small stipend.
The use of student-developed narratives affected performance in different flowcharting structures differently. Overall the data suggests that the use of case studies was beneficial for increasing performance in selection assessments, modestly beneficial for repetition assessments and of no benefit for sequence assessments. Despite the learning benefit, a majority of students and instructors were resistant to use case-studies in this course. A majority of students thought that reading stories does not belong in a problem-solving/computer programming class, which indicates that students tend to compartmentalize learning.