Monday, 15 December 2014

Pair Programming: The Power of Collaborative Learning

When exploring computer science and coding in the classroom pair programming can be a powerful strategy for all learners. Students bring their strengths to the partnership and help each other learn. Together they build problem solving, collaboration, communication and critical thinking skills. As students learn to code, bursts of excitement and frustration become opportunities for perseverance and creativity.

In many classrooms during the Hour of Code, we borrowed from the Pair Programming strategy and had students work together at one computer. Students formed a partnership with a “driver” that controlled the mouse and keyboard while a “navigator” made suggestions, searched for errors, and asked questions. The partners switched roles back and forth during the coding activity (and we set a timer to remind us when to switch). This required fewer devices and allowed us to engage all of the students in the classroom at one time.

As students worked together on solving the coding puzzles we encouraged them to talk through the tasks, ask each other questions and discuss the feedback from the Code.org program. This helped students to break the problem down into smaller more manageable pieces. It was amazing to listen and learn along side the students as they justified their solutions to each other. 

At the end of the hour, when I asked students to reflect on their learning they talked with great enthusiasm about how they were able to solve the puzzles.Then I asked about how they felt and what they did when their code didn’t work. One student told me that he felt mad but then his partner suggested (based on reading the feedback) that they try the repeat block. The pair looked for a pattern and then further applied their mathematics knowledge and understanding of multiplication using a repeat loop to solve the puzzle. 

Not every pair of students worked as cooperatively during the coding task but it was an authentic way for students to use and develop their collaborative skills. Also, it provides the opportunity for conversation and reflection around learning together.

Wednesday, 10 December 2014

Learning How to Program with Scratch

Learning How to Program with Scratch


If you are interested in learning to code and create with Scratch, here are a few resources that will help you on your journey:

Check out the ScratchEd online community for Educators, the Scratch curriculum guide provides an introduction to creative computing with using a design-based learning approach and the Resource page has tutorials, webinars and a getting started guide

2) Getting Started with Scratch
Students (age 8 and up) learn the basics of programming with Scratch by making the cat (called a Sprite) move, make a sound, change colour, and dance. They learn how to add an additional sprite, add music and a new background to the stage. It is important that students follow the steps in the animations and read the instructions as they progress or it can become confusing. Once students are comfortable with the basics they might want to try exploring projects other students have created and thinking about how they can rework or add to them. Or challenging themselves to find a coding error in Debug It - Week 1 and Debug It - Week 2

3) Scratch and the Hour of Code
Get creative with coding and learn how to animate your name, design a holiday card or create a pong game. 

4) SnapCoding.com
If you have access to iPads, try www.snapcoding.com and learn with Scratch through the webbrowser (no app required). I first came across SnapCoding on Brian Aspinall’s website along with a variety of additional coding resources.  Brian has created a variety of video tutorials using Scratch on his YouTube channel. Here is an example:


The Scratch Jr App is free on iPads and Android tablets designed for students aged 5-7. When you first open the app you can select the house to start a new project, the question mark to see an intro video and sample projects or the book in the top right corner to see the guides. Check out the Scratch Jr website for activity ideas and copies of the guides

6) Learning How to Program with Scratch by Pluralsight
Created by Dr. Joe Hummel, this free sequence of tutorials shows videos and gives tasks that learners can complete individually or in pairs. This is a comprehensive program for upper junior and intermediate students to work through collaboratively that reviews the basics of Scratch and coding. It begins by talking about why we should learn programming and asking you to download Scratch to your computer. If you are using a school computer Scratch is already downloaded but I recommend using the online version of Scratch. If you want students to save their work they will need to create an account. This is a great opportunity to review digital citizenship and online safety.

Friday, 5 December 2014

Getting Started: The Hour of Code in Your Classroom or School

Code.org has a wide variety of resources for getting started with coding and learning computer science. Read and print a PDF copy of the steps for Getting Started with the Hour of Code.

Step 1: Read the Hour of Code How to Guide

Step 2: Determine your technology needs - Computers are Optional
  • Will you have access to computers? iPads? BYOD?
  • Do you have enough for 1:1? If not, use pair programming. When students partner up, they help each other and see that computer science is social and collaborative.
  • If you don’t have access to devices, try the offline unplugged activities.

Step 3: Select your Tutorial or Activity to try one hour of coding.
  • Having a go before your students will  build your own knowledge and give you an idea of what they will experience. 
Our recommended activities sorted by device and grade:
Activity
Grade Level
Computer
iPad
Unplugged
Completely visual and picture based, this course allows student to match pictures without reading.
K, 1, 2
Yes
Yes (through a web browser)

K, 1, 2

Yes

Scratch Jr App (it is also available on Android for your BYOD students). When you open the app it is not clear what to do. Learn how to use the app here and find activities and assessment ideas on the Scratch Jr website.  
K, 1, 2

Yes

K - 8


Yes
Code.org’s Hour of Code Activity for beginners and Teacher Guide Reading and applying the given feedback is important especially if students are working independently. Having students work collaboratively in partners on one computer helps them to work through the challenging puzzles. When students have completed their Hour of Code print a certificate.
2 - 8
Yes
Yes (through a web browser)

Course 2 - Reading required. Designed for students that can read with no prior programming experience.
3 - 8
Yes
Yes (through a web browser)

This course is long, and include many of the code.org activities. More appropriate for upper junior or intermediate students who work quickly and will move through several stages to the more advanced levels.
4 - 8
Yes
Yes (through a web browser)


Try a lesson created and tested in the classroom by our Coding Collaborators team: Kindergarten, Primary, Junior, Intermediate, Secondary or try one of the code.org unplugged activities.

Step 4: Start your Hour of Code
  • Direct Students to the chosen activity.
    • If your students run into difficulties try these strategies from Code.org:
      • Tell students, “Ask 3 then me.” Ask 3 classmates, and if they don’t have the answer, then ask the teacher.
      • Encourage students and offer positive reinforcement: “You’re doing great, so keep trying.”
      • It’s okay to respond: “I don’t know. Let’s figure this out together.” If you can’t figure out a problem, use it as a good learning lesson for the class: “Technology doesn’t always work out the way we want. Together, we’re a community of learners.” And: “Learning to program is like learning a new language; you won’t be fluent right away.“
  • If students finish early have them try another activity:
    • Frozen - Use code to make Elsa skate, and watch the pattern she creates.
    • Play Lab- Use code to make the dog speak and move.
    • Flappy Bird- Use code to make flappy fly towards the target.

Thursday, 4 December 2014

What Most Schools Don't Teach


Learn about a new "superpower" that isn't being taught in 90% of US schools. A great video to show during Computer Science Education Week. 

Tuesday, 2 December 2014

Coding to Learn: The Benefits of Teaching Kids to Code

Coding is for everyone! ~ Mitch Resnick of MIT Media Lab and creator of Scratch



Coding in Scratch opens up new opportunities for learning in the classroom and beyond. Mitch Resnick and his team at the MIT Media Lab designed Scratch for people to easily create their own interactive stories, games and animations and then share them with one another.

In his Ted Talk: Let’s Teach Kids to Code, Mitch says that young people today have lots of experience and familiarity interacting with new technologies (texting, playing video games, browsing the internet) but that doesn’t make them fluent. To be fluent with technology students need to go beyond consuming and become creators. He links this with reading and writing by saying that students are often comfortable “reading” new technologies but that they need to learn how to “write” with new technologies. They can do this by learning to code and writing their own computer programs!

Coding is the language of computers, it is how we tell a computer what we want it to do.
Expressing ideas through coding doesn’t have to look like endless lines of numbers and letters, we can learn to code using programs like Scratch (or see these coding resources). Scratch uses graphical programming blocks (or simple instructions) that snap together to create a sequence of actions that control your characters. It’s almost like building with Lego. After they create a program, kids ages 8 and up can share their projects on the Scratch website for other people to see and even revise.

When you learn to code it opens up opportunities for new learning in an authentic context. Students can learn concepts like variables in a meaningful way that is relevant and interesting, which helps the learning to stick. Through coding students can learn about experimenting with new ideas, how to take complex ideas and break them down into simpler parts, how to collaborate with other people on projects, how to find and fix bugs when things go wrong and how to persevere when things aren’t working well. These skills are relevant for learning to code AND for coding to learn.

Give coding a try at Scratch.mit.edu.


The Hour of Code