Coding Buddies and Intergenerational Thinking

Brandon Dickson, Lauren Harris, Taylor Boyd and Donna Kotsopoulos

For a long time, people have recognized the importance of “intergenerational learning” defined by Ropes (2013) broadly as “an interactive process that takes place between different generations resulting in the acquisition of new knowledge, skills and values” (p. 714). In this, however, is frequently embedded the assumption that the older cohort will impart wisdom to the younger and thus the cycle will continue. In elementary schools, this frequently takes the form of things like ‘reading buddies’. Here I will endeavour to demonstrate an interesting experience I had with a ‘coding buddies’ program that demonstrates the unique learning allowed through coding and the plans to expand this in the future.
My work in classrooms began in early January. I went into a Grade 6/7 classroom and a JK/SK classroom (separate from one another) once every week for roughly an hour. Lessons in the G6/7 classroom followed the Pedagogical Framework for Computational Thinking as laid out by Kotsopoulos et al. (2017). The lessons began by introducing students to coding with unplugged activities. This included games such as My Friend Robot where students wrote out step-by-step instructions on how to get a classmate from one end of the classroom to another. Students then moved on to use SCRATCH, a block coding website. The online lessons began by having students tinker with pre-made code, that is, they were asked to change small parts of the code such as size and direction to modify the difficulty levels of these games. Students then moved to creating their own code. Students were asked to use their knowledge of SCRATCH to build a program “from scratch” within a set of parameters. Students made games such as a falling ball game where balls appear at random points along the top of the screen, fall and the user gets a point if they catch a ball (see below).

Following these lessons students moved to the final stage of the framework, which is remixing or hacking. Students were given access to seven complete programs of which they would need pieces of code from only five programs. The code from these five programs would provide them with all of the blocks that they would need to create a new program. They had to identify the necessary code, and then copy and paste it into their new program that met the laid-out requirements.

Having used SCRATCH, students then used Sphero and Dash, programmable robots which use block programming similar to SCRATCH. Students experimented with the code by changing the robots’ colour, moving the robot to a certain point, and later learned to use loops and “if, then” functions to move the robot without the need to add new code. For example, students found it fun to watch a robot drive into a wall, then turn and drive around it to get to its destination.

Through all of these lessons, grade 6/7 students demonstrated a high sense of satisfaction with the learning they were working through. After the activities, many were able to identify in journals that they wrote afterwards, the importance of learning basic computational skills as well as seeing the relevance of developing skills such as problem solving skills for subjects like mathematics. However, in all of the lessons, students followed the lesson plan exactly. If they were told to make the robot go forwards then turn left then go forwards, the vast majority did not question if they could try it an easier way, they would simply do as they were told. Comprehension was high, but a critical approach was not immediately apparent during the lessons.

In the JK/SK classroom, lessons were prepared by the school’s Student Programs Support Teacher (SPST) and used number lines and Bee Bots to help students with counting. Student’s also used Scratch Jr. to introduce them to coding and a few students had gotten to use the Dash robots and did things like change colour and made it drive.

We next moved to combine the two classes that I had been working in to create a coding buddies program. All of the teachers involved were excited at the prospect of doing a “buddies” program, but no one was quite sure how well this program would work. The first time the buddies were partnered up, the grade 6/7 students had used SCRATCH to create a number line or grid program. This developed on the counting skills that we had already been working on with the kindergartens and involved moving left, right, up and down a certain number of spaces. The kindergartens then showed the 6/7s how to create a program in Scratch Jr.

In the second week of Coding Buddies, students used three different types of robots, Sphero, Dash and Bee-bots. The senior students were responsible for helping the kindergartens explore the programming of the robots, which used similar programs to SCRATCH.

In this process, something really interesting started to happen. When told, for example, to make the robot start at a certain point, and go to a certain point along the tile floor, rather than making the robot go straight forward ‘x’ number of blocks on the tile floor, turning 90o and continuing to go straight, the kindergartens, not the senior students, figured that they could be more efficient. For example, one student gave me a strange look after I told her to drive her robot to the chair, and promptly asked her buddy how to program the robot to turn so that it was facing the chair and could then just drive straight. Her older buddy tried to explain that she had to go forward, turn 90o and continue straight, and the kindergarten student insisted, quite rightly, that I had never said that they needed to do it in a certain way. Similar sentiments were expressed throughout the class as the kindergarten students began to realize that they could manipulate the programming to do what they wanted. Though they could not express in words that they were developing skills like problem solving that would benefit them in math, that was exactly what they were doing. In this process the kindergarteners were not only developing their own skills, but were forcing the senior students to question their own approaches to learning as well.

This demonstrates something interesting about the interplay in learning that is allowed by computational learning between age groups. In past research, what has been explored is how young students benefit from working with older students. However, this research points to the fact that perhaps there is something that older students who have greater command over the programs they are teaching can gain from younger students’ new perspectives as well!

For lesson ideas and the programs that we used, search for misslauren and bdickso9 on SCRATCH.


Kotsopoulos, D., Floyd, L., Khan, S., Namukasa, I. K., Somanath, S., Weber, J., & Yiu, C. (2017). A Pedagogical Framework for Computational Thinking. Digital Experiences in Mathematics Education, 3(2), 154-171. doi:10.1007/s40751-017-0031-2

Ropes, D. (2013). Intergenerational learning in organizations. European Journal of Training and Development, 37(8), 713-727. doi:10.1108/EJTD-11-2012-0081



This work in a Catholic Elementary School is a result of funding from SSHRC and NSERC which allowed the school to purchase a class set of Chromebooks and have use of Sphero robots.


Author Bios.

Brandon Dickson is an undergraduate student studying Political Science English and History and has worked as a research assistant in mathematics education for the past year in private and Catholic schools.

Lauren Harris is an undergraduate student studying at the Ivey Business School who previously studied Economics and has worked as a research assistant in mathematics education in a private school for the past year.

Taylor Boyd is an undergraduate psychology student whose research experience includes examining motivation and creativity in the classroom. She is currently the manager of the Kotsopoulos Lab.

Donna Kotsopoulos is a professor of Management and Organizational Studies and has spent her career researching mathematics education and computational thinking across the country.