Do kids really need to code?

At what age do kids need to learn coding? The net is awash with articles touting how important it is to have kids “start coding as young as possible”… or something in that vein. After years of saying kids need to get outside more and get more exercise, we are now saying they should spend more time indoors, learning to code. I don’t have a fundamental problem with the concept of learning how to solve problems by designing and writing programs. But the process of teaching kids to program is one that has to be well thought out – not a reactionary one.

What age? I would say no earlier than the 6th grade. Some people will say kids could learn way earlier than that – but writing programs is more than just writing pieces of code in some simplistic language. Kids also need to be kids – building things with Lego, running around outside, making cookies, building sandcastles. The mere act of doing these things helps children learn some of the core skills they will need later on: problem solving, and creativity.

What to teach? Programming isn’t all coding, there are many other skills: problem solving, designing and writing programs, testing programs, and making sure people can use the program in a useful way. Start with problem solving skills. Then progress to  designing simple algorithms – recipes for guiding how a program works. Then introduce the basic concepts of programming using a simple, yet realistic programming language.

What programming language? Programming languages are the building blocks of computer science. Without them, there is no programming. It’s possible to start with a bubble language like Scratch, or even a language which does graphics such as Logo. However the progression from “toy” languages to real ones should be short – it is not hard to introduce programming concepts using graphics in languages such as Python. Even Pascal is a good language for learning the basics.

What not to do? Don’t think of using languages such as Java, C, C++ or the like. They are complicated, and rely on a greater knowledge of programming concepts. Don’t teach object-oriented anything – it is not necessary for kids to learn. Don’t teach memory management.

What to expect? Not all kids will like programming – in fact some likely won’t. Teach programming in the wrong way, and it may turn kids off programming. Don’t push it on kids. I say this because not all kids will have an aptitude for programming, just like not every kid has an aptitude for learning a language such as French. If they have a bad experience, or find they don’t like it – they will learn to hate it. The adage that “everyone can learn to code“, may not be true.

But above all else remember that programming is NOT like playing video games (the exception to this rule may be writing “mods” for Minecraft).

 

Advertisements

One thought on “Do kids really need to code?

  1. codeinfig says:

    “I would say no earlier than the 6th grade. Some people will say kids could learn way earlier than that – but writing programs is more than just writing pieces of code in some simplistic language. Kids also need to be kids – building things with Lego, running around outside, making cookies, building sandcastles”

    why not have them code things for lego? the problem is that programming has gotten too serious. you dont need to learn how to setup a database application to play with code.

    “However the progression from “toy” languages to real ones should be short – it is not hard to introduce programming concepts using graphics in languages such as Python.”

    doing graphics (other than logo) is extremely painful in python. in the 80s, this was all you needed to draw a dot:

    * screen 9
    * pset (100,200), 5 ‘ draw a purple dot

    again, logo is easy enough, but its more for *drawing* than for graphics.

    but the real issue is that youre wasting the time up until 6th grade to introduce concepts that can be practiced in a completely playful environment. logo can be introduced five years earlier than that, no problem at all. should it be a daily task? not unless the kid chooses to do it everyday.

    why avoid play-coding for 5 years, just to hurry up and move as quickly as possible from play to serious code?

    “Not all kids will like programming – in fact some likely won’t. Teach programming in the wrong way, and it may turn kids off programming.”

    thats not going to magically change at grade 6. a slow and gentle transition with emphasis on play, not on serious code is helpful. then later when you need to teach serious concepts, you have something to build on.

    as for the importance, computers are too relevant to daily life to suffer another generation of computer illiterates. literacy isnt using applications, its the ability to read– and write– and comprehend. the way applications are taught, comprehension is avoided like its a bad thing. modern computer education lacks foundation, because modern design allows abstraction. but without that foundation and comprehension, users remain at the mercy of their own software. this is slowly being addressed, but still getting worse.

    the very good news is that there are easier ways to learn the concepts of programming (the concepts of computing) than there are to learn to read and write a natural language. lets use those on a similar schedule with reading and writing.

    apply your formula to reading and writing and you will see the flaw: coloring helps build motor skills that will help with handwriting. educational but fun phonics programs on tv at age 4 will help with reading at ages 5 and 6. playtime is the perfect time for stress-free skill building with no urgent expectations; dont throw those years away for such a vital 21st century skill that can and should be made accessible and understandable to everyone.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s