Since 2013, Kids Code Jeunesse (KCJ) has been working alongside educators across Canada to develop feasible, classroom tested strategies and lesson plans for both learning and teaching the fundamentals of code. KCJ has held teacher training workshops with thousands of Ontario educators across the province, exploring questions like:
How do you teach when you don’t know the answer?
How can I help my students get unstuck when they seem to be learning faster than I am?
What are the essential concepts and practices that kids must master to be prepared for further learning?
Juliet Waters will share the lessons learned over the course of this journey and how teachers can harness the power of code to enrich their learning, not only in math, but across the curriculum.
Chief Knowledge Officer of Kids Code Jeunesse (KCJ), Juliet Waters brings over twenty years of journalism and communications experience to her passion for teaching digital literacy across the generations. She has introduced code to teachers from every province and territory as part of the federal Ministry of Science, Innovation and Economic Development’s CanCode program. She has worked with UNESCO on The Algorithm Literacy Project and is the author of The Canadian Primer on Computational Thinking and Code: A Kids Code Jeunesse Introduction to Algorithm Literacy.
In brief, my reasons revolve around ‘students being in charge of their own learning’. These include:
The title of this post might lead you to think that I question the benefit of kids coding or programming. No. That’s not it. I am just hoping that you have developed your own good reasons why you want kids to code. Then, in support of those reasons, you set the wheels in motion for your students to achieve those goals.
student agency (locus of control)
scaffolding a cognitive partnership where students come to deeply understand learning through the development and application of metacognitive skills
I invite you to tell your stories. Why do you want your students coding?
“What can I do with this computer?”
When I started using computers with kids, in 1977, there were no applications to speak of! In fact, I didn’t even have a desktop computer. I rented a dumb terminal and ran a telephone line through the classroom ceiling to a phone in the school library.
Why did I go to such trouble? It was about power. Locus of control. Social constructionism. I really wanted the students to ‘take charge of their own learning’ – but not just from a student agency perspective – but I also wanted them to develop magnificent metacognitive skills and to ‘fall in love’ with their ability to learn.
Now for a little trip down memory lane.
You know, I never thought I would use computers with kids. Back in the 70’s I was a ‘humanist’. OK – I still am! But computers were so mechanistic – however I decided to take a course with Ron Ragsdale at OISE.
We used the Commodore Pet. We learned BASIC – there were really no programs available until a little later.
I kept asking myself, “What can this computer do for me? What can it do for me?”
After a few nights I realized I was asking the wrong question! I had the wrong expectation – the wrong belief!’
It’s not ‘what the computer can do for me?’ but rather, ‘What can I do with this computer?’
“What can I do with this computer?”
Print “Janine 10 times”
You should have seen their faces!! They squared their shoulders… head their heads high. And they wanted to struggle some more!
They wanted to try new things… to fail more… so that they might succeed! (Just like Nintendo or PlayStation!)
Did they each have a computer? No! Was that a bad thing? No! It was a social event. It was a ‘happening’. It was shared. They all had a stake in it… not just in what they did… but also in what the other kids did.
Then came Logo!
Let me demonstrate a little Logo – a constructionist tool that has been around for a few decades. Kids teach a turtle to behave as they wish. For example, let’s teach it to make a square. You type in fd 100 and the turtle draws a line 100 turtle steps long. Type rt 90 and the turtle turns right 90 degrees. Do that three more times and it draws a square. You see – if you do that, the turtle will have turned a total of 360 degrees because it made four 90 degree turns. 4 X 90 = 360 This can be all said in one command – repeat 4 [fd 100 rt 90]
Similarly, an equilateral triangle can be made by having the turtle turn 120 degrees three times. 3 X 120 = 360 Or, repeat 3 [fd 100 rt 120] For a pentagon – 5 X 72 = 360 so repeat 5 [fd 100 rt 72] will do it! And so on.
Total Turtle Trip Theorem
This simple arithmetic is the basis for the total turtle trip theorem.
“If a turtle takes a trip around the boundary of any area and ends up in the state in which it started, then the sum of all the turns will be 360 degrees.”
Seymour Papert in Mindstorms, Basic Books, 1980*
So, as an advance organizer or a ‘minds on’ as we might say today, I asked my grade twos, to write a story about a total turtle trip before we explored this ‘powerful idea’ on the computer.
Leeanne, aged 8 wrote…
Once there lived a turtle. He was very curious. He wanted to take a trip. So he said to his mother, I’m going on a trip.”
“Oh, but what if you fall and land upon your back?” his mother asked.
“I won’t do that.”
And off he went. When he was walking along he met Father Bunny.
“Where are you off to on this fine spring morning,” Father Bunny asked.
“I’m going on a trip around the world.”
“But what if you…”
Turtle didn’t hear. He was halfway down the road. He started down a big hill but he tripped and tumbled down, down, down the hill and landed on his back. And there he stayed.
Meanwhile, Turtle’s mother got worried and went to find him. She found him on his back. She helped him to his feet.
And he said, “I guess I took a total turtle trip!”
Did she understand the concept? Let’s see. I asked the kids to make any polygon.
I was amazed at what LeeAnne did. Why? Because she not only understood the concept at hand, but realized that she could have the computer do the division (360/11). So her instruction to the turtle was repeat 11 [fd 100 rt 360 / 11]. This made the creation of any polygon really easy! A pentagon was 360 / 5. An octagon was 360 / 8.
Cognitive Residue: How Do We Help Kids Build Transferable Skills?**
Can coding lead to knowledge, skills, and attitudes that are transferable to other situations? Or maybe a better question might be, “How can we help students think about coding in ways that will allow for this transfer?”
If you ever wonder at the end of a day just what your kids learned while working at the computers and you are dissatisfied with your thoughts, consider the following simple model. Gavriel Salomon has posed an analysis of the difference between “effects with” and “effects of ” computers.
“Effects with are the changes that take place while one is engaged in intellectual partnership with peers or with a computer tool, as, for example, is the case with the changed quality of problem solving that takes place when individuals work together in a team. On the other hand, effects of are those more lasting changes that take place as a consequence of the intellectual partnership, as when computer-enhanced collaboration teaches students to ask more exact and explicit questions even when not using that system.”
In other words, the ‘effects with’ are the enhanced ability one gets from the use of technology. Salomon elaborates: “The combined product of human-plus-machine yields a higher level of performance.” The ‘effects of’ are the lasting individual changes resulting from the computer-supported collaboration, the cognitive residue, one might say, the transferable knowledge or skills.
So, just how might you go about helping your students experience the ‘effects of’ coding?
Let’s revisit Logo.
In Logo, as in other programming environments, you write procedures (or small programs), which may become part of larger procedures. The included ones, therefore, are called subprocedures , and the enclosing programs are called superprocedures . This is much like a builder using bricks that become part of a wall, which then becomes part of a house. For example, the procedure for creating a square can become a subprocedure inside a superprocedure for creating a flower.
To square Repeat 4 [forward 50 right 90] End
To flower Repeat 18 [square right 20] End
Jeffrey (a Grade 2 rascal!) made a most interesting leap from Logo to a completely different domain one day.
We were having a discussion inspired by the flight of the space shuttle piggybacked on a jumbo jet. Our Grades 2/3 class had the opportunity to watch the flight. When we return- ed to the classroom, a discussion of space naturally arose. One child asked if Earth was in space, and in asking the question, she determined it must be, because it wasn’t sitting on anything. The discussion continued until Jeffrey piped up.
“You know . . . it’s sort of like Logo.”
We stopped and looked at him curiously.
“What do you mean?” I asked him studiously.
He replied, “Well, Earth is like a procedure. It’s like a subprocedure inside the solar system. The solar system is the superprocedure. And the solar system is like a subprocedure inside the universe. The universe is like the superprocedure.”
“Fascinating,” I said, then asked, “What’s the biggest superprocedure?”
After a moment he replied, “I don’t know. I guess the universe.”
Well, I was truly amazed at the generalization across domains that Jeffrey had made. He clearly demonstrated significant transfer of a concept from his experiences with Logo to an authentic event. Although Jeffrey’s illumination happened spontaneously, I learned that I could play an important role in helping students to acquire Salomon’s “effects of” by providing opportunities for them to look for these comparisons across subject areas.
I started playing a game with students that I called Metaphoria. I gave them sentence starters such as:
“Programming in Logo is like … ” or,
“Finding a bug in a program is like … ”.
Students have answered: “Programming in Logo is like playing tennis. First, I take a turn, then the computer takes a turn.” “Finding a bug in a program is like looking for a needle in a haystack.”
This is but one example that provides students with a mental model—a model that is durable and independent of coding. It is what Salomon would call a residual effect.
One example of this residual effect became evident after the students’ experience with “bug collecting” during their time with Logo. They had learned that identifying problems in their Logo code meant that they had mistakes, or bugs, in their thinking.
Of course, actively seeking bugs was a necessary component to getting the program to do what they wanted. Bug seeking naturally evolved into bug collecting. Every time a bug was solved, the kids squished it—metaphorically, of course!
The class had built a large papier maché turtle, and one of the students suggested that perhaps when a bug was solved it could be fed to the turtle instead. This was delightful and useful in and of itself, but the transfer of this model became clear as I overheard two students working on a traditional paper math task. They knew their answer wasn’t right.
One student said to the other:
“There’s a bug in here somewhere. We’d better find it!”
I believe it is important to maximize the opportunity for the acquisition of these skills as your students are coding. Do not leave it solely to the use of the computer. Be explicit in building the bridge—in making the connection of this skill to other domains. Discuss them in class. Have students describe other situations where these skills might be used.
In fact, take it one step further. Ask your students to think of particular aspects of that give them generalizable skills. In this way, you are empowering them to take more responsibility for their own learning.
Other Memorable Moments
Lego Logo – Way before the ‘Maker Movement’!
Have you any idea of my excitement in 1987ish whenever Seymour Papert, Brian Silverman, Mitch Resnick, Steve Ocko and others came up with the idea of Lego and Logo being used together to create a great robotics environment for kids? It was called Lego/Logo*** and was the precursor to Lego Mindstorms.
I quickly purchased several dozen Lego Logo kits for use within North York Schools. We had some ‘hard fun’.
At about the same time, the folks at MIT Media Lab were working on developing an intelligent brick – a lego brick with a programmable chip inside it so that you could ‘send’ the Logo instructions to it and then disconnect all the cables! Then the robots were wireless and unencumbered. Some years later (1998), the first-generation programmable brick became available from Lego. You can read lots more of this history in Robots For Kids: Exploring New Technologies for Learning.****
Seymour’s Twinkling Eyes
One of the things I have always treasured in my meetings with Seymour was the twinkle in his eyes as he got energized by ‘powerful ideas’ for kids. One of these moments occurred regarding the intelligent brick. He was so excited about it at one point that he invited me to sit with him and his graduate students as they pondered and played with several of these turtles with embedded intelligent bricks. These turtles, of course, had sensors and lights and the discussion revolved around our creating a simulation of cultural differences.
“People of different cultures are comfortable with differing amounts of personal space. What if we could program these turtles to move around with that in ‘mind’?” Turtles had different coloured lights on them and so the idea was to program each one to move within a specified distance of any other turtle depending on its colour.
It was a fun afternoon.
It was a great ‘problem’ to think about.
It’s a far cry from walking into a classroom full of kids where they all have the same worksheet and are copying the code mindlessly into their computers – all to produce the same outcome into which they had no personal investment.
It was extremely important for us to focus on the learner ‘being in charge’. At that time, as now, the educational computing community was under assault from those who wish to control children and to make them comply with their educational philosophy. It was the era of CAI – Computer Assisted Instruction. Or, as I called it – Computer Assisted Institutionalization!
Another famous book of the time The Computer in School: Tutor, Tool, Tutee by Robert Taylor (1980)*****spoke of the computer as a tutor, tool or tutee – as the title suggests! The computer could tutor the student. The computer could be used as a tool – e.g., wordprocessing, graphics, etc. Or, the computer could be the tutee – and be taught by the student. To do this, the student must learn and understand how to speak to the computer in a language it understands – that is, coding!
Here is the agenda for that wee conference – which stands out as a highlight of my years.
Click these images for a larger view of the day’s sessions.
Current Notable Books you MUST Get
Invent To Learn: Making, Tinkering, and Engineering in the Classroom ******
This is a spectacular book by Sylvia Libow Martinez & Gary Stager. These pioneers have a long and significant history with kids and effective computing which places kids firmly in charge of invention and learning. The book suggests that ‘using technology to make, repair, or customize the things we need brings engineering, design, and computer science to the masses. Fortunately for educators, this maker movement overlaps with the natural inclinations of children and the power of learning by doing’.
From the Campfire to the Holodeck: Creating Engaging and Powerful 21st Century Learning Environments*******
David is also a pioneer in this field. He developed Calliope manyyears ago. It became Inspiration. He developed the Koala Pad. It was a precursor to the use of tablets. He suggests that ‘learning institutions should offer a balance of Campfire spaces (home of the lecture), Watering Holes (home to conversations between peers), Caves (places for quiet reflection), and Life (places where students can apply what they’ve learned)’. He wants schools ‘that encourage immersive student-centered learning experiences (Holodecks)’.
It is not sufficient to equate ‘being in charge of one’s own learning’ with ‘student agency’.
Hopefully, these stories will afford you two thoughts:
As we code with kids in 2013, we realize we stand on the shoulders of giants.
We must have our own deep reasons for wanting our kids to code.
Share your stories!
I suggested, at the outset, that my reasons include both ‘student agency’ and helping kids to deeply understand learning. It is not sufficient to equate ‘being in charge of one’s own learning’ with ‘student agency’. Kids can not be in charge of their own learning if they do not understand the intricacies of learning and, indeed how they learn in different circumstances.
Now, go and tinker!
*Mindstorms: Children, Computers and Powerful Ideas. Seymour A. Papert, Basic Books, 1980
**Transfering Knowledge with Technology, Peter Skillen, Learning & Leading with Technology Volume 30 Number 4 pp 22-27
The program will support initiatives providing educational opportunities for coding and digital skills development to Canadian youth from kindergarten to grade 12 (K-12). It also supports initiatives that provide K-12 teachers with the training and professional development they need to introduce digital skills, coding and related concepts into the classroom.
The program aims to equip youth, including traditionally underrepresented groups, with the skills and study incentives they need to be prepared for the jobs of today and the future. Canada’s success in the digital economy depends on leveraging our diverse talent and providing opportunity for all to participate—investing in digital skills development will help to achieve this.
How can I get involved? Where can I learn more about the projects?
The following links will get you started in finding out what each group is up to. Keep tabs on the sites and watch out for great learning for kids — and educators, too!
The Bruce-Grey Catholic District School Board and the Bluewater District School Board, in partnership with the Educational Computing Organization of Ontario, are pleased to host an #ECOOcamp for technology using educators.
The #ECOOcamp model is a unique combination of learning environments – a Microsoft Strand, a Google Strand, a Device Agnostic Strand, and an Unconference Strand. The format is designed to present learning opportunities for all educators.
The Educational Computing Organization of Ontario (ECOO) is embarking on a process to provide you, our membership, with increased support for integrating computational thinking (including coding/programming) into your curriculum. We realize that much has already been accomplished by individuals, school districts, the Ministry, and other partner organizations such as the federations and TeachOntario.
ECOO wants your input on what we might do as an organization to provide further assistance to you.
ECOO invites you to complete this survey which has two major components:
What do you, and your colleagues, need to effectively integrate computational thinking into your curriculum for deeper learning for your students?
What resources do you have, or know about, that you can share with your Ontario colleagues to meet that objective?
On December 12 beginning at 8pm, an #ECOOchat was held to let Ontario Educators talk about their experiences with this year’s Hour of Code. Our secretary introduced a new tool, Participate, for us. It easily gave us a chance to look at the stats of the chat.
Of course, we don’t know how many people were just following the hashtag #ECOOchat.
Those that participated made great connections and, if you missed it, you can follow the hashtag and catch up.
A3 We have used Dash (and more recently Cue), navigating a maze in the classroom and then working in teams to navigate the school halls #ECOOchat. We used Dash to send the Attendance folder to the office. https://t.co/eJrByU1lFd
Does the computer program the child or does the child program the computer? —Seymour Papert
[Updated July 2017]
I want to share my set of “coding to learn” outcomes. These are the things that I am looking for in children who are coding in educational contexts. These are the targets in my mind. To me, these represent the powerful learning potential in coding to learn.
“Coding to Learn” Outcomes
learning to express their creativity using coding and technology
learning to solve a variety of problems encountered in their projects
demonstrating a growth mindset (rather than a fixed mindset)
speaking mathematically to the computer/device through their coding
making exciting, personal ideas come to life through coding (this serves as the prime motivator for students to learn, play and push their coding skills further every day)
creating meaningful software applications rather than isolated chunks of code
actively learning from, and sharing with, others (face to face & online)
learning to visualize a process that accomplishes a task in their project
learning, practicing and refining the design process
reflecting on their thinking and learning in order to transfer to new challenges
excited about learning and exploring coding and technologies on their ‘own time’
But where is the curriculum in all this? That’s probably a great topic for a different post but I do strongly believe that, for example, the ‘math curriculum’ could be completely integrated within a year long series of programming projects by students. I firmly believe that, within a constructionist philosophy, all crucial mathematical concepts could be built via effective coding experiences.
Over time, my approach to introducing coding, and the way my student use coding to learn, has changed. I hope it has improved. The way I measure my success is how strongly I observe the above “Coding to Learn Outcomes” in my students.
Below I have tried to describe, in a concise way, the progression in the way my past students have learned to code and learned through coding. At the beginning of my teaching career in the early 90s, I admit that I saw computer programming as a skill and as a separate subject. When we explored programming in my grade 5 classroom, that is how I approached it and how students saw it. Over time, I’ve made many changes to my philosophy and my practice in order to get to the potential outlined in my “coding to learn” outcomes.
Most outcomes are NOT evident or VERY WEAK
Coding is approached like a separate curricular subject
Coding is not understood as a literacy
Taught as discrete lessons, teacher driven, skills based
Focus is “learning to code”
No integration with other learning, school activities, or students’ interests
Coding tools chosen by teacher are designed for programming, not learning through code
Teacher role is instructor and coordinates learning through series of lessons
Students learn to code within a linear instructional design
Assessment is based on coding quizzes and tests
Sharing or remixing code is seen as cheating
Outcomes that are in evidence are WEAK
Focus is still “learning to code”
Mostly skills-based approach, series of lessons or assignments
Coding not understood as a literacy or creative tool
Lesson-based but some time for exploration, some choice
Coding is a short unit, not integrated into other learning
Some effort to make learning to code more meaningful beyond just a skill
Use of coding tools with some effort to connect code to more meaningful things
Teacher role is instructor but encourages some student-chosen explorations
Some deliberate attempts to connect learning from coding
Assessment based on quizzes, test, and projects
Most outcomes are in evidence and STRONG
Focus is “coding to learn” rather than “learning to code” but both occur
Coding is understood as a literacy through which ideas can be expressed
Attempts are made to integrate coding activities into other learning and school endeavors but not to high degree (full potential is not realized)
Student-centered approach, student voice and interests are valued
Regular sharing of ideas and code is encouraged between students
Choices for students, coding challenges, longer term projects
Students are encouraged to solve problems together
Teacher role is coach, modelling growth mindset
Teacher reflects on expected outcomes vs. observed outcomes
Assessment based on teacher observation and student projects
Regular, deliberate attempts to connect learning and coding; learning through coding has authenticity to students
Regular, deliberate attempts for student to reflect on coding, thinking, etc.
Most outcomes are STRONGLY in evidence and ROBUST
Focus is “coding to learn” rather than “learning to code” but both occur
Coding is integrated into other learning and school endeavors
Coding is understood as a literacy through which ideas can be expressed
Students engage in long term projects / inquiries of learning through coding
Projects and programs arise from student interests and passions, teacher’s role is to help connect to curriculum expectations; student interest came first
Regular sharing of ideas with peers and online discussion
exploration and playing with ideas and code is actively encouraged and shared with peers
Teacher role is coach, modeling growth mindset
Teacher is co-thinker, co-coder, co-learner
Teacher reflects on expected outcomes vs. observed outcomes
Assessment based on teacher observations, conversations, interviews, student products, student surveys, and student reflections
Regular structures in place to connect learning and coding (using coding literacy in other aspects of school activities, meaningful, authentic use is primary goal)
Regular structures in place for student to reflect on what they are learning through coding experiences
Jim Cash is a Resource teacher in the Peel District School Board. He is a maker, learner, coder, blogger, podcaster and is driven to share ideas and innovations to help young people develop as creative thinkers, doers and makers.
Jim’s blog, Making Things … Learning Things … shares his learning about coding to learn, constructionism, creative learning, education reform, and empowering modern learners.
Jim also hosts a weekly podcast entitled Empowering Modern Learners. Jim is on Twitter at @cashjim.
As our Featured Blogger during the 2017 Hour of Code, Jim writes, “I am very much hoping that the “hour of code” activities in schools are only the beginning of a much bigger thing… and I am trying to encourage teachers to take the next step with students, and then another….”
We thank Jim for allowing us to share five of his favourite posts here for you.