This thesis reports a research project that aims to improve the teaching and learning of introductory programming from a pedagogical and psychological viewpoint. Towards this aim, seven principles for designing educational programming tools for novices were identified by reviewing literature regarding novices’ difficulties and using a theoretical framework defined by the psychological theories of Constructivism and Cognitive Load Theory. This set of design principles was not only theoretically identified, but its pedagogical impact was also empirically tested. For this reason, Koios, a new programming tool, was designed and developed as a manifestation of the combined set of principles. Empirical studies were conducted by a way of a quasi-experimental design in two different Greek secondary-education institutions. The independent variable was compliance with the set of the seven principles. Students’ level of programming skills (procedural knowledge) was the dependent variable, while the quality of their mental models in the domain of introductory programming (declarative knowledge) was the potential mediator. The effect of compliance with the set of principles on students’ programming skills and mental-model quality was explored via Koios’ evaluation. Declarative- and procedural-knowledge measurements, as well as a practical test, were used to collect data, which were analysed using ANOVA and hierarchical multiple regression. The major conclusions drawn from this study are:(a) compliance with the set of design principles does not affect the development of novices’ procedural and declarative programming knowledge, (b) a programming tool that highly complies with this set facilitates novices in the application of their procedural programming knowledge during program creation and (c) programming tools, declarative and procedural knowledge are independent components in learning to program. However, it was also concluded that the two knowledge types and a programming tool that highly complies with the set contribute significantly to novices’ programming performance. This study contributes to knowledge by theoretically identifying and empirically testing a set of design principles for educational programming software, and by producing and scientifically evaluating a programming tool as an embodiment of this set. Through this evaluation, the suggestion of Koios as a practically useful programming tool for novices seems to be well supported.
|Date of Award||5 Dec 2014|
|Supervisor||Paul Van Schaik (Supervisor)|