Problem presentation in CS1 courses

Several research activities have been made related to the domain of computer science education, in order to increase learning effectiveness in CS1 courses. These works address the programming language used [1], the use of tools and environments [4], the human factor [2], the problem domain [3], and so on. Teaching programming presents several difficulties and one of the biggest obstacles to achieve a solution to the problem is its interpretation. In our opinion, the presentation of the problem is a very important issue in teaching programming. The problem must be attractive to the students [2], and should engage the students in structured reasoning. Although the diversity of forms in problem presentation could be an advantage, it may be an obstacle in CS1. It may pose difficulties to the easy understanding of the problem by the students, which, in our opinion, is one of the greatest obstacles in solving problems. In order to minimize the ”blank page trauma” on students and to maximize a good structuring of the proposed solutions, we defined a structured way to problem presentation. This presentation should focus mainly on: problem goals; problem concepts; and user interactions. The document describing a problem presentation must be composed by: (1) a title, (2) a short description of the problem goal, (3) a functionalities description, and (4) an application interaction description using scenarios as a way to illustrate application behaviors. We also give to the students a prototype so they can test user interactions and general behavior. Next we present an example of a simple problem, that was proposed to our CS1 students. Problem title: Coverage of the classroom floor. Problem description: Find out how many square tiles are needed to cover the largest possible square in the center of the classroom floor. Functionalities description: The floor of the classroom is a rectangular surface with a width and a length measured in centimeters. The tile is a square with side measured in centimeters, and is unicolor. Interaction description: At the beginning the user must provide the width and the length of the classroom floor, and the tile side, then the number of tiles needed to cover the largest possible square will be presented. Copyright is held by the author/owner(s). ITiCSE’12, July 3–5, 2012, Haifa, Israel. ACM 978-1-4503-1246-2/12/07. Interaction scenarios: Scenario 1 Classroom floor Tile Length (in cm): 40 Side (in cm): 20 Width (in cm): 30 Result : Number of tiles = 2 Our experience led us to conclude that a structured problem presentation helps students to increase high-level skills in programming activity, in order to propose structured problem solution. In a study conducted in our CS1 courses, we observed that the resulting problem solution was more structured when the presentation problem follows the rules defined above.