Last Wednesday concluded my elementary school’s first coding class. The class started in October and met once a week for one hour for a total of 11 sessions. Myself and two other classroom teachers led the sessions with 20 students in grades 3-5. Students learned about coding by creating a variety of projects within Scratch. Each session focused in on a specific skill. Students spent the last two sessions on a final project that showcased many of the skills that were acquired through the class. The final projects were submitted and reviewed by the instructors and parents.
The team has determined that another coding class will start up in January. Before that starts I want to reflect on the last class and a few things that have been learned in the process.
Student exploration is necessary
As coding topics were introduced I found that some students needed visual representations, while others were fine listening to the instructors. I found that all the students needed time to explore the Scratch programming language. Giving opportunities to explore the cause and effect of using different Scratch blocks enabled a better understanding of the sequence of a project. I can remember one project that asked students to use only 10 specific blocks to create a program. Through trial and error students evaluated whether what they were creating made sense. This low-risk activity also helped student hone in on what a particular coding phrases meant. Specifically, students started using “if” “forever” “change” “rotation” “x” and “y” more often. This type of vocabulary helped set the stage for future sessions. I felt like the time spent completing this activity paid dividends later in the course.
Provide multiple resources
The class emphasized and primarily focused in on using the Scratch programming language. Giving context to some of the programs required using resources outside Scratch. At the beginning of the course students learned how computer programming requires direct instructions. Students completed an activity with partners that had them move around the classroom and complete procedures with simple direction scripts on notecards. Participants also explored the debugging process by learning about Grace Hopper and the moth found in a large computer.
The team also used a variety of books and resources to teach the class. Books from our local libraries, Twitter resources, and online forums provided many resources that helped supplement the class.
Provide guidelines
While exploration is important I believe the team found that having guidelines in place helped make expectations clearer. Students knew as soon as they entered the classroom that they needed to get their laptop and login to their Scratch account. Students were expected to create a specific program each time that the class met. Early in the class the team developed a checklist for students. The checklist gave students a visual representation of what was required and reminded students of the expectations. Students completed the checklist and then were able to move on to the next topic. Each student worked at a different pace so the checklist basically helped students see what steps needed to be performed to make their program complete. The last project included a guideline sheet that asked students to use all of their skills learned to create a capstone of their learning.
Provide opportunities to extend
Before the class started one of my goals was to introduce students to a specific number of concepts. As the class progressed I was finding that some students were ready for additional concepts. Thankfully, my district’s programmer let our class borrow her Raspberry Pi. A number of students explored the different components of the circuit board. Some students started to learn the Python coding language. One of my students actually decided to complete their math research project on Raspberry Pi.
Also, students that were part of the coding club were able to assist during the Hour of Code that my school had last week. Those students took the lead and helped introduce coding to students at all different levels. At the end of the class the team sent out an email to all of the parents of the class indicating next steps that the students could take if they were to continue their coding journey. I felt like this was important as students became more enthusiastic and curious with the concept of creating content with coding.
Overall, this class was a rewarding experience and will help in planning future courses for my school.