Why Teach Computer Science in K-8? I Want Every Kid to Code by @mraspinall

Evey kid should learn to code because it teaches you how to think.
-Steve Jobs

Yesterday I had a bit of a flashback. Our VP’s niece is currently studying Physics at Laurentian University whre it is mandatory for her to take a Java programming course. I am happy to hear that ‘real’ computer science is becoming mandatory in other disciplines. I say ‘real’ because when I went to school non CS majors usually took “An Intro to Computer Science” which was about file structures and spreadsheets. Seems a lot has changed…for the better. Her program had to parse a binary string, determine it’s length and convert it to decimal. Seems they were beginning to learn about loops. She already knew of the built in functions like ‘length’ and ‘substr’ so off to the races we went. I hope I was some help for her. It’s been a while since I wrote Java.

Fast forward eight years from my University days and here we are with me writing about getting kids to code from their first day of school at 4 years of age. “Coding” in kindergarten certainly doesn’t involve syntax or looping but could definitely include them explaining their basic routines for a task as an algorithm or procedure in that it is sequential steps.

“Not everyone is as techy as you” gets thrown at me often. It’s an unfair statement and usually serves as a justification to NOT be implementing some form of technology in someone’s classroom.

Teachers don’t have to be “techy” to incorporate tech. It’s OK to learn alongside your students. Same principal applies to Computer Science.

This document has this to say about Computer Science:

Computer science education is strongly based upon the higher tiers of Bloom’s cognitive taxonomy,
as it involves design, creativity, problem solving, analyzing a variety of possible solutions to a
problem, collaboration, and presentation skills. Through studying computer science, students
develop and extend logical thinking and problem-solving skills. These skills can then be applied to
real world problems—mathematical and otherwise. Further, students who take on high school
computing classes and have previous experience with technology demonstrate improved readiness
for postsecondary studies

Computer science underpins the technology sector, which has made tremendous contributions to the domestic economy, as well as numerous other economic sectors that depend on innovative, highly
skilled computer science graduates. Computing touches everyone’s daily lives. Securing our cyber-infrastructure, protecting national security, and making our energy infrastructure more efficient are
among numerous issues dependent on computing, computing literacy and a strong computing
workforce.

We consider it critical that students be able to read and write, and understand the fundamentals of mathematics, biology, chemistry and physics. To be a well-educated citizen in today’s computing-intensive world, students must have a deeper understanding of the fundamentals of computing as well. It is crucial that public education take on this charge.

To begin, I would suggest that junior intermediate teachers have a look at scratch.mit.edu. It is an open source of coding goodies made by students from all over the world. If you are studying 2D Measurement in math, have a look there for a calculator app – I guarantee it exists.

Computer Science incorporates numeracy and literacy quite naturally and adds that extra layer of critical thinking to routine assignments. Let us have a look at probability for example.

Traditionally we have students flip a coin when exploring experimental probability. They record heads or tails in a T chart and construct the simulation over and over again. The teacher usually discusses theoretical probability and wants students to realize that the more times they flip said coin, the closer the experimental and theoretical probabilities become.

I challenge these math teachers to have kids code this simulator – or look for an existing one in Scratch. Kids can run (and code) their simulator to run as many times as they wish in minimal ‘real time’. What I mean to say is that you can code your simulator to run 1000 times in a matter of seconds. The relationship between experimental and theoretical probabilities becomes quite clear – and almost immediately.

The above example is just a small glimpse of the power of CS in elementary. In a Science class you could have kids code the behaviour of particles in each state of matter. They would definitely be demonstrating their understanding of the particle theory if their gas particles moved faster than their solid particles in their simulation.

If you are interested in a quick lesson from me – or a hands on tutorial, shoot me an email. I would love to share more over a Google Hangout or Skype session. I’d even go as far as to teach a lesson to your class, remotely.

TGIF, folks!
-B

(Visited 730 times, 1 visits today)

2 Responses for this post

  1. Brandon Grasley
    Brandon Grasley
    | |

    You know, I just write a small application to simulate rolling a die for my MDM4U class. I wasn’t thinking of them as being able to do that in their own, and I see now that I made a mistake. I’m changing my plans for next week. Thanks!

    Reply

Leave a Reply

Name
Name*
Email
Email *
Website
Website