Since then, our CoderDojo journey has taken place in the world of the pandemic — and with that has come many challenges. It was definitely not easy to bring all of the students into an online class environment. For many families in our community, having a touchscreen phone with an internet connection is a luxury, so getting access to a device was an immediate challenge for lots of our young students; even having a phone in the family was not a guarantee that a child could join a session, as their parents might leave for work in the morning and take their phone with them.
With these barriers in mind, we delivered our online sessions through two separate programmes at weekends: unplugged activities and live Python sessions.
Many parents and volunteers in our community use WhatsApp, so we knew that this would be an effective way to distribute resources to our young people. We began by circulating worksheets for unplugged activities within our WhatsApp groups, giving students a week to attempt the activities and ask questions. Slowly, more and more students began to really enjoy these worksheet activities, and in July we began online sessions on Sundays to meet this demand.
In the unplugged activities sessions, we usually start by having a discussion with the kids on a topic such as debugging. We spend time understanding what debugging is, why it is important, and how we can do it. Then we work on an exercise together and help the kids to solve it. At the end of each class, we give the students another exercise as homework, to complete for the following week. We have found that this approach works well for students with limited access to a device, as they can learn computing concepts in their own time by doing the unplugged worksheet exercises.
We have also done unplugged activities such as logic number sequences, block logic puzzles, and sudoku challenges. One unplugged activity that worked particularly well for us was relay programming, where we used arrows to race through a paper graph. Code.org has some useful resources for teaching relay programming. The aim of these activities was to develop skills like debugging and understanding of sequences, and also to help children learn computational thinking skills. We were amazed by the curiosity of the young people, and how after four or five sessions the speed at which they could solve problems increased. They also became interested in doing more such activities. In the beginning, we had to give some pointers on how to solve certain problems, but as time went by, they needed our help less.
Since then, we haven’t looked back, and we have also introduced Microsoft Word and Scratch coding in these sessions. We still face logistical challenges — such as limited access to computers for our students — but we try to keep learning with an optimistic and positive attitude.
Live Python sessions
We started our second programme in September 2020. The aim of this session was to teach Python to the enthusiastic young members of our community.
In our first four Python sessions, we began by covering the basics, such as variables, strings, loops, and conditionals. We also spent a good amount of time on learning about the indentation, syntax, and set-up of a new project. Once we had finished learning the basics, we were able to move on to creating games — and we have just finished our first Python Space Invaders–type game. Each Python session is two hours long with a 15-minute break. We encourage the young people to stretch in between the breaks, as otherwise they are sitting still for a long time.
Each student joins the session via Zoom. I usually begin each session by first discussing the logic with them. Once we all agree on the logic, I go on to implement it. We all get to work at the same time; the students write their code along with me. We then run our code together, discuss any issues we’ve found, and make any required minor changes. Sometimes we share the code with the group using the Zoom chat function. From time to time, I ask each student to share their screen, show the output of their code, and explain the logic they have used to the rest of the group. This is a good way for me to check on how a student is doing, and also gives them an opportunity to share their progress and develop their presentation skills.
The experience of teaching such curious and passionate students has motivated us a lot. We faced some logistical challenges with our students, such as the installation of Python and IDEs, but the Zoom remote access and annotation features came to our rescue. We have learnt that being extra patient, along with taking short breaks in between classes, can help us to teach quite effectively.
Plans for the future
We want to keep the momentum of our CoderDojo club going; in 2020, we were able to register as an official club with the help of Vasu, the club programme coordinator for India. We plan to continue our unplugged sessions for at least four months, as our students like these sessions a lot. These activities will also help us to build a strong foundation of computational thinking in our students. After that, we will focus on learning Microsoft Word, Scratch, and HTML. We are also planning to organise a collection drive for old laptops and mobile phones for our students.
In our Python sessions we plan to program a few more games. We want our kids to learn that some hard work and effort is required to get comfortable with a new programming language. We are also planning to create some physical computing projects using Raspberry Pi.