How is programming taught in code clubs? We asked the instructors, and this is what we found

(reposted from here)

Programming is taught everywhere: at schools, independent code clubs, Code Clubs, CoderDojos, Girls Who Code sessions, after school programs, coding summer camps, workshops in libraries and museums. At schools, the lessons are given by teachers, following national curricula. However, what about the lessons at code clubs? Who teaches, what is taught, what material is being used, and how are children learning programming? What do children find difficult, and are there any differences between boys and girls?

To find answers to our questions, we designed and run a survey. We invited code club instructors to answer through Twitter, Facebook groups of code clubs, Slack channels, newsletters and even direct emails. We collected 98 responses, we analysed them, and this is what we found.

Participants, lesson material and style

Many of the code club instructors who answered our survey have a main degree related to computer science (49%) or other STEM-related field (10%). Only a small group has a background education (18%). Almost half have no education experience, while the majority of the instructors (90%) can program in at least one commercial programming language.

Most code clubs have a small number of participants of varying ages. Female students are under-represented at code clubs; the average percentage of female students is 30%.

Most of the instructors replied that their code club is part of a program, mainly CoderDojo (36%) or Code Club (31%). The students attending Code Club classes are younger and more often female than in CoderDojo clubs.

The most commonly taught language is Scratch (89%), followed by Python in almost half of the code clubs, followed by Arduino, Mindstorms, Micro:bit, HTML, Java, JavaScript, Blockly, C-like languages (e.g. ArduC, RoboC or NXT-C). Within the taught languages we also found Sonic Pi, Blender, Snap!, Swift, MBlock, Spheros, Flowol4, Crumble, Codebug, Node JS, Lightbot and A.l.e.x.

Regarding lesson material, half of the teachers responded not using a specific lesson plan. Some declared using lessons or the Scratch Creative Computing Handbook. The students mostly work independently on their own projects (71%) and, in some code clubs, the teachers give plenary sessions. Formal assessments and grading are rare; more common are stickers or badges for achievements (47%) and other forms of formative assessment.

What do the students struggle with?

Instructors most commonly identified debugging/error messages and abstract thinking as the main difficulties. A teacher whose students are from 8 to 12 years old related the age of the students to that, reporting that (translated from Dutch) “sometimes children that register for my workshops are too young and find abstract thinking too difficult to really understand what they are doing.”. In terms of programming concepts, variables and functions were identified as the most difficult for their students.

Instructors also identified struggles related to creativity, for example “thinking for themselves instead of blindly following the tutorial” and “design something for themselves and implement that.” Related to concentration, a teacher reported that students get “distracted by playing games.” Another teacher reported the student focus on language as a learning barrier, as students “often become focussed on learning Scratch itself, rather than building higher-order skills.”

How are boys different than girls?

Teachers identified gender differences especially for two traits, namely confidence and concentration. In the question “Who is more confident?”, 50% of the responses lean towards boys. A teacher added that “I get initial “I will never understand this” reactions way more from girls than from boys. Completely invalidated after an hour or so of course, but still saddens me.” This is worrying, because gender differences related to confidence could have several implications. In prior work we have found that, especially for female elementary school students, self-efficacy is strongly correlated with how attractive they view computer science as a career path.

On the other hand, in the question “Who seems to concentrate better?” 65% of the responses lean towards girls. A teacher explained that  “Girls tend to stay on-task more, whereas some boys can be easily distracted”.

Gender differences were also reported in the preferred type of projects, with girls preferring  storytelling and visual/creative exercises, and boys preferring to implements games. Girls were identified as more responsive to instruction, whereas “Boys just start blindly without reading lessons and then run into trouble pretty quickly, then call for help. Girls tend to focus more, start reading and ask questions when they’re really stuck.”

Collaboration skills are described to be increased for girls, as “Girls tend to talk and discuss more when working in partnerships whereas boys tend to have one who takes the lead”, as well as focus (“All of the girls in my club have always been more careful and methodical. They seem to want to understand what they are doing more and don’t mind taking their time.”).

Want to know more? Read our paper, or come and see us present it at Koli Calling.

Symposium- How to teach programming to everyone, what does science say?

We are happy to invite teachers of primary and secondary education, university teachers, researchers and students interested in programming education to attend a mini-symposium that we organize with presentations from Briana Morrison, Erik Barendsen, Alexander Serebrenik and Fenia Aivaloglou.

The symposium will take place on Wednesday September 25th, 2019 and will be hosted by TU Delft Teaching Lab which you can find at the following address:
TU Delft Teaching Lab (Building 32A)
Landbergstraat 15
2628 CE, Delft

Please book the date in your calendars, we would like to see you there! If you are will join us, please register.

The program is as follows:

Time Activities
9-9:30 Registration
Coffee and tea
9:30 – 10:15 Briana Morrison Using Subgoal Labels to Reduce Cognitive Load in Learning
10:15 – 10:30 Q&A and Panel discussion over the talk of Briana
10:30 – 11:00 Alexander Serebrenik Gender in open-source software development
11:00 – 11:10 Coffee Break
11:10 – 11:40 Fenia Aivaloglou Early programming education and career orientation: the effects of gender, self-efficacy, motivation and stereotypes
11:40 – 12:10 Erik Barendsen Analyzing the Influence of Code Visualization on Programmers’ Reading Behavior Using Eye Tracking
12:10 – 13:00 Lunch