M.Sc Thesis


M.Sc StudentYulia Stolin
SubjectOn the Understanding of Soft Ideas in Computer Science:
The Case of Programming Paradigms
DepartmentDepartment of Education in Science and Technology
Supervisor Full Professors Hazzan Orit


Abstract

The discipline of Computer Science is composed of a multitude of domains, one of which is programming paradigms. The issue of programming paradigms has many aspects: programming paradigms, the combination and relations between paradigms, programming languages, programming principles, the construction of programming languages, and so on. According to the literature review conducted in the framework of this study, despite the great importance attributed to the subject, it seems that even the most commonly-used textbooks and the many courses taught on subject make no clear distinction between the concepts of programming paradigm and programming language.

The research was conducted at the Technion's Education in Technology and Science Department, in the framework of a course entitled "Programming Paradigms". The study focused on way in which the concept programming paradigm is understood in general, and on the understanding of the following three programming paradigms, in particular: functional, procedural, and object-oriented. The research population included 17 students participated in the course. The research method was qualitative and was based on an inductive data analysis and observations made in the research field.

The research questions were:

  1. How do students perceive concepts that are related to the subject of programming paradigms?
  2. How do students compare and analyze relations between different aspects of concepts that are related to the subject of programming paradigms?

Data were analyzed in light of theories from the domain of mathematical education that deal with the analysis of cognitive processes and concept perception, and which distinguish between a process, an object and a precept conception. In the light of these theories, a theoretic framework was constructed, which that organizes the aforementioned approaches, imports them into the area of computer science, and interprets them in terms of programming paradigms. Specifically, during the research findings analysis, three modes of thought were identified that were exhibited by students in relation to concepts from the domain of programming paradigms: application-less thought, intermediate thought and application-dependent thought. The research findings are demonstrated according to these three modes of thought and refer to the following main research findings:

A perception of the properties of programming paradigms

A perception of the connections between programming paradigms

A comparison between programming paradigms

The main suggestion presented in the Discussion promotes emphasizing the subject of programming paradigms, distinguishing between the concepts of programming paradigms and programming languages, and analyzing the subject according to various levels of abstraction.