Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How would you feel if basic level programming skills were taught in elementary school? Would kids not be up to par with what programming demands, brain capacity wise? Would it help the kids with maths and other similar classes, or even be worth it for kids who have no interest in the field.

share|improve this question

closed as primarily opinion-based by MichaelT, gnat, GlenH7, psr, Bart van Ingen Schenau Jan 24 '14 at 12:49

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers 4

up vote 7 down vote accepted

I think that, for the most part, they are already taught many of those skills in disguise.

Interestingly, cooking/baking has some pretty solid parallels with programming:

  • There are often rigid steps (recipes)
  • There are pre-requisites for certain steps (pre-heat the oven to 400F)
  • There are parallel tasks with joins (while the oven is heating, mix the ingredients)
  • Substitution of ingredients
  • Copious amounts of measurement in differing systems ("spoons", volumes, etc.)

Things of that nature serve many purposes: They teach real-life skills, they teach programming, math, natural language, co-operation and lots of other skills.

Pure programming at that age might be too abstract for a young mind to really wrangle it. Lots of kids have problems with the abstract nature of algrebra/variables as it is. I think adding something as abstract as programming would compound those issues.


The bonus is: when it's over, there's cookies.

share|improve this answer
+1: good analogy with the baking –  HorusKol May 25 '11 at 23:56
I like your comparison to baking! –  Matt Bettinson May 26 '11 at 0:04
@HorusKol and @Matt Bettinson: I can't take the whole credit for it. I used to admin the Masters of Education video conference classes at my university when I was in school. One course in particular was about 'natural education' or something like that. The TL;DR for that course was: do stuff with your kids and they'll learn all kinds of things. –  Steve Evers May 26 '11 at 0:14
@SnOrfus: "do stuff with your kids and they'll learn all kinds of things" that's probably the smartest thing I've read all week... –  HorusKol May 26 '11 at 0:33
+1 for cookies as the result. –  hotpaw2 May 26 '11 at 0:38

Kids differ in interests. But elementary schools in the past have had some success with stuff like Apple II's (or BBC equivalent, et.al.) with Basic or Logo. Some kids take to programming with easy robotics stuff such as Lego Mindstorms. Helps to have the programming result in a completely non-abstract result, such as producing fart sounds, and other fun stuff.

share|improve this answer
I learned BASIC and LOGO at age 8. It was a blast. Being that I'm old, the cool thing was drawing E.T. in LOGO. :) –  bethlakshmi May 26 '11 at 14:39

While pre-teens might be a bit wrong to be introducing them to computer theory, program design, and patterns, I don't see a problem with given kids some simple programming exercises. I was about 7 or 8 when I started mucking about with basic on a ZX Spectrum, and the schools I went to all had BBC or Acorn computers (British teaching computers part-funded by the BBC).

Kids will probably pick up a lot of the functional side of programming pretty quickly, and then when they're a bit older you can start introducing patterns and object-oriented design.

share|improve this answer

According to psychological research, our ability to engage in formal abstract thought is acquired in puberty. Programming uses formal abstract thought very heavily, and therefore it would not be appropriate to try to teach a lot of programming until adolescence.

That said, people both can and have successfully taught programming to much younger children. Examples of programming languages that were developed for this purpose include Smalltalk and Logo. However a lot of what we consider important about good programming and debugging technique has to wait for the students to develop the necessary maturity to learn it.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.