View Paper

Does Scratch improve self-efficacy and performance when learning to program in C#? An empirical study

Author Keith Quille
Abstract This paper describes a study conducted in the 2015-2016 academic year, while examining three previous years of data. This paper investigated when students learnt Scratch, a block type programming language, at the same time as their object orientated introductory programming module which was delivered using C# (CS1), would their programming self-efficacy increase (a prominent factor in student success), and therefore as a result, their performance in the CS1 module. The second language was selected, specifically on the grounds that it may increase student programming self-efficacy. Scratch was chosen as students do not need to learn code syntax, rather it is a programming by discovery language. Arguably it may help struggling novice programmers to comprehend coding concepts (even threshold concepts) that they have not grasped in their mainstream text based language. This may be due to the fact that in a text based programming language such as Java or C#, if a student could not master the syntax, they may not be able to continue to cover more advanced concepts and may fail or be forced to drop out. This paper discusses both quantitative and qualitative findings in detail. The quantitative data consists of students programming self-efficacy and end of year results, collected at the beginning and the end of the academic year respectively while the qualitative data consists of a student survey administered at the end of the academic year. This paper concludes with recommendations and future work that would be valuable to educators considering similar pedagogical approaches to improve performance.
Keywords Scratch, CS1, Introductory Programming.
Published In ICEP Proceedings
Year 2016
Link PDF