Computer Science In guidance of: Dr. Zahava Scherz
This work describes the development and evaluation of learning materials that support the development of projects by high school students who are studying Computer Science (CS). The students study three or five units of CS. At the end of the 3rd unit (which can be selected from several programming...
paradigms, among them „logic programming‟), they have to develop a project in which the final product is a software system accompanied by a suitable documentation. The project is used to evaluate the student‟s knowledge of the learning unit, instead of the traditional final exam. In the final exam the students present their project to external examiners. The traditional instruction of CS is based mostly on class assignments, which include program analysis and development. Although the students are accustomed to solving these kinds of problems, they often have difficulties in carrying out the project. The cause for these difficulties seems to be the lack of adequate preparation of the students in developing a CS project. The current instruction does not support developing skills for an independent learner, which are required for producing the CS project. This causes the students to be greatly dependent on the teacher during the development of the project, thus overburdening the teacher. Accordingly, the goals of this work were as follows: To develop supportive learning materials - “The organizer of Project Development in CS – Implementation in Logic Programming” (which will be now referred to as the “organizer”) to provide the students with the knowledge and tools needed for developing the project. To evaluate the influence of the organizer on the quality of both the process of developing a project in CS and the products (the documentation file and the software). The student population consisted of two groups: an experimental group that used the organizer during the project development and a comparison group that developed a project without the use of any supplemental materials. The research tools included interviews with students from both groups, a questionnaire regarding students' performance and attitudes toward the project development process, and rubrics tools for evaluating the ends products of the project. Qualitative analysis of the interviews enabled obtaining a better picture of the project development process and reflected the considerations and the decisions that the students made. The quantitative analysis was based on the questionnaire and on evaluation of the products, which enabled a comparison between the development processes in both groups, as well as the ability to analyze the influence of the organizer on the products. An analysis of the findings shows the contribution of the organizer both in the development process and in the quality of the products. The process: Three approaches were used for developing a project that defined the three types of processes that the students used: (a) a structured approach based on four stages: defining the problem, analyzing the problem, planning, and implementing. In this kind of process the students solve the problem that they defined initially; (b) a semi-structural approach in which the planning stage was reduced and integrated with the implementation stage, which was done using the computer. This process leads to a program, which is the solution of the problem that was defined by the student initially; and (c) a patching approach – bricolage where there are only two main stages: defining the problem and implementation. In this kind of process the students did not necessarily solve the problem that they defined; rather, they rewrote and altered the problem they defined, to fit the program that they finally wrote. An analysis of the findings showed that most of the students grasped developing a project as a school activity, which was used merely for evaluation, and as a result of this attitude they felt a commitment to the exam. From this point of view, most of the students who did not use the organizer, developed a project using the bricolage approach, working most of the time using the computer and modifying the initial problem according to the solution and the program that they were able to create. In contrast, students who used the organizer, felt a commitment not only to the exam, but also to the project. Consequently, these students underwent a project developing process in the structural or semi-structural approach that ended with products that were connected to the problem that they had defined originally. The quality of the product: the organizer constituted a learning environment that helped the students to define a suitable problem and to individually perform a project developing process in seeking the solution to the problem. Consequently, the students that used the organizer developed products (projects) that were at a much higher level than the students who did not use these learning materials. The quality of the products of the students who used the organizer was reflected in the definition of a driven problem, an analysis of the problem and decision making regarding the program data structures. The program that the students wrote reflected complex programming structures at a high level and they even developed new structures that were not taught in class. In conclusion, the organizer supported the students both during the definition of a project and during its development; in addition it promoted commitment to the successful outcome of their projects. This turned the project requirement into a meaningful learning experience.