January 12, 2016 by wendy
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!
Since September, we’ve visited 8 elementary school classrooms across Metro Vancouver, including:
That’s 238 students, 50 coding sessions, and up to 72 hours of coding!
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.
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
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:
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!
December 29, 2015 by wendy
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:
Strategies for computational thinking can be demonstrated through unplugged activities without computers.
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.
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.
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 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.
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.
November 18, 2015 by wendy
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.
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.
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.
We use computer networks, such as the Internet, everyday, and so it’s important for students to understand how they work.
When we use the Internet, we often use search engines to find information.
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.
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.
October 22, 2015 by wendy
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.
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.
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:
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.
The guide suggests four different approaches for planning lessons.
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.
October 14, 2015 by wendy
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.
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.
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.
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.
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.
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.