Looking back at 2015

January 12, 2016 by wendy

Students at David Livingstone coding their Scratch islands
Students at David Livingstone coding their Scratch islands

When we started offering Coding for Kids this past September, we didn’t know what to expect. Would teachers and students want to learn about coding in the classroom? It turns out that the answer is yes! And we’re so grateful for the support we’ve had from educators, community organizations, students, and parents. We thank you!

Coding for Kids in the classroom

Since September, we’ve visited 8 elementary school classrooms across Metro Vancouver, including:

  • John Norquay Elementary
  • Tomekichi Homma Elementary
  • Surrey Academy of Innovative Learning at Brookside Elementary
  • David Livingstone Elementary
  • William F. Davidson Elementary
  • Dr. F.D. Sinclair Elementary
  • George T. Cunningham Elementary

That’s 238 students, 50 coding sessions, and up to 72 hours of coding!

Hour of Code in the community

Hour of Code at Richmond Public Library
Hour of Code at Richmond Public Library

We also partnered with Richmond Public Library and Surrey Schools Community Schools Partnership to provide free after school workshops. We held 3 weeks of the Hour of Code where students tried different coding puzzles, tutorials, and projects. For many, it was their first hands-on coding experience.

What we learned

Students at Dr. F.D. Sinclair coding in Scratch
Students at Dr. F.D. Sinclair coding in Scratch

Students enjoy using code to express their creativity. They love designing personal projects and sharing their creations with others. They understand that coding allows them to communicate, and when their code doesn’t do what they want, they “keep trying and never give up”.

Students were engaged and excited with the program. Wendy and Sean gave them just enough information with each session to push their understanding and skills using Scratch. They continue to be excited and are ready to take what they’ve learned to create more.

Ms. Scott, Grade 4/5 Teacher

Teachers love that the program allows students to “express their creativity in a positive and engaging way” as well as “work at their own pace and to their potential”. In particular, students who struggle academically or are new to English are still able to participate, follow along, and create amazing projects.

The Coding for Kids Program was an incredible experience for my Grade 5’s and 6’s. There are several needy students in my class, both academically and emotionally, and this program allowed them to enjoy success at different levels. I have an ESL student that would barely function in the classroom, but when introduced to this program, was able to create an elaborate project which was enjoyed by the whole class

Mr. Lam, Grade 5/6 Teacher

Looking forward to 2016

For the remainder of the 2015 to 2016 school year, we’re excited to be returning to Homma and Cunningham Elementary, and to be visiting:

  • R.C. Talmey Elementary
  • Twelfth Avenue Elementary
  • Walnut Road Elementary
  • Saint Pius X Elementary
  • Maillard Middle School
  • William Cook Elementary
  • South Park Elementary

That’s 80 more sessions and over 100 more hours of coding!

In the community, we’ll be partnering with New Westminster Public Library and Burnaby Public Library in addition to our existing partnerships with Richmond Public Library and Surrey Schools Community Schools Partnership to provide free after school workshops. Please follow us on Facebook and Twitter to get the latest news!

On behalf of everyone at Marshmallow Coding, thank you for supporting our cause and helping us to give every child the opportunity to learn how to code!

Coding Curriculums: Part 4

December 29, 2015 by wendy

Computer Strands
Computing strands in A Guide for Secondary Teachers.

We’ve seen from the National Curriculum in England and their guide for primary teachers that computing consists of three main strands:

  1. Computer Science – How computers can be programmed to solve problems
  2. Information Technology – How computers work and how to use them
  3. Digital Literacy – How to use technology critically, responsibly, and safely

The guide for secondary teachers suggests that in key stage 3, children from ages 11 to 14 should shift their focus towards computer science, but that doesn’t necessarily mean more coding. Computer science is primarily about computational thinking:

  • Breaking down problems into smaller pieces
  • Recognizing and generalizing patterns
  • Abstracting details
  • Designing algorithms

Strategies for computational thinking can be demonstrated through unplugged activities without computers.

Model real-world problems

Truly understanding a problem means that you can model it in different ways. Ask your students to create representations of real-world, physical systems. For example, they could model the solar system, draw a map, or create storyboards that describe a process. Afterwards, ask them to consider how closely their models match real life and how their models can be used to make predictions.

Design algorithms

An algorithm is a precise list of instructions that solve a problem. You can design an algorithm in many ways, such as writing the steps down in English or drawing a flowchart. Have your students design algorithms to solve a specific problem and have them compare their solutions in terms of complexity and efficiency. They should see that multiple algorithms may solve the same problem, and that there are trade-offs with each solution, that is, there is no one right answer.

Study searching and sorting algorithms

Bubble Sort Visualization
Bubble Sort Visualization from VisuAlgo

Searching and sorting algorithms are well understood in computer science and reflect key aspects of computational thinking, such as pattern generalization and abstraction. Have your students execute linear search and binary search algorithms. For example, they could search for a specific card in a deck of cards or for a letter in a set of alphabet tiles, and then record each step using pencil and paper. To study sorting algorithms, ask your students to try different sorting algorithms on the same set of objects. In both cases, ask your students to compare the algorithms they tried in terms of complexity and efficiency.

Binary arithmetic

Binary arithmetic is another way to illustrate algorithms. Have your students convert binary numbers to decimal numbers and vice versa. Through this exercise, students learn that numbers can be represented in different ways as well as terminology, such as bit, byte, and nibble. You can also demonstrate how computers use numbers to store information. For example, a number can describe the colour of a pixel in an image. Have your students create bitmap images using squares to represent pixels and numbers to represent colours like colouring by numbers.

Computational thinking with computers

Even though many concepts in key stage 3 can be taught through unplugged activities, students should still have hands-on experience with programming and various technologies. In our next post, we’ll discuss what students in key stage 3 should learn when they have access to a computer.

Coding Curriculums: Part 3

November 18, 2015 by wendy

Learning Outcomes for Key Stages 1 and 2
Learning outcomes in computer science (CS), information technology (IT), and digital literacy (DL) for key stages 1 and 2 in A Guide for Primary Teachers.

In our last post, we dove into the National Curriculum in England and their guide for primary teachers, and we looked at how teachers working with children between ages 5 and 7 can introduce coding in their classrooms. This week, we move beyond key stage 1 and into key stage 2 to see what concepts and skills should be taught in classrooms with children between ages 7 and 11.

Reading and writing more complex programs

At this point, students use logical reasoning to not only predict the behaviour of simple programs, but also explain how they work and detect and fix errors. They also progress from writing simple programs to writing more advanced programs that accomplish specific goals. They need to break down their programs into smaller parts and use higher-level concepts such as conditionals, loops, and variables. For example, to build a game in Scratch, they need to create the background, sprites, animations, and sounds. They also need to use conditionals to implement the rules of the game and variables to track points.

Controlling physical systems

MaKey MaKey Product Photo: Play Doh Mario
MaKey MaKey Product Photo: Play Doh Mario by jayahimsa is licensed under CC by 2.0

Key stage 1 introduces the idea that computers are everywhere. They’re embedded in devices that exist in our homes, in our cars, and even outside. To provide further insight into this idea, students should have the opportunity to experiment with programming sensors, switches, motors, and lights. For example, students can use Scratch to control the motors included in the LEGO Education WeDo Construction Set. Another option is to connect the MaKey MaKey to a computer and use it as the controller for their Scratch projects.

Understanding computer networks

We use computer networks, such as the Internet, everyday, and so it’s important for students to understand how they work.

  • How are computers connected to each other?
  • How do they send information back and forth?
  • What do computer networks allow us to do?

When we use the Internet, we often use search engines to find information.

  • How do we use search engines effectively to find what we want?
  • Why are some pages ranked higher than others?
  • How do we know which sources are credible?

Putting it all together

Finally, students need to be able to combine their new skills and knowledge. They should use the Internet with a variety of software and digital devices, such as cameras and audio recorders, to create projects that accomplish specific goals. Most importantly, they need to understand how to be a responsible digital citizen, that is, how to stay safe online, and how to respect others and other people’s work.

Coding for secondary teachers

Next time, we’ll start looking at the guide for secondary teachers with a focus on children between ages 11 and 14 in key stage 3.

Coding Curriculums: Part 2

October 22, 2015 by wendy

CoderDojo Linz
CoderDojo Linz by Rainer Stropek is licensed under CC by 2.0

In the first part of this series, we began to explore the National Curriculum in England, which outlines students’ learning objectives in computing across four key stages from ages 5 to 16. This week, we take a closer look at the guide for primary teachers, and we focus on how teachers working with students between ages 5 and 7 can introduce coding in their classrooms.

Building the foundation

Key stage 1 builds the foundation for students. It is important for them to realize that we interact with computers all the time, not only at school, but also at home with our appliances, in our car, and outside when we cross the street. They should be aware that computers store information digitally as files, and they should be able to save, organize, manipulate, and retrieve files effectively.

Introducing coding

In terms of coding, students first need to understand that computers need precise and unambiguous instructions. They should have the opportunity to design their own algorithms or programs, sequences of instructions that accomplish a task. In most cases, their first attempts will have mistakes or bugs. Debugging, or fixing these mistakes in their programs, can be a chance for students to collaborate. In addition to creating programs, students should also predict the behaviour of existing programs to develop their logical reasoning.

Here are some tools that students can use to create their first programs:

Being safe

Finally, students will most likely be using the Internet. It is important to review with them how to use technology safely and respectfully, why they should keep personal information private, and where they can go for help and support.

Planning lessons

The guide suggests four different approaches for planning lessons.

  • Structure lessons around themes, such as computer science, information technology, and digital literacy.
  • Use a project-based approach that integrates topics from other subjects.
  • Adapt from existing lesson plans.
  • Use a student-centred approach in which students choose from a set of projects or design their own projects based on an overall topic.

Beyond key stage 1

In part 3 of this series, we’ll continue to explore the National Curriculum in England and their guide for primary teachers, and we’ll focus on the main elements of key stage 2.

Coding Curriculums: Part 1

October 14, 2015 by wendy

Students at Dimmitt Middle School learning to code
Students at Dimmitt Middle School by Jay Inslee is licensed under CC by-nd 2.0

In August, the CBC published an article entitled, Back to school: Canada lagging in push to teach kids computer coding, which discusses the international trend of making computer science a mandatory subject for all students. Educators in England and the US are teaching children not only how to use computers, but also how computers work. If Canada were to follow, then we should take advantage of the work that has already been done.

Over the next few weeks, we’ll explore coding curriculums that educators are already using today. This week, we’ll take a brief look at the National curriculum in England, which consists of four key stages.

Key stage 1: Ages 5 to 7

In this first stage, students are introduced to algorithms. They come up with lists of instructions and break down familiar routines, which can even be done without a computer. Eventually, they write and debug simple programs of their own, and use logical reasoning to predict the behaviour of programs.

Key stage 2: Ages 7 to 11

Students write more complex programs by incorporating concepts such as variables and loops. They also learn about computer networks, like the Internet. They explore how the Internet works and how they can use it effectively and responsibly.

Key stage 3: Ages 11 to 14

In key stage 3, students use at least two programming languages and experiment with concepts such as data structures and Boolean logic. They understand how computers are built, how they communicate, and how they store information. Students also have the opportunity to build creative projects that combine multiple technologies.

Key stage 4: Ages 14 to 16

Lastly in stage 4, students study an aspect of computer science in depth to help them progress to a higher level of education or professional career. They learn how to develop their capabilities and knowledge in computer science, and how to apply their skills in critical thinking, problem solving, and design.

Coding for primary teachers

Next week, we’ll take a closer look at the guide for primary teachers, which aims to help teachers, who work with children ages 5 to 11, get started with introducing coding in their classrooms.