<p>A lot of kids learn some sort of crafting, be it paper cutting, origami etc.</p>

<p>Without citing any sources, I'd say that it seems that teaching forms of creation building and creation are crucial for the development of the kid.</p>

<p>Nowadays, there is a new way to build things: you get a general purpose <em>thing</em> and you <em>program</em> it into solving your specific task/problem rather than building the <em>thing</em> you specifically need. It's a simple change of perspective, a different way of building and creating.</p>

<p>Any type of creation requires some skills, be they motor skills in crafting or painting, problem solving (e.g. how to mix colors to get a certain nuance), etc. Every activity involves different aspects of this and programming focuses on developing the analytical skills and problem solving skills. Which are very much transferable to many other activities.</p>

CC BY-SA 4.0
2019-11-29T11:47:18.213Z
2019-11-29T11:47:18.213Z
Paul92
<p>After I learned programming, all other topics suddenly became much easier. Math especially, but also literature, philosophy, psychology, chemistry and so on.
Not only does programming helps unlock a sort of "meta-thinking" even when you're <em>away</em> from the computer, it also helps you build practical tools. I remember writing small toy programs to help me understand math and geometry concepts I was struggling with, such as perspective and polynomials.</p>

<p>A lot of people see math as a prerequisite to programming. But I think it's the other way around. They help each other, in a braid. A well-applied concept from discrete mathematics can save you hours of CPU cycles, but, experience with a programming language interpreter can make you quickly understand concepts in math or other fields.</p>

CC BY-SA 4.0
2019-12-01T12:23:29.780Z
There are places where math and programming overlap, of course, but they really are different modes of thinking. Either can contribute to the other, as you say, and especially where they overlap. And you are certainly correct that math isn't a prerequisite.
Buffy
CC BY-SA 4.0
2019-12-02T13:29:53.410Z
Programming immanentizes manipulation of symbols♥
Sandra
CC BY-SA 4.0
2019-12-02T13:34:25.690Z
That should be on a sweatshirt, I think.
Buffy
CC BY-SA 4.0
2019-12-01T09:23:35.917Z
2019-12-01T09:23:35.917Z
Sandra
<p>Well, I'm gonna to talk about my sister's experience...</p>

<p>When my sister was seven years old I taught her how to program using Scratch.  When she was nine, I taught her how to use <a href="https://appinventor.mit.edu/" rel="nofollow noreferrer">AppInventor</a>.  Now she doesn't program any more, but she understands the basic concepts about computer science.</p>

<p>She's able to use some advanced resources, like <code>bash</code>, and she's able to understand  most of the articles about the internet of things and news about technology.  With this she's also able to talk with our parents about our network problems.</p>

<p>I think this knowledge is important to children because it is the future, and when I was her age I would have liked to learn these things.  If I had learned computer science by her age I would probably be exponentially smarter now.  But I want my sister to learn this now because I want a better future for her.  </p>

CC BY-SA 4.0
2019-11-30T03:34:15.537Z
2019-11-30T08:36:56.377Z
2019-11-30T08:36:56.377Z
Arthur Siqueira
<p>I fell in love with programming when I was 6 years old and today I am a senior developer who still loves programming. I have had almost no formal training, and I have worked with a lot of formally trained developers who couldn't program their way out of a paper bag, possibly due to starting to learn programming as an adult.</p>
<p>The fundamentals of programming logic don't change although individual languages change very quickly and there will be many new programming languages invented by the time a 6 year old graduates. I can read code written before I was born, and as long as I understand the language, I can follow the logic. The world is getting more technically literate, so without a little familiarity with logic, computers and smartphones are just magic devices that often work, and bizarrely misbehave.</p>
<p>This is not to say that all children should be expected to grow up to be programmers, nor would that be a good idea! It's the same as everyone having enough first-aid knowledge to not need to make a doctor's appointment for a scratch, and more importantly, to be able to decide when they can fix a problem themselves, and when to seek outside help.</p>
<p>Sticking with the doctor analogy, you want medical students to have a basic understanding before they enter university. Student programmers should have some exposure to programming before they start to see if they like it or not. I feel some people think programming is glamourous and an easy path to a high paying job, which it isn't!</p>
<p>Personally, if I'd had no exposure to programming until I was 18 and entered university, I doubt I'd be a professional programmer today. I found that tertiary courses are taught at the wrong level, often getting bogged down in irrelevant details that are not useful when actually programming. Not many people would think of teaching such complex details to 6 year olds. They only need to know enough to get their code working, and why it works when it does, and why it doesn't when they've introduced a mistake.</p>
<p>I should also point out that teaching young children how to code is not a new concept, although it's been embraced much more than ever before. The <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)" rel="nofollow noreferrer">Logo</a> &quot;<a href="http://cyberneticzoo.com/cyberneticanimals/1969-the-logo-turtle-seymour-papert-marvin-minsky-et-al-american/" rel="nofollow noreferrer">turtle</a>&quot; was invented to make programming appealing to children. Here's an image from 1969:</p>
<p><a href="https://i.sstatic.net/sP4mO.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/sP4mO.jpg" alt="Logo turtle 1969" /></a></p>
<p>Children have to be taught something in school, with most countries having combined primary and secondary education of around 12 years. There are two basic reasons I can think of for teaching a subject:</p>
<ol>
<li>that subject will be useful in later life</li>
<li>that subject will broaden their minds and make them more rounded people.</li>
</ol>
<p>We teach them English (in English speaking countries and many non-English speaking countries) because in 12 years, a good knowledge of English will more likely be helpful, not useless. We teach them maths because maths is useful. We teach arts, history, and geography because they broaden the mind. We teach them computer science because CS broadens the mind, and it is becoming increasingly useful.</p>
<p>Mind broadening subjects are only useful if the individual works in that area, or if that area is peripheral to their work. A doctor need to know a little geography because certain infections are concentrated in certain areas, and they need to know a little history because certain diseases have been wiped out, so shouldn't be diagnosed. How plate tectonics works, or what happened during the battle of 1066 are unlikely to help a doctor treat disease.</p>
<p>For an average person, a little knowledge of logic can help them demystify a computer's behaviour. For example, searching for &quot;cats and dogs&quot; or &quot;cats or dogs&quot;. In English &quot;and&quot; and &quot;or&quot; can sometimes be used interchangeably:</p>
<blockquote>
<p>Pet owners with cats or dogs need to be careful of mosquitoes that can infect their pets with heartworm.</p>
<p>Pet owners with cats and dogs need to be careful of mosquitoes that can infect their pets with heartworm.</p>
</blockquote>
<p>The above two sentences mean the same thing in English, but the below two pseudo code fragments mean different things in CS:</p>
<blockquote>
<p>TELL be-careful-of-mosquitoes TO pet-owner-has-cat OR pet-owner-has-dog</p>
<p>TELL be-careful-of-mosquitoes TO pet-owner-has-cat AND pet-owner-has-dog</p>
</blockquote>
<p>The first one means what you'd expect in English. The second one means that only pet owners who have both a cat and a dog need to be careful of mosquitoes.
This is unintuitive to most people not familiar with computing logic.</p>
<p>So teaching CS to 6 year olds helps prepare them for a world increasingly dependent on technology. I don't see a need to have a scientific paper to answer this question any more than &quot;Are there any scientific studies that support the claim of any benefit of teaching English at a young age?&quot;</p>

CC BY-SA 4.0
2019-11-30T03:04:38.077Z
2019-11-30T03:04:38.077Z
2020-06-18T08:36:57.023Z
CJ Dennis
<p>Here's my opinion based on some experiences:</p>

<p>If I told you everyone is happy with their job, that would be a lie for sure. There are plenty of people that hate their jobs.</p>

<p>As the others mentioned, it teaches them a lot, just like any other subject in school. In addition to that, programming and computing are very new and young topics which have a huge development potential. As we have seen within the past 50-60 years, computers lead to great technological advances (unlike art for example). At this tender age kids are very well suited to absorb information and make use of it. In addition to that, there are many tools, like Lego Mindstorms.</p>

<p>Lego Mindstorms is basically assembling Legos that also have a small computer that kids can "code" to have different behaviours while working with them, and in the process see how computers, programming and sensors work. All of that while they are playing with Legos. In my eyes this teaches them that work CAN be fun.</p>

<p>I was 27 years old the first time I touched <a href="https://en.wikipedia.org/wiki/Lego_Mindstorms" rel="nofollow noreferrer">Lego Mindstorms</a>. I was amazed. I loved it, even though I was very far from being a child. I was also able to see the potential value that it would add to the development of a kid's way of thinking. I think it is a wonderful "educational toy". In my opinion any sort of development is positive, especially when it comes to something that is yet to be fully figured out.</p>

CC BY-SA 4.0
2019-11-29T09:50:21.390Z
2019-11-30T08:31:08.903Z
2019-11-30T08:31:08.903Z
Snop Doog
<p>I think the intent of such courses is to teach <a href="https://en.wikipedia.org/wiki/Computational_thinking" rel="noreferrer"><em>Computational Thinking</em></a>, not programming as such. Programming is, I think, just one tool among others. </p>

<p>There has been quite a lot of activity recently on computational thinking, which is a good thing. Any "patterns of thought" that can be distinguished and taught seems to me to be a good thing. We teach math and language skills for about the same reason to youngsters. For just about anyone, having several differnt "ways of thinking" gives you an advantage as you grow. </p>

<p>Also, coding implies the "creation" of things. When I was about 5 years old my schoolroom had a set of very large building blocks. We created structures with those and I always look back on that as a good thing to have done. For youngsters the act of creation is a really good thing to teach, no matter the medium (art, music, ..., programming). </p>

<p>But educators aren't trying to create coders as a profession at that age, any more than we are trying to create "professional readers". It is just a tool to aid cognitive development (or should be). </p>

<p>Do a web search on "computational thinking" to see some things about where this comes from. One of my doctoral students has focused her career on these ideas, actually. </p>

<p>See <a href="https://www.csunplugged.org/en/" rel="noreferrer">CS Unplugged</a> for a closely related set of ideas. </p>

<hr>

<p>Let me add a couple of points. </p>

<p>First, robotics, especially, can be fun. Creativity paired with fun is a winner. </p>

<p>Next, in as much as students <em>are</em> able to create useful programs, those skills can be used (and expanded) later in their education. A bit of coding in a math or science course (at least) can add to the learning process of those subjects and, one hopes, help the student generate insights that will deepen their knowledge. </p>

<hr>

<p>However, I have very mixed feeling about things like <a href="https://code.org/learn" rel="noreferrer">Code.org</a>. These are being pushed by large companies with an agenda that is not, fundamentally, education centered. They seem a lot like marketing programs to me. I also worry, at least a bit, on the overemphasis of programming games. While games can be motivating, I think they give too narrow a focus. Commercial games also very likely have an overall negative effect on student learning and growth. There have been recent studies showing young students spending too much time looking at screens in more or less nonproductive ways. The time might be better spent building with blocks and kicking balls around. I'm a much bigger fan of things in CS Unplugged than I am of code.org. </p>

CC BY-SA 4.0
2020-01-18T15:51:18.733Z
*For just about anyone, having several different "ways of thinking" gives you an advantage as you grow.*  Sums it all up in one simple sentence.
Guy Coder
CC BY-SA 4.0
2021-07-09T15:32:57.367Z
@Buffy "There have been recent studies showing young students spending too much time looking at screens in more or less nonproductive ways" - could you share some with us? Usually, there is a problem with reproducing the experiment, I'd like to take a look at cross-articles about the subject.
paus
CC BY-SA 4.0
2021-07-09T15:39:31.970Z
@paus. Google: "screen time for youngsters". I use Duck Duck Go, but the results should be similar. Look for links to CDC, for example.
Buffy
CC BY-SA 4.0
2021-07-09T15:44:03.623Z
@Buffy https://www.cbc.ca/news/health/screen-time-children-depression-1.3340530 " Youngsters who spend too much time staring at televisions and computers may be more depressed than those who abstain completely, but kids who enjoy screen time in moderation may be the happiest of all, a recent analysis suggests. " - controversially
paus
CC BY-SA 4.0
2021-07-09T15:44:56.973Z
@Buffy oh, found it: http://weeklyview.net/2019/01/31/the-dangers-of-too-much-screen-time-for-youngsters/
paus
CC BY-SA 4.0
2019-11-29T14:10:35.293Z
Could you please elaborate "pattern of thoughts" a little bit more?
gpuguy
CC BY-SA 4.0
2019-11-29T14:15:11.393Z
@gpuguy, that is pretty hard to do "a little bit". It would take a long answer (maybe to a suitable question). But the ways of thought in mathematics are different from those of pure science and both of those are different from literature. I used to like Apple Computer's catch phrase "Think Different". More generally, analysis and synthesis are different modes of thought. There are a lot of possibilities. The more angles you have to attack a problem the more likely you will be able to come to a solution.
Buffy
CC BY-SA 4.0
2019-11-29T23:40:44.400Z
CSunplug is quite interesting! Thanks for sharing.
gpuguy
CC BY-SA 4.0
2019-11-30T18:30:54.510Z
Unfortunately Apple should have used an adverb to modify the verb. "Think Differently". But maybe it was a command to think about the word "different".
Transistor
CC BY-SA 4.0
2019-11-28T13:40:34.897Z
2019-11-29T14:16:52.463Z
2019-11-29T14:16:52.463Z
Buffy
<p>Why teach English or art at a young age? Because it's a mode of expression and communication. Because proficiency requires learning the tools, learning the idioms, experimenting and developing a voice and a style. Because that path of development takes years if not decades. Although many students won't choose to make coding a major part of their adult lives, the ones that do will benefit from having started that familiarization process earlier. </p>

<p>And the ones that don't will still have <em>something</em> which hopefully leaves them with a better understanding of the world and the people around them. Computers are ubiquitous, <em>someone</em> tells them all what to do, and I find it frankly horrifying that the average person may think of it as something completely out of their ken. Everyone should have the chance to program (even if not very well), paint (even if not very well), play an instrument (even if not very well), etc. just to bring those activities down to earth.</p>

CC BY-SA 4.0
2019-11-29T02:10:07.580Z
2019-11-29T02:10:07.580Z
hobbs
<p><em>Is there any scientific study that supports the claim of any benefit of teaching coding at a young age?</em></p>

<p>Not specifically for coding, but there is substantial evidence that teaching different approaches to creative self-expression are beneficial.  This is why primary education also often includes music, acting, writing stories, and "constructive" arts such as sewing and woodwork.  Simple coding is as valid a form of creative self-expression as making a collage picture, playing "Twinkle twinkle little star" on the recorder, or sewing a bag for your sports kit.</p>

<p>To see primary education solely in terms of "will this lead to a career?" is to entirely miss the point.  Such a reductive view of primary education should in the end lead to children solely used as <a href="https://museum.wales/childrenoftherevolution/work/resources/childrens_jobs_mines/" rel="noreferrer">air-door boys</a> or the like, in whatever local industry employs their parents.  This was precisely the argument originally used against educating the "lower classes", because workers were not perceived to have a pressing need for literacy and numeracy.  The skills required for a worker were not academic, and could be learnt as the child became physically able to do the job.  Other factors were not considered important.</p>

<p>As we all know (I hope!), primary education exists partly to teach some basic facts and techniques, but partly also to develop children as human beings with an active and creative interest in the world.  In a world where software now plays such a large role in day-to-day life, it's curious to think that we might need a scientific study to tell us that there is a benefit to giving children a basic introduction to it.</p>

<p>If you're focussing more specifically on the age (you mentioned 6 as a lower limit), then that does depend on the child.  Using a Sphero, my son could manage simple "if-then" conditions and program a simple series of actions in order when he was 7.  Like many skills, it's a case of presenting them in a way which is easy to understand, with a learning curve which allows one basic skill to be established before moving onto the next.  Sequential actions are generally easy for children to understand, and if they are ready for games like Ludo or Monopoly which have "if this happens then do that" kind of rules, they have the conceptual framework for basic coding already.</p>

CC BY-SA 4.0
2019-11-29T15:01:57.057Z
2019-11-29T18:28:05.720Z
2019-11-29T18:28:05.720Z
Graham
<p>Nowadays, kids as young as six years are being taught coding through various tools such as MIT's <a href="https://en.wikipedia.org/wiki/Scratch_%28programming_language%29" rel="nofollow noreferrer">Scratch</a>. I wonder what is the point of teaching coding at such a tender age. They will go for a job after 10-15 years, so what is the rationale of teaching coding (and in some schools robotics as well) now?</p>

<p>Is there a scientific study that supports the claim of a benefit of teaching coding at a young age?</p>

CC BY-SA 4.0
2019-11-29T07:56:19.203Z
At that age, they're sponges. It'll give them problem solving skills early, plus the gratification of creating something that they can enjoy in a relatively short time.
Phil N DeBlanc
CC BY-SA 4.0
2019-11-29T12:27:38.223Z
I don't think there's much point. It's like trying to teach everyone to be a concert pianist or car mechanic at that age. But we have this 'everyone must be a coder' mindset at the minute, whereby what we really need is a 'everyone must be computer literate and know how to be safe online' mindset.
Alan B
CC BY-SA 4.0
2019-11-29T15:49:32.247Z
How is coding different from anything else that you teach a child? In all cases, they're only going to apply it in a professional context at least a decade down the line.
Flater
CC BY-SA 4.0
2019-11-29T15:56:33.440Z
@AlanB: There is more to it than computer literacy. As the world automates itself more and more, manual labor jobs are being replaced by automation, but higher level jobs (i.e. the ones that work _with_ automation) are opening up. A simple example would be to highlight the disappearance of production line worker jobs, with a simultaneous increase in production line robot mechanics and (by extension programmers). Coding is an exercise in analytics (not too dissimilar from what math already teaches), which provides a base layer for these employment sectors.
Flater
CC BY-SA 4.0
2019-11-29T16:19:31.053Z
What's the point in teaching kids music, if they [usually] can't become a concert pianist until at least a decade later?
Lightness Races in Orbit
CC BY-SA 4.0
2019-11-29T16:24:08.760Z
Music = computer literacy & online safey, concert pianist = software development, broadly.
Alan B
CC BY-SA 4.0
2019-11-30T00:52:13.620Z
@LightnessRaceswithMonica the real question is why teach kids music if 99.9% of them won't ever become a professional musician...
JonathanReez
CC BY-SA 4.0
2019-11-30T01:47:32.440Z
@JonathanReezSupportsMonica Basically the same question. Answer: who gives a ##### who becomes a professional musician?
Lightness Races in Orbit
CC BY-SA 4.0
2019-11-30T02:26:15.190Z
@LightnessRaceswithMonica its a different question as ~90% of future employees will deal with some forms of software in their work, quite unlike music
JonathanReez
CC BY-SA 4.0
2019-11-30T08:02:06.793Z
In the case of Australia, in the end the answer is ultimately "because it's on the National Curriculum". Not sure if that counts as an Answer, though.
nick012000
CC BY-SA 4.0
2019-11-30T11:35:05.977Z
@AlanB Take your car mechanic example. Every professional driver should know how to change a tire, how to pressure a tire, how to change motor oil, refill wiper fluid, etc.  Why is this? Because it's economical to be able to do simple maintenance of your work tools yourself. Pretty much every single job *already* uses software and the software part keeps growing, so every child is going to be a professional software user in the future and needs to be able to solve the equivalent software tasks. The only real difference is that software is more complicated, so it's harder to pick up on the job.
Nobody
CC BY-SA 4.0
2019-11-30T14:49:08.720Z
@JonathanReezSupportsMonica And yet, despite that, we _do_ teach kids music, which is exactly the point: it shows that future career prospects and/or using this stuff in a job is _irrelevant_. So, no, it's not a different question.
Lightness Races in Orbit
CC BY-SA 4.0
2019-11-30T19:18:16.227Z
because some kids might be smarter than you and me and because you can learn a lot of simple concepts from programming, that would help you to develop your rational thinking and teach you to make sense of a complex process by analyzing it step by step
Velimir Tchatchevsky
CC BY-SA 4.0
2019-11-30T19:28:51.907Z
@LightnessRaceswithMonica at the very least it's a different answer because teaching software can be justified with "the kid will use it at work in one way or another". Teaching music doesn't have a practical justification, it's just something that people do for entertainment.
JonathanReez
CC BY-SA 4.0
2019-11-30T23:41:53.387Z
@JonathanReezSupportsMonica You are so way off the mark
Lightness Races in Orbit
CC BY-SA 4.0
2019-11-30T23:46:15.150Z
@LightnessRaceswithMonica Asked a [follow up question about this](https://parenting.stackexchange.com/questions/39210/are-there-proven-practical-benefits-from-teaching-music-to-children)
JonathanReez
CC BY-SA 4.0
2019-12-02T09:01:42.017Z
We should be teaching everyone basic computer literacy, how to keep their data secure and how to stay safe online. 'Dealing with software' <> being a developer. If we need more developers we should be identifying the girls and boys with natural ability early on and helpiing them down that specialised path. It's a complicated field, it's only going to get more complicated.
Alan B
<programming>
What is the point of teaching coding and robotics to kids as young as six years old?
# What is the point of teaching coding and robotics to kids as young as six years old?

(Asked by: username_0 on 2019-11-28)

Nowadays, kids as young as six years are being taught coding through various tools such as MIT's [Scratch](https://en.wikipedia.org/wiki/Scratch_%28programming_language%29). I wonder what is the point of teaching coding at such a tender age. They will go for a job after 10-15 years, so what is the rationale of teaching coding (and in some schools robotics as well) now?

Is there a scientific study that supports the claim of a benefit of teaching coding at a young age?

**Tags:** programming

> **Comments:**
> **username_1**: At that age, they're sponges. It'll give them problem solving skills early, plus the gratification of creating something that they can enjoy in a relatively short time.  
> **username_2**: I don't think there's much point. It's like trying to teach everyone to be a concert pianist or car mechanic at that age. But we have this 'everyone must be a coder' mindset at the minute, whereby what we really need is a 'everyone must be computer literate and know how to be safe online' mindset.  
> **username_3**: How is coding different from anything else that you teach a child? In all cases, they're only going to apply it in a professional context at least a decade down the line.  
> **username_3**: @AlanB: There is more to it than computer literacy. As the world automates itself more and more, manual labor jobs are being replaced by automation, but higher level jobs (i.e. the ones that work _with_ automation) are opening up. A simple example would be to highlight the disappearance of production line worker jobs, with a simultaneous increase in production line robot mechanics and (by extension programmers). Coding is an exercise in analytics (not too dissimilar from what math already teaches), which provides a base layer for these employment sectors.  
> **username_4**: What's the point in teaching kids music, if they [usually] can't become a concert pianist until at least a decade later?  
> **username_2**: Music = computer literacy & online safey, concert pianist = software development, broadly.  
> **username_5**: @LightnessRaceswithMonica the real question is why teach kids music if 99.9% of them won't ever become a professional musician...  
> **username_4**: @username_5SupportsMonica Basically the same question. Answer: who gives a ##### who becomes a professional musician?  
> **username_5**: @LightnessRaceswithMonica its a different question as ~90% of future employees will deal with some forms of software in their work, quite unlike music  
> **username_6**: In the case of Australia, in the end the answer is ultimately "because it's on the National Curriculum". Not sure if that counts as an Answer, though.  
> **username_7**: @AlanB Take your car mechanic example. Every professional driver should know how to change a tire, how to pressure a tire, how to change motor oil, refill wiper fluid, etc.  Why is this? Because it's economical to be able to do simple maintenance of your work tools yourself. Pretty much every single job *already* uses software and the software part keeps growing, so every child is going to be a professional software user in the future and needs to be able to solve the equivalent software tasks. The only real difference is that software is more complicated, so it's harder to pick up on the job.  
> **username_4**: @username_5SupportsMonica And yet, despite that, we _do_ teach kids music, which is exactly the point: it shows that future career prospects and/or using this stuff in a job is _irrelevant_. So, no, it's not a different question.  
> **username_8**: because some kids might be smarter than you and me and because you can learn a lot of simple concepts from programming, that would help you to develop your rational thinking and teach you to make sense of a complex process by analyzing it step by step  
> **username_5**: @LightnessRaceswithMonica at the very least it's a different answer because teaching software can be justified with "the kid will use it at work in one way or another". Teaching music doesn't have a practical justification, it's just something that people do for entertainment.  
> **username_4**: @username_5SupportsMonica You are so way off the mark  
> **username_5**: @LightnessRaceswithMonica Asked a [follow up question about this](https://parenting.stackexchange.com/questions/39210/are-there-proven-practical-benefits-from-teaching-music-to-children)  
> **username_2**: We should be teaching everyone basic computer literacy, how to keep their data secure and how to stay safe online. 'Dealing with software' <> being a developer. If we need more developers we should be identifying the girls and boys with natural ability early on and helpiing them down that specialised path. It's a complicated field, it's only going to get more complicated.  

---

## 8 answers

### Answer by username_11 on 2019-11-28. Score: 35

I think the intent of such courses is to teach [*Computational Thinking*](https://en.wikipedia.org/wiki/Computational_thinking), not programming as such. Programming is, I think, just one tool among others.

There has been quite a lot of activity recently on computational thinking, which is a good thing. Any "patterns of thought" that can be distinguished and taught seems to me to be a good thing. We teach math and language skills for about the same reason to youngsters. For just about anyone, having several differnt "ways of thinking" gives you an advantage as you grow.

Also, coding implies the "creation" of things. When I was about 5 years old my schoolroom had a set of very large building blocks. We created structures with those and I always look back on that as a good thing to have done. For youngsters the act of creation is a really good thing to teach, no matter the medium (art, music, ..., programming).

But educators aren't trying to create coders as a profession at that age, any more than we are trying to create "professional readers". It is just a tool to aid cognitive development (or should be).

Do a web search on "computational thinking" to see some things about where this comes from. One of my doctoral students has focused her career on these ideas, actually.

See [CS Unplugged](https://www.csunplugged.org/en/) for a closely related set of ideas.

---

Let me add a couple of points.

First, robotics, especially, can be fun. Creativity paired with fun is a winner.

Next, in as much as students *are* able to create useful programs, those skills can be used (and expanded) later in their education. A bit of coding in a math or science course (at least) can add to the learning process of those subjects and, one hopes, help the student generate insights that will deepen their knowledge.

---

However, I have very mixed feeling about things like [Code.org](https://code.org/learn). These are being pushed by large companies with an agenda that is not, fundamentally, education centered. They seem a lot like marketing programs to me. I also worry, at least a bit, on the overemphasis of programming games. While games can be motivating, I think they give too narrow a focus. Commercial games also very likely have an overall negative effect on student learning and growth. There have been recent studies showing young students spending too much time looking at screens in more or less nonproductive ways. The time might be better spent building with blocks and kicking balls around. I'm a much bigger fan of things in CS Unplugged than I am of code.org.

> **Comments:**
> **username_0**: Could you please elaborate "pattern of thoughts" a little bit more?  
> **username_11**: @username_0, that is pretty hard to do "a little bit". It would take a long answer (maybe to a suitable question). But the ways of thought in mathematics are different from those of pure science and both of those are different from literature. I used to like Apple Computer's catch phrase "Think Different". More generally, analysis and synthesis are different modes of thought. There are a lot of possibilities. The more angles you have to attack a problem the more likely you will be able to come to a solution.  
> **username_0**: CSunplug is quite interesting! Thanks for sharing.  
> **username_17**: Unfortunately Apple should have used an adverb to modify the verb. "Think Differently". But maybe it was a command to think about the word "different".  
> **username_15**: *For just about anyone, having several different "ways of thinking" gives you an advantage as you grow.*  Sums it all up in one simple sentence.  
> **username_16**: @username_11 "There have been recent studies showing young students spending too much time looking at screens in more or less nonproductive ways" - could you share some with us? Usually, there is a problem with reproducing the experiment, I'd like to take a look at cross-articles about the subject.  
> **username_11**: @username_16. Google: "screen time for youngsters". I use Duck Duck Go, but the results should be similar. Look for links to CDC, for example.  
> **username_16**: @username_11 https://www.cbc.ca/news/health/screen-time-children-depression-1.3340530 " Youngsters who spend too much time staring at televisions and computers may be more depressed than those who abstain completely, but kids who enjoy screen time in moderation may be the happiest of all, a recent analysis suggests. " - controversially  
> **username_16**: @username_11 oh, found it: http://weeklyview.net/2019/01/31/the-dangers-of-too-much-screen-time-for-youngsters/  

---

### Answer by username_18 on 2019-11-29. Score: 14

Why teach English or art at a young age? Because it's a mode of expression and communication. Because proficiency requires learning the tools, learning the idioms, experimenting and developing a voice and a style. Because that path of development takes years if not decades. Although many students won't choose to make coding a major part of their adult lives, the ones that do will benefit from having started that familiarization process earlier.

And the ones that don't will still have *something* which hopefully leaves them with a better understanding of the world and the people around them. Computers are ubiquitous, *someone* tells them all what to do, and I find it frankly horrifying that the average person may think of it as something completely out of their ken. Everyone should have the chance to program (even if not very well), paint (even if not very well), play an instrument (even if not very well), etc. just to bring those activities down to earth.


---

### Answer by username_19 on 2019-11-29. Score: 6

*Is there any scientific study that supports the claim of any benefit of teaching coding at a young age?*

Not specifically for coding, but there is substantial evidence that teaching different approaches to creative self-expression are beneficial. This is why primary education also often includes music, acting, writing stories, and "constructive" arts such as sewing and woodwork. Simple coding is as valid a form of creative self-expression as making a collage picture, playing "Twinkle twinkle little star" on the recorder, or sewing a bag for your sports kit.

To see primary education solely in terms of "will this lead to a career?" is to entirely miss the point. Such a reductive view of primary education should in the end lead to children solely used as [air-door boys](https://museum.wales/childrenoftherevolution/work/resources/childrens_jobs_mines/) or the like, in whatever local industry employs their parents. This was precisely the argument originally used against educating the "lower classes", because workers were not perceived to have a pressing need for literacy and numeracy. The skills required for a worker were not academic, and could be learnt as the child became physically able to do the job. Other factors were not considered important.

As we all know (I hope!), primary education exists partly to teach some basic facts and techniques, but partly also to develop children as human beings with an active and creative interest in the world. In a world where software now plays such a large role in day-to-day life, it's curious to think that we might need a scientific study to tell us that there is a benefit to giving children a basic introduction to it.

If you're focussing more specifically on the age (you mentioned 6 as a lower limit), then that does depend on the child. Using a Sphero, my son could manage simple "if-then" conditions and program a simple series of actions in order when he was 7. Like many skills, it's a case of presenting them in a way which is easy to understand, with a learning curve which allows one basic skill to be established before moving onto the next. Sequential actions are generally easy for children to understand, and if they are ready for games like Ludo or Monopoly which have "if this happens then do that" kind of rules, they have the conceptual framework for basic coding already.


---

### Answer by username_9 on 2019-11-29. Score: 3

A lot of kids learn some sort of crafting, be it paper cutting, origami etc.

Without citing any sources, I'd say that it seems that teaching forms of creation building and creation are crucial for the development of the kid.

Nowadays, there is a new way to build things: you get a general purpose *thing* and you *program* it into solving your specific task/problem rather than building the *thing* you specifically need. It's a simple change of perspective, a different way of building and creating.

Any type of creation requires some skills, be they motor skills in crafting or painting, problem solving (e.g. how to mix colors to get a certain nuance), etc. Every activity involves different aspects of this and programming focuses on developing the analytical skills and problem solving skills. Which are very much transferable to many other activities.


---

### Answer by username_10 on 2019-12-01. Score: 3

After I learned programming, all other topics suddenly became much easier. Math especially, but also literature, philosophy, psychology, chemistry and so on.
Not only does programming helps unlock a sort of "meta-thinking" even when you're *away* from the computer, it also helps you build practical tools. I remember writing small toy programs to help me understand math and geometry concepts I was struggling with, such as perspective and polynomials.

A lot of people see math as a prerequisite to programming. But I think it's the other way around. They help each other, in a braid. A well-applied concept from discrete mathematics can save you hours of CPU cycles, but, experience with a programming language interpreter can make you quickly understand concepts in math or other fields.

> **Comments:**
> **username_11**: There are places where math and programming overlap, of course, but they really are different modes of thinking. Either can contribute to the other, as you say, and especially where they overlap. And you are certainly correct that math isn't a prerequisite.  
> **username_10**: Programming immanentizes manipulation of symbols♥  
> **username_11**: That should be on a sweatshirt, I think.  

---

### Answer by username_12 on 2019-11-30. Score: 2

Well, I'm gonna to talk about my sister's experience...

When my sister was seven years old I taught her how to program using Scratch. When she was nine, I taught her how to use [AppInventor](https://appinventor.mit.edu/). Now she doesn't program any more, but she understands the basic concepts about computer science.

She's able to use some advanced resources, like `bash`, and she's able to understand most of the articles about the internet of things and news about technology. With this she's also able to talk with our parents about our network problems.

I think this knowledge is important to children because it is the future, and when I was her age I would have liked to learn these things. If I had learned computer science by her age I would probably be exponentially smarter now. But I want my sister to learn this now because I want a better future for her.


---

### Answer by username_13 on 2019-11-30. Score: 1

I fell in love with programming when I was 6 years old and today I am a senior developer who still loves programming. I have had almost no formal training, and I have worked with a lot of formally trained developers who couldn't program their way out of a paper bag, possibly due to starting to learn programming as an adult.

The fundamentals of programming logic don't change although individual languages change very quickly and there will be many new programming languages invented by the time a 6 year old graduates. I can read code written before I was born, and as long as I understand the language, I can follow the logic. The world is getting more technically literate, so without a little familiarity with logic, computers and smartphones are just magic devices that often work, and bizarrely misbehave.

This is not to say that all children should be expected to grow up to be programmers, nor would that be a good idea! It's the same as everyone having enough first-aid knowledge to not need to make a doctor's appointment for a scratch, and more importantly, to be able to decide when they can fix a problem themselves, and when to seek outside help.

Sticking with the doctor analogy, you want medical students to have a basic understanding before they enter university. Student programmers should have some exposure to programming before they start to see if they like it or not. I feel some people think programming is glamourous and an easy path to a high paying job, which it isn't!

Personally, if I'd had no exposure to programming until I was 18 and entered university, I doubt I'd be a professional programmer today. I found that tertiary courses are taught at the wrong level, often getting bogged down in irrelevant details that are not useful when actually programming. Not many people would think of teaching such complex details to 6 year olds. They only need to know enough to get their code working, and why it works when it does, and why it doesn't when they've introduced a mistake.

I should also point out that teaching young children how to code is not a new concept, although it's been embraced much more than ever before. The [Logo](https://en.wikipedia.org/wiki/Logo_(programming_language)) "[turtle](http://cyberneticzoo.com/cyberneticanimals/1969-the-logo-turtle-seymour-papert-marvin-minsky-et-al-american/)" was invented to make programming appealing to children. Here's an image from 1969:

[![Logo turtle 1969](https://i.sstatic.net/sP4mO.jpg)](https://i.sstatic.net/sP4mO.jpg)

Children have to be taught something in school, with most countries having combined primary and secondary education of around 12 years. There are two basic reasons I can think of for teaching a subject:

1. that subject will be useful in later life
2. that subject will broaden their minds and make them more rounded people.

We teach them English (in English speaking countries and many non-English speaking countries) because in 12 years, a good knowledge of English will more likely be helpful, not useless. We teach them maths because maths is useful. We teach arts, history, and geography because they broaden the mind. We teach them computer science because CS broadens the mind, and it is becoming increasingly useful.

Mind broadening subjects are only useful if the individual works in that area, or if that area is peripheral to their work. A doctor need to know a little geography because certain infections are concentrated in certain areas, and they need to know a little history because certain diseases have been wiped out, so shouldn't be diagnosed. How plate tectonics works, or what happened during the battle of 1066 are unlikely to help a doctor treat disease.

For an average person, a little knowledge of logic can help them demystify a computer's behaviour. For example, searching for "cats and dogs" or "cats or dogs". In English "and" and "or" can sometimes be used interchangeably:

> Pet owners with cats or dogs need to be careful of mosquitoes that can infect their pets with heartworm.
>
> Pet owners with cats and dogs need to be careful of mosquitoes that can infect their pets with heartworm.

The above two sentences mean the same thing in English, but the below two pseudo code fragments mean different things in CS:

> TELL be-careful-of-mosquitoes TO pet-owner-has-cat OR pet-owner-has-dog
>
> TELL be-careful-of-mosquitoes TO pet-owner-has-cat AND pet-owner-has-dog

The first one means what you'd expect in English. The second one means that only pet owners who have both a cat and a dog need to be careful of mosquitoes.
This is unintuitive to most people not familiar with computing logic.

So teaching CS to 6 year olds helps prepare them for a world increasingly dependent on technology. I don't see a need to have a scientific paper to answer this question any more than "Are there any scientific studies that support the claim of any benefit of teaching English at a young age?"


---

### Answer by username_14 on 2019-11-29. Score: 1

Here's my opinion based on some experiences:

If I told you everyone is happy with their job, that would be a lie for sure. There are plenty of people that hate their jobs.

As the others mentioned, it teaches them a lot, just like any other subject in school. In addition to that, programming and computing are very new and young topics which have a huge development potential. As we have seen within the past 50-60 years, computers lead to great technological advances (unlike art for example). At this tender age kids are very well suited to absorb information and make use of it. In addition to that, there are many tools, like Lego Mindstorms.

Lego Mindstorms is basically assembling Legos that also have a small computer that kids can "code" to have different behaviours while working with them, and in the process see how computers, programming and sensors work. All of that while they are playing with Legos. In my eyes this teaches them that work CAN be fun.

I was 27 years old the first time I touched [Lego Mindstorms](https://en.wikipedia.org/wiki/Lego_Mindstorms). I was amazed. I loved it, even though I was very far from being a child. I was also able to see the potential value that it would add to the development of a kid's way of thinking. I think it is a wonderful "educational toy". In my opinion any sort of development is positive, especially when it comes to something that is yet to be fully figured out.


---

