Ph.D Thesis

Ph.D StudentYael Dubinsky
SubjectTeaching Software Development Methods
DepartmentDepartment of Education in Science and Technology
Supervisor Full Professors Hazzan Orit


The research deals with teaching software development methods in a Computer Science project-based capstone course. It focuses on aspects related to the characteristic problems of the software engineering field that mainly concern with customer requirements, software defects, management of software projects, and the actual development work. The goal of the research is to construct a teaching framework for software development methods in higher education. For this purpose, software development processes are examined in a Computer Science project-based course in which the agile software development method Extreme Programming is used. In order to achieve the research aim the applied research paradigm is Action Research in which the teaching framework has been constructed iteratively by several research cycles each of them composed of planning - action - data collection - data analysis - reflection - refinement of the constructed framework. The main theoretical contribution of this research is a teaching framework for project-based capstone courses in higher education composed of conceptual principles and teaching practices. This teaching framework is discussed from the perspective of the concept of 'dealing with changes in evolution' and by a theoretical framework composed of a three dimensional analogy. The practical contribution of the research relates to the software industry. The application of the teaching framework in software engineering courses may answer the needs to educate undergraduate students for technical, managerial, and social skills expressed in software development methods and thus to train leading software engineers.