Why our Kids Should be Coding
A chat with London teacher Lisa Floyd reveals why children should be learning to create with code and programming, rather than just using digital technology. Lisa offers some great tips to teachers and parents for getting kids started with code in fun, simple and often unexpected ways.
Lisa Floyd is on a mission to help educators teach with code! A high school teacher for 13 years, Lisa is originally from Port Elgin. She received her Honors Bachelor of Science (Biology) at the University of Western Ontario, and her Bachelor of Education at the University of Toronto (OISE). Lisa teaches Gr. 10 and 11 computer science, math and work internship (cooperative education) at Montcalm Secondary School in London. She has also previously taught science. Lisa’s husband, whom she met at UWO, is also a computer science teacher, and invariably supportive of her work. They have three sons, aged 2, 4 and 6.
Recently, Lisa has led workshops to help elementary school teachers integrate coding with the Ontario curriculum. UnLondon asked Lisa to tell us why it’s now so important to gain early coding skills, and how teachers can combine computational thinking with every subject-including gym.
You teach computer science in Gr. 10 and 11. Where did your interest in teaching elementary-aged kids to code originate?
I’ve been teaching computer programming since I first started teaching; I’ve watched in awe at the connections made by students and the problem solving and critical thinking that goes on when they create programs.
While I was on a maternity leave recently, I had some time to reflect and decided I’d make it my goal to try to get kids coding younger. I noticed that at 5 years old, my oldest son was showing interest in coding and many children have the logical ability to create programs at a much younger age than when we normally begin teaching them. Imagine what these students would be capable of by the time they got to high school and what that would mean for me, as their teacher? Most students aren’t exposed to coding until grade 10 or 11 and it is like a whole new world is opened up to them when they start.
One of the first things I did when I returned to work was to organize, along with other teachers and students, a school-wide Hour of Code. Over 700 students were exposed to coding concepts. I also decided to hold a full day session for elementary school teachers in our feeder schools [in London] in December,which led to a second session in April [at Delware Central Public School].
While researching ideas, I joined Twitter and came across a few elementary educators from other boards who are doing some really neat things with their students and who are also supporting other teachers with this initiative.
Can you tell us a little more about the concepts you introduce at your workshops for elementary school teachers?
I introduce non-tech ideas, actual coding, and show them how to integrate it into the curriculum. I discuss the benefits of coding and that it really does get students to think differently.
What has been the response of teachers that have taken your workshop? How can they expand upon that first intro to code?
The response has been very positive…Most would like to learn more and hope to incorporate coding into their classroom. I often get emails with specific requests, and I try to accommodate them by creating resources that may be helpful or directing them to online resources.
I was hopeful that teachers would be interested and willing to learn a new skill. In both sessions, I had more educators interested than spots available, which shows that there is certainly an appreciation for the potential of coding in the elementary school classroom.
I have some next steps in mind, including having my students from Montcalm helping students at elementary schools with learning to code.
Why is coding something you see as so important for kids of all ages?
There are two main reasons I see coding as important:
- The more obvious reason is that most young people are quite proficient with their electronic devices. If we expect them to use technology effectively, I believe we should also help them to understand how it is created. Young people should be given the skills to write code, not just to use code that has been created by someone else. Computer science is a growing field; almost everything we do has computer software associated with it. Some students are capable of creating useful programs at a very young age, and I believe as educators, we should be giving them the opportunity to do so.
- Coding helps students learn to think differently, more efficiently and more productively. With the Internet, students have information at their fingertips. As educators, we no longer have to provide students with facts, as they can just look them up, but we need to help them to process information. In any field, students are going to need computational thinking skills. By this, I am not just referring to computer programming. I mean being able to sort through information…decide what information is important to solve problems and what information you are hoping to get from the solution.
Can the skills acquired from computer programming therefore be applied to other fields?
We need to help students become better problem solvers. It isn’t just that we want all of these students to enter the field of computer science; we want them to be able to solve problems, to think computationally, and to also think creatively. An effective program cannot be written unless logical thinking is applied. These skills are universal.
In the past, it was mostly people in careers driven by math and engineering who used computational thinking, but it now applies to every field. We all need to know how to process information effectively. I’d have a look at Microsoft VP, Jeannette Wing’s research on computational thinking for more information.
How do you help educators learn the basics of teaching with code, when coding is not yet part of our elementary curriculum in Ontario?
I create resources I feel will be useful to elementary school teachers and that can be integrated into the curriculum that they must teach. These resources are based on my experience teaching computer science for the past decade.
I also find many useful resources online and through educators on Twitter who are like-minded in their belief that coding should be integrated and maybe even [become part of the] curriculum in Ontario.
In the local community, George Gadanidis, from the Faculty of Education at Western University has been doing work with coding and math and I believe his research in this area will eventually transform the way we teach math in elementary schools. Professor Gadanidis, along with the Fields Institute for Research in Mathematical Sciences is providing funding for student-led coding events, which I’m hoping to help to support this year.
I am also fortunate to have the support and encouragement of my colleagues at Montcalm Secondary School, many Learning Coordinators and Learning Coaches as well as Information Technology Services in the TVDSB [Thames Valley District School Board].
Is there anyone else providing resources for teaching digital literacy and STEAM (science, technology, engineering, arts, math) skills locally?
London seems to be a hub for technology development and there are many supportive organizations that are excited about the possibilities of coding at a younger age. UnLondon and the DHMakerBus, as well as Discovery Western, have some incredible programs going on for young people related to STEAM.
Although the connections between computer programming and some subjects (ie math) seem more obvious than others (ie physical education), your workshops challenge those assumptions. Can you give some examples of unexpected ways to use coding and logical thinking in the classroom or the playground?
I’ve found that you can incorporate the logical thinking involved with coding into any subject area, really. For example, in music, students may want to write the code for a program that plays simple tunes, including the rhythms for each note (they actually have to pay more attention to the length of each note in this case). They could then write an algorithm (step-by-step instructions) to transpose the piece into a different key. By creating a program like this, they MUST learn the logic behind transposing, which is actually to just shift each note by the number of semitones/keys [that] the original key and new key signatures are separated by.
For physical activity, if a teacher wants to incorporate coding logic, they can give students print-outs of “code”, in which the students have to act as the sprite [the name for a character in MIT’s Scratch coding program], moving in all of the directions indicated. It can be quite comical watching them stuck in an infinite loop while jumping. A teacher could also have students write an algorithm to create a dance routine.
In art, students can create beautiful images by drawing simple shapes. Using a loop and adjusting angles slightly, students end up with pretty neat drawings, similar to designs created using Spirographs — which many of us used when we were kids. In programming, students actually have to consider the logic involved when creating the shapes though; they need to understand the basics of geometry. For example to draw an equilateral triangle, the student will need to recognize that each interior angle is 60 degrees.
There are stereotypes of coding as an isolating activity, which ties into fears that we spend more time today staring at screens than engaging with each other. Would people be surprised by how interactive coding can actually be?
Coding can be collaborative….Programs can be broken down into smaller, more manageable problems and many programmers can create one larger program… Programmers also need to work with experts in other fields, e.g. digital artists.
Teamwork and communication is critical…as it helps ensure that your team arrives not only at a solution, but at the best solution. This means being able to communicate complicated ideas in a clear way and, just as importantly, being able to…listen to and understand the solutions and ideas of others. This is how teams are able to create programs that are better than what they could create individually. We can create environments in a classroom similar to the real-world, with various roles, focusing on students’ individual strengths.
What about parents? Can you recommend some easy, affordable ways parents can introduce programming/coding to their kids at home?
I’ve noticed a few [day] camps coming up in London, recently. If parents are looking to have students code at home, however, I’d recommend having them check out Code.org, Khan Academy and Code Academy — all have free online tutorials.
The City of London seems to have a problem finding enough qualified computer programmers to fill its tech jobs. Should coding be seen as a way of preparing younger generations for the workforce?
The more young people are exposed to and are shown the possibilities involved with coding, the more people you will have who choose to enter the field. Computer science is an elective course and is not available until high school, so many students are not even aware that they have what it takes to be computer programmers. We also have a very low percentage of young women enrolled in these classes. One of my goals is to increase the number of girls in my classes and many organizations are also working to encourage more females to enter the field of computer science.
As a cooperative education and computer science teacher, my students research some of the “21st century skills” that employers are looking for. Many of these skills are developed when students are given the opportunity to use computational thinking — skills such as: analysis, adaptability, technology, critical thinking and productivity skills. These skills help to prepare our students for any workforce.
Is there a good example of code education that we should be emulating?
In England, the national curriculum has students as young as the primary grades studying computing. They have recognized the importance of computing skills and students will learn foundational skills that will help them for the rest of their lives. I would love if our own students had the opportunity to learn the skills to develop their ideas using technology and coding at such a young age as well, but for now, we have to integrate it in the current Ontario curriculum.
What age were you when you wrote your first line of code?
Grade 10! [I learned] Turing, a learning language developed at the University of Toronto. I remember putting “Hello World” on the screen and creating a program with a bird working its way through a maze to get to a worm. It was quite terrible. Who knew I’d end up teaching it, but I LOVE it now. I am not an expert by any means, but I love teaching. I try to learn a new language every few years so that I can have more options available for my students.
Do you have a favourite coding project from your students?
I have many memorable student projects: one student wrote me a whole script in binary (a bunch of 1s and 0s) and I had to write a program to translate it so I could read the instructions to play his maze game (which took me two hours to finish). I’ve seen a lot of variations of pong, pacman, frogger.
They create these programs with what they learn in class and I watch them over the course of a few weeks working tediously on these projects. The final product is neat, but the process is incredible. Students learn so much when they are coding something that is their own (even if the idea is from someone else). Students run around the room helping each other to debug their programs, playing each other’s games. One student will have problems moving a character around, and they’ll find someone else who has figured it out already — the possibilities are endless.
I feel like teaching computer science is one of the best-kept secrets. I am inspired by what these students come up with. I try, but can barely keep up with them. I work hard to show them concepts all year, and the last few weeks of every class, when they’re working on their culminating task is when I learn so much from them (and for them, as I am as distressed as they are when we’re having trouble troubleshooting something in their programs!).