A.V. Münsterberg, U. Schmid, S. Grabisch, J. Langer, J. Troles
It has been recognized that starting Computer Science (CS) education in primary schools offers many opportunities and benefits such as the development of computational thinking and compensation of structural inequalities. Consequently, many age appropriate tools and lesson plans have been developed. These are mostly centered around programming visual block-based programming languages such as Scratch, often in combination with robots or micro-controllers.
Typically for such early CS education programs is that children work hands-on on programming tasks from the beginning without a systematic introduction of core programming concepts. While most children might master the programming tasks, such a purely exploratory setting might not be helpful to gain a deeper understanding. We propose that acquisition of programming concepts in such a manner that they can be applied in a meaningful way and transferred to new programming problems needs to be systematically supported. Therefore, we designed unplugged educational materials to introduce two fundamental programming concepts – conditional (if-then and if-then-else) statements and (while and for) loops. Furthermore, we designed a simple unplugged programming language based on cards representing commands for specific tasks to teach translation of algorithms to programs.
To test our hypothesis, we designed a two-part workshop in an unplugged and a plugged-in variant. For the unplugged workshop we used our materials. In the plugged-in workshop the children programmed Calliope with Scratch. After an introduction phase with simple programming tasks, children programmed a reactive system for a light sensor as well as a controller for humidity in planting pots.
The workshop was conducted with two fourth grade classes (n_unplugged_first = 18, n_plugged-in_first = 19) of a cooperating primary school on four days with each part of the workshop taking up two days. Both classes attended both parts of the workshop but in opposing order. Children answered short questionnaires at the beginning of the workshop (t0), as well as after the first workshop part (t1) and after both workshops were completed (t2). In the first questionnaire, interest in and prior experience with mathematics and CS were assessed. In the questionnaires at t1 and t2, children rated how much they enjoyed each of the workshop-parts. Core of the study has been the assessment of understanding of the concepts of conditionals and loops after the first and the second workshop.
Descriptive analysis shows that children in the unplugged-first group had a higher rate of identifying when a loop (correct at t1: 15, t2: 16) or conditional (correct t1: 11, t2: 12) would improve presented code than the plugged-in-first group. The plugged-in-first group showed a high gain in understanding loops after they finished the unplugged-first workshop (correct t1: 4, t2: 12) and no difference in conditional (correct t1&t2: 9). In a post-workshop interview, two teachers who participated at the workshops as observers, stated that starting with the unplugged workshop would be preferable. They proposed to interleave unplugged and plugged-in materials since the unplugged material is more demanding while working with the computers has a big fascination. This observation is supported by the questionnaire, where children of both groups stated they had more fun in the plugged-in workshop (m =4.57, sd = 0.5) than in the unplugged workshop (m = 3.51, sd = 0.92).
Keywords: Computational Thinking, Computer Science Education, Progamming Education, Computer Science Unplugged.