Several approaches, methods and educational tools have been proposed aimed at dealing with the weaknesses and problems related to the teaching of programming foundations. In order to adequately demonstrate the effectiveness of these proposals, the conduction of experimental studies represents a fundamental activity to be considered. However, despite their relevance, the experiments conducted in the educational scenario are generally performed in an ad hoc way, without the use of proper processes and well-defined experimental methodologies. As a consequence, the obtained results can be compromised by the lack of research rigor. On the contrary to what occurs in the teaching of programming foundations, experimentation in Software Engineering is a consolidated area, with well-established researches in order to provide a proper methodology to conduct experimental studies. In this context, this doctorate project aims at the establishment of supporting mechanisms to experimentation in the teaching of programming foundations, based on the existing and well-defined works from Experimental Software Engineering. More specifically, we intend to: (i) adapt the experimental process adopted in Software Engineering to the educational context; (ii) define and conduct a family of experiments in this domain, applying the adapted process; and (iii) establish a research framework to the teaching of programming foundations, with the basic structure of an experiment and guidance about the choices that must be made through the experimental process in this specific topic. The idea is to support researchers and instructors in the definition, planning and conduction of experiments in the educational scenario, especially those which aimed at evaluating educational approaches and tools for the teaching of programming.
News published in Agência FAPESP Newsletter about the scholarship: