Getting the right tools

We were watching the 6 o’clock news last night when this story came on.

Small Windsor school – big Best Buy grant to support Lego robotics team

First off, kudos to the team and coach from M.S. Hetherington Public School for applying for the grant and for their success in reaching the provincial robotics championship this year. In the article, they talk about using a block programming language and in the video on the news, you could see that they were using Scratch.

It’s an appropriate language for this purpose and encourages learning and the ability to grow coding skills.

If you go to any computer conference, you’ll see a number of different types of sessions dealing with Scratch. The presenter will tell you that any device will work for the programming although typically they have some high end computer to demonstrate what they’re talking about.

There was one part of the article above that leaped out at me.

“You do block coding and the bigger screen that you can use, the more of the code you can see,” says Stoffle.

Consequently, part of their grant money will be to purchase three laptops for the actual coding. With smaller screens, you end up forever scrolling up and down as you write and debug things. If you’ve ever worked with Scratch, you’ll know what I mean. You end up being strategic about placement in the workspace – once you’ve located the right piece of code. It’s doable but can be time consuming.

The fact that this makes the story is telling. In a rush to buy technology for schools, often the less expensive solution can often be appealing as you can buy more units of technology for the amount spent.

Despite these challenges, the students were able to succeed. Imagine how much more productive they could be with the right tools. That needs to be part of any strategic planning process.

There are lots of things that work out fine with a smaller screen, but involved programming projects aren’t one of them.


More than a language

When I read the title to this article and then its content, I’ll admit to being completely astounded.

China bans Scratch, MIT’s programming language for kids

The first step was to do a fact check and see if there were other news media reporting the same thing. Yes, there was. I looked at Scratch’s website and there was no official announcement but lots of discussion happening in the forums. The original article indicates some of the reasons why the Chinese government made the decision to block. Some of the visitor comments to the post are sadly racist and hurtful and I’m sure would only serve to convince the government that they had made the right decision.

A few years ago when I co-chaired the Bring IT, Together Conference, there were all kinds of session submissions dealing with Scratch. My co-chair Cyndie and I joked that if it wasn’t for Scratch, we might not have a full schedule for the conference.

Scratch is undoubtedly one of the very best implementations of a block coding language. It’s not the only one – I think I first started with Blockly and there are many others, nowadays built for programming a connected device.

To be honest, many conference sessions are focused on the nuts and bolts of the language and getting it to do neat things. Often, they miss the mark for teachers which is how to teach with Scratch. Big difference. I’ll refer people to the University of Northern Iowa’s course Intro to Programming with Scratch. Facebook page here.

The latest big thing here in Ontario is the inclusion of coding in the Mathematics curriculum. I know that many educators see Scratch as the answer to various parts of that challenge.

Therein lies one of the biggest concerns. This wouldn’t be the first time that China or a Chinese business has created a similar product. They’ve even created their own form of Google.

I would suspect that making a programming language similar to Scratch would be relatively easy. As noted above, many companies have created their own drag and drop languages.

The whole Scratch experience is much more than that. Things around the language would be much more difficult to build from scratch. (sorry)

  • a community of educators who have developed resources and skills for teaching Scratch
  • an online community to develop your own Scratch applications and testing – no downloads required
  • the ability to develop code and then share it with others so that they may remix it for their own purposes
  • the ability to bring external resources into your own product
  • a network of support for parents of students using Scratch
  • a wealth of tutorials, and ideas for inspiration
  • research into action project from the Lifelong Kindergarten Group at MIT

I can see how a new language could be easily developed but it’s the wealth of things around that language that will be tough to replicate, if that’s the plan.

Coding for Young Mathematicians

I summarized my thoughts about Lisa Floyd’s presentation at the Bring IT, Together Conference like this.

Calculators are successful in Mathematics not because we learn how to write the code to create a calculator but because we use it to get a deeper understanding of non-trivial Mathematics

When I saw this in the program, I knew that I wanted to attend. Lisa has been doing a great deal of research into Mathematics and Computational Thinking and was a keynote a few years ago. I didn’t know what to expect but I was hoping for something other than a “Let’s do something cool in Scratch and then try to tie it into Mathematics or some other subject area”.

I wasn’t disappointed.

I’ve attended many a session like I described above. I always enjoy them (despite the sarcasm) but I always wonder about the claims of how students all understand coding and Mathematics as a result. Is that really true?

I was hoping that this wouldn’t be another like that. Plus the fact that she mentioned Scratch AND Python was intriguing.

As she notes, “Ontario does not have coding in K-8”. Of course this is true but we sure have all kinds of Mathematics! She gave us a number of different examples featuring Geometric Art, Gtowing Patterns, Plotting on a Grid, Probability, … In the presentation, she gave us lots of examples and talked us through the process that she uses.

None of the examples started with a blank screen! She stressed the concept of having students remix her content. By running what she distributes, the students see a Mathematical concept and then their understanding is pushed and enhanced by working with the code to make things something better.

Her approach is very visual by showing the results of the program and then takes on the Mathematics concepts. Tweak this, change that, what happens when you do this? How can you make the output look like this. The primary focus was purely on the Mathematics and the coding was secondary. It was a refreshing approach.

Lisa’s approach was cemented for me on the Friday. I attended a session where we were programming robots using a drag and drop language specifically written for those robots. We were to program them to do a task without knowing just what was happening. Often the tool that we needed was in another menu and we were encouraged to try some numbers to see how far in one direction we could make it go. Turning wasn’t a matter of turning 90 degrees, but applying force onto one wheel going in one direction while the other went in the other direction. We eventually figured it out but lost considerable time in the process. There were something like six groups in the room and nobody got the right answer; some were closer than others. Lisa’s concept of remixing would have fit right in.

I really do like her approach. I made myself another note…

Instead of debugging the program, she could spend time debugging the Mathematics involved…

You can check out some of the examples she used, in Scratch, on her website. Type the URL correctly; Lisa notes that a person with a similar spelling as chosen a different career path.

I had an opportunity to interview Lisa. You can read it here.

Coding to learn

I’ve heard many people talk about the difference between “Learning to Code” and “Coding to Learn”. In many cases, it’s just a cute little expression and the different between the two really isn’t fleshed out.

At the CSTA Conference, I had a really good opportunity to see the difference in action – although it wasn’t really fleshed out but you knew it if you were there.

The workshop was:

Integration CT+X: A Workshop to Plan Your Integration Activities
(Link takes you to the complete program)

I ended up there by chance. I was only supposed to be in charge of volunteers but our Proctoring Chair sent out a panic email looking for people to proctor so I said “Put me in coach”.

I read the workshop descriptor and the bio of Andy Isaacs from the University of Chicago who was supposed to be a co-presenter but ended up doing things himself.

The workshop used Scratch but we did anything but learn or program in scratch. Instead, we were focused on learning activities that had us modifying existing code as we were learning curriculum concepts.

From CanonLab, we dug into a couple of activities that made “See Inside” come to life because it was there that you were working to make things happen.

You’ll have to register for free access to these and all of the materials.

Many of the principles addressed are outlined in the Everyday Computing document.

Bottom line – what started as something that I got volunteered for, which I’d hoped might be a place to take the load off my feet for 3 hours, turned into a fascinating and eye-opening experience for me.

A Scratch curriculum

I found this particularly interesting. Yes, there are all kinds of Scratch resources available if you take the time and effort to find them.

Unfortunately, so many of them are single activities that have been done so many times or they’re a cutesy little activity that has no beginning, middle, or end. They’re neat activities in themselves.

If you’re looking for a curriculum, a continuity, then these resources from the Canon Lab at the University of Chicago may be just what you’re looking for.

Scratch Act 1

Scratch Act 1 is an introductory Scratch curriculum consisting of 4 modules, and about 10 hours of instruction. Module content is from SFUSD’s Green Workbook.

Action Fractions

Action Fractions is an integrated mathematics – computational thinking curriculum, designed using Everyday Mathematics. This course focuses on 3rd and 4th grade fractions instruction, providing 10–12 hours of instruction per year to augment any existing mathematics curriculum.

Scratch Encore

Scratch Encore is an intermediate Scratch curriculum organized into 14 modules, of 2-3 lessons each, to be completed across multiple school years.

Access to the resources requires a registration and a commitment to not sharing the resources further and respecting Creative Commons licensing.