Ph.D Thesis

Ph.D StudentSakhnini Victoria
SubjectProblem Solving in Computer Science by High School Students:
Definition, Implementation and Use of Abstract
Data Types
DepartmentDepartment of Education in Science and Technology
Supervisor PROF. Orit Hazzan


This dissertation describes a study, conducted in 12th grade Computer Science classes. The students in these classes studied the fourth curricular unit known as "Software Design". This unit's main goal is to teach the basic principles of software system design, and to develop abstract thinking skills, especially by the definition, selection and usage of abstract data types.

More specifically, this research deals with studying the difficulties and the thinking processes involved in definition, implementation and use of abstract data types by high school students in problem solving situations.

To conduct the research, an ethnographic and constructivist approaches were adopted. The main data collection tools were observations in classes studying "Software Design", and interviews with the students as they solved problems.

Based on the data analysis, a theoretical framework "reducing the patternless level of problems by reducing abstraction" was developed. This theoretical framework is based on the theoretical framework of "reducing abstraction" (Hazzan, 1999[1]).

According to the "reducing the patternless level of problems by reducing abstraction" framework, students sometimes, unconsciously, reduce the level of abstraction of the concepts involved in a problem solving situations in order to make unfamiliar/non-pattern problem more familiar/known pattern. Four mental processes by which students reduce the level of abstraction were identified (the first three ones are based on Hazzan, 1999):

  • Abstraction level as the quality of the relationship between the object of thought and the thinking person;
  • Abstraction level as reflection of the process-object duality;
  • Abstraction level as the degree of complexity of the concept of thought;
  • Abstraction level as the ability to separate the concept of thought into its components.

This research contributes to the understanding of high school students' difficulties and thinking processes involved in learning Computer Science and solving Computer Science problems. The thesis concludes with several recommendations for the teaching of unit "Software Design" in the high school.

[1] Hazzan, O. (1999). Reducing abstraction level when learning abstract algebra concepts. Educational Studies in Mathematics 44, 71-90