If you haven’t already, you should take a read of this article from the Globe and Mail.
While at it, it’s worth following a couple of the links that link to supporting documents from consultants.
Then, you should stop and ask yourself “How could they get it so wrong?”
I would suggest that the reason lies with education.
I remember the advice given to me from a superintendent once.
“Not only do you need to understand why you do something, but you need to be able to completely explain it to someone else.”
In reading the article and the supporting documents, I think this is a perfect example of it.
Somewhere along the line, these people have got the impression that education is teaching coding for the sake of coding. If that was true, then they might have a justifiable position. I mean, how many times have we heard tripe like “Coding is a 21st Century Skill” or “We need to teach coding as a skill that will help our Grade 3 students get a job” and the conversation stops there.
As a Computer Science teacher, I get contact with former students who have indeed gone on in the industry and have been successful. I’m quick to apologise for the primitive tools and programming languages that we had at the time. They’ve all been equally as quick to respond that that wasn’t what mattered. What truly mattered was the problem solving, the group work, the enthusiasm to see a project in progress and the excitement when it was done.
Of course, they’re right.
Put into today’s context, any teacher or other educational leader should definitely be challenged if their message is that coding with Scratch or other educational language will provide students with the programming skills to land a job.
Done properly, it should be so much more.
Let’s look at the messages that need to be sent when asked:
- Coding will indeed be a factor in everyone’s life from the Internet of Things connected refrigerator to the Smartphone to your next car to the tools that you will be required to master for your job(s) to the most powerful computer. A person who knows how to control these devices will be successful
- Coding provides another important tool to help students succeed in the classroom with mathematics, story telling, safe science experiments, societal connections and issues from around the world, and so much more
- Coding gives student authors the ability to add life to a blog post or article and truly use this new media to make it pop, not just a simple transference from paper to electronic text
- Coding demonstrates first hand the power of collaboration, group work, research, trial and error, debugging, and so many other tools that we value in our graduates
- And, yes, Coding lets a Grade 3 student write instructions on a computer to tell a connected robot to draw a pattern
If none of this resonates, then consider the opposite. How successful will a student be in life and career without these skills?
Just recently, I’ve had a conversation with good friend Peter Skillen who reminds us that not only should all of us be “Learning to Code”, we should be “Coding to Learn”. Ironically, I just happened to wear my 2011 Minds on Media T-Shirt yesterday and that advice was emblazoned on the back.
The Big Idea in all of this should be that we want students prepared to take charge of the technology that will be such an important part of their future. Coding is one of the tools that will make this happen.
Let’s make sure that this is the message that people are hearing.
As a kid, I always liked the fact that my birthday was during the summer. That way, I didn’t have to be the centre of a party in class and all that goes with it. I’m not the type of person that enjoys that sort of thing.
Now, it’s kind of cool that social media knows my birthday and takes the opportunity to say “Happy Birthday”, and I appreciate that.
My quote of the year comes from my friend Tammy who had a T-Shirt with this on it.
If you don’t get it, have a gamer explain it to you.
Anyway, the concepts of birthdays gets really interesting when you turn to birthdays and mathematics. There’s a very famous problem; the “Birthday Problem“. It’s pretty heady stuff involving probability and so generally doesn’t appear in mathematics until a good background has been established.
But, it’s one of those things that let you discuss mathematics without necessarily writing a proof for the problem. It boils down to the probability or chance that two or more people in a group will have the same birthday.
It’s also the stuff that Computer Science teachers love to give out as a problem. You can work up to it. For example, give a program your birthday and have it determine what day of the week you were born on (don’t forget leap years). If you’re not up to writing the code, check this out. Even if students aren’t ready to write the code, it’s the sort of activity that inspires thinking about how a computer might be programmed to solve the problem.
Back to the Birthday Problem. It’s something that’s quite surprising in real life. In our department of about 30, there were three of us who had the same date for a birthday (that I knew about). It’s still surprising when you consider that there are 365 days in a year. Surely, there’s enough elbow room there that there would be no duplicates! It’s a reality for teachers. In any class, there always seems to be students who share the same birthday. Even more interesting, because of sample size, they share the same birth year! Stepping back, you see it again if you’re trying to ride herd on a homeroom during morning announcements which always seem to include a long list of Happy Birthday wishes. In a school with 1,200 students, it only seems reasonable that there might be three. That never seemed to work out!
The mathematics behind the Birthday Problem is interesting. You can read the details here. Or even here. I can recall having one of those off-the-cuff discussions with a student about it and he thought that he’d write a program to simulate it. Neil, if you’re reading this, did you ever finish it?
If not, here are a couple of online efforts …
Coders of all ages are going to like this!
We all hear about how students get engaged learning to code by programming their own games. That can sometimes be a challenge for the student learning coder and/or the teacher trying to stay attuned to the best in coding and generating ideas.
So, check this out. – Blockly Games.
Pick a starting point and you’re off.
At the time of the screen capture, you’ll see that I had worked my way almost all the way through the Maze option on this computer. (To be honest, I spent lots of time and enjoyed them all. I hadn’t thought about blogging about it until later.)
The Maze option has 10 different levels and challenges. As you would expect, they start pretty easy and then get challenging.
Here’s my solution for Level 9.
Just a warning before you click through and get started. This is from experience. This is really addicting. And, I do have a solution for level 10 that’s reasonably priced.
Where I’d see immediate use of this…
- with beginning student coders to learn the principles of a block coding environment
- as an environment to get a coding club off to a great start
- as part of an understanding of computational thinking
- with teachers who are learning or refreshing their coding skills
- with older students who already know some coding, as a start of year activity to get the coding juices flowing
Got an idea of your own? Please add it to the comments below.