TED Conversations

Dyed All Hues

Thinker and Experimenter,

TEDCRED 30+

This conversation is closed.

Should we start teaching children in Primary and/or Secondary School "Coding"?

Coding is computer lingo, which I've heard a million times, but I've never really found an interest in learning anymore, until I saw this video, http://www.youtube.com/watch?v=dU1xS07N-FA.

I believe that learning coding seems like a fascinating task now. I feel that coding would be pretty amazing skill to spread to the future innovators of tomorrow. I have not yet given myself the opportunity to learn coding, but after watching this I will check it out in the near future.

Do you think that the current curricula for education would fit a whole new division of computer science related courses, like coding (I think it's the big one?).

What are your views of more technologically based educational environments in the near future?

Does anyone else imagine a world of cyborgs....ha, but seriously, what are the limitations to having this skill?

If you have any other questions that might get answers or you have an answer for, then ask away and let's challenge the boundaries my fellow Tedsters! =)

Share:
  • thumb
    Mar 3 2013: My daughter is in third grade and has for the past two years been working in game design, and this this year C++. As long as it is taught to a child FOR a child, it can be as learnable as math or reading, perhaps more so than math...
    • thumb
      Mar 15 2013: Wow. Can't wait to see what she come sup with.
  • Mar 21 2013: I'll add my point of view, as a Computer Science student and long-time self-taught programmer (although mostly as a hobby). It is not primarily about teaching people "how to think" (Maths can do that quite well alone, combined with a bit of project management), nor is it about teaching people how to use technology (Most 13+ year old children in the "developed" world can use Google/E-Mail/Facebook & Co), it is about teaching them how to develop a tool.

    It is about giving them the possibility of deciding how they want to use their computer, rather than allowing somebody else to decide for them. It is about adapting their software to their needs, rather than their needs to their software. "My e-mail client allows me to sort e-mail by "most recent" or "alphabetical order" whereas I want it by "number of attachemnts"? I can re-code it myself!

    Have a look at Scratch (http://scratch.mit.edu/), it is possibly one of the best tools to teach "young leaners" about programming. (Admittedly, the "white on black" compiler screen can be quite indimidating!)
    • thumb
      Mar 21 2013: Yes, the idea of knowing how to use my tools and not letting my tools use me feels very empowering. I believe that was the epiphany I had after watching the youtube link in my description. Beautifully put Dario, thank you. =)
  • Mar 19 2013: I'm an avid programmer myself so it may be that I can't speak for everyone but learning to code actually teaches people problem solving techniques and creates a wider understanding for a lot of things. You don't even have to learn anything too difficult to better grasp a lot of things around you, how they work and even why they work like they do. This concerns computer environments mostly, but is not limited to such.

    The most healthy thing to do seems to peak interests early on in a 'playful' environment. The ones that hunger for more should be given that opportunity while those that are sated with just the basics still learn enough to be of any use, be it only theoretical or insightful.
    • thumb
      Mar 21 2013: Hi Ruben,

      Could you dive deeper into the psychology of the skills you have attained from coding? Please give some life examples, if possible.
      • Mar 21 2013: Coding is about breaking down problems in the subproblems they consist of. This applies to computable problems but can be extended to include pretty much anything, yet still I find it hard to find examples as this happens mostly unconsciously.

        I guess what taught me most was what is nowadays known as 'Object Oriented Programming'. This means that one can tackle a problem by building blocks (Objects) that only contain information relevant to the problem and then make these blocks interact with eachother. One can easily see that this is a very intuitive approach and is adopted by most people quite naturally. This is basically what our brains do with everything around us: filter out the currently relevant information and apply this somehow.

        After having built these blocks myself, made them interact, I automatically began to think about my surroundings. Simple things mostly. Let's take a train station for example, as I take the train quite regularly. Trains could be objects, so could the station be and maybe the different railroads. You know there are other stations, which the trains can drive between. Maybe make a train driver an object that knows about it's destinations, etc. Using the approach one automatically builds a model of a train net bottom-up. For especially chaotic minds as mine this can be a blessing and helps understanding; where you don't know how something functions you insert a building block that you know interacts with it's surroundings in some way and using this approach maybe even deduce what it should be or how it might work.

        This exposition might seem a bit vague but it was actually astoundingly hard to think about the way I think almost naturally now.
        • thumb
          Mar 21 2013: Thank you very much Ruben. It is one of those commonalities of life that are the most difficult to depict, but when you finally are able to depict it, then you might learn more about yourself or cherish those things way more. =)
  • Mar 17 2013: Yes, Absolutely!!
  • thumb
    Mar 15 2013: Funny, on this subject it's a question of if they can. If they can, then why not? Watching many videos on TED has lead me to realize that coding may be a very important part of the future. What's also funny is I know some blind people that can code. So if a blind person can code, I believe that a child possibly could as well.
    • thumb
      Mar 21 2013: Amazing, I am interested in seeing these blind coders in action.
  • Mar 12 2013: Yes! Next question?
  • Mar 3 2013: The basic coding thoughts are necessary to teach in primary school.Because high-technology is developing very fast.How is the magic come from computer and internet?how does it work?those common sense of understanding them come from coding thoughts.For an instance:binary system,bits...and some of basic experiments to explor how does the technology work.It opens a new window to think of innovation,creation.
  • thumb

    . . 100+

    • +1
    Mar 2 2013: Cyborgs....Yes.
    And as for your question, Steve, Bill and Mark have set the course for the future of humanity to follow....so I'd say start with first grade......it will be hard for this generation of parents because children will take off like kites!! And parents and teachers have come to be hyper-controllers so they will be at a loss........but after the Ken-Robinson and Sugata Mitra "shifts" take place ( which is happening as we speak ;-).....Then we might have teens like this everywhere:
    http://www.ted.com/talks/award_winning_teen_age_science_in_action.html
    And the grown ups and older generations have to swallow their pride and step aside and let these teens find the cure for cancer........because kids are the ones who will.
    • thumb
      Mar 3 2013: Where the human mind can't follow, there is technology to assist. =)

      The cure for the common cold would be nice also, lol.
  • thumb
    Mar 1 2013: Well, not everyone is interested in this. I remember taking Logo programming language in middle school and it was just very smothering for me and some of my class mates who just don't like programming.

    So maybe as an elective/ extracurricular course it would be a good idea to introduce school students into it. But demanding from all kids to study it and like it... I think it would be sort of unfair!
    • thumb
      Mar 1 2013: I think the goal isn't to make the children like it, though I hope teachers will try, but teaching children coding and programming in primary or secondary educational settings is more of a life skill. Due to the high increase of technologies being used in everyday life, there is a need for people to understand the components of their tools and having that knowledge will allow students to have more skills. I currently regret not having more skills in the field of technologies, like computers and coding, because it would allow me to feel more secure and not feel like technology was out of my understanding. In the past I have had my information stolen and used by another person, and I felt so violated. I felt that my life was no longer in my control and that there was nothing I could do could to protect myself from the web based world, until I thought, if I knew more about computer programming, then I could probably prevent a lot of incidents of identity theft and so on. Also, you can basically be ready to go out into the world with more sets of skills needed for landing a job or even making a business that is based online or spreading amazing new ideas online!

      Did you take a look at the link for a youtube video in my description?
      • thumb
        Mar 2 2013: Yes I watched the link. And I agree with you, it would give you more power and control of the technology that you use. But to reach this level of ability needs years of studying and not just a simple programming curriculum. I know two programming languages but I still need an expert's help in case something bad happened!!

        This field is developing fast. By the time I graduated from school the language I was taught was not used anymore! It needs someone passionate about it to follow up all the updates.

        It would be great getting jobs in this domain, but again it is personal preference. I cannot see myself working as a computer programmer, because it does not interest me at all. I CAN force myself to learn and to work but I would be very miserable in my life and would probably fail.

        In fact I believe there should be less things taught in school, because I remember studying so many things that were deep, yet shallow. Things that were for specialists but since its only intermediate and secondary school, they gave us some lines about it with no good, solid background about it. Even our teachers were not capable of explaining them to us. I believe it was a total waste of time. But oh well, that is another debate!
        • thumb
          Mar 2 2013: You say that "to reach this level of ability, one needs years of studying and not just a simple programming curriculum", but is it not beneficial to integrate some foundational education of programming to peak interests at a younger age? Those who are interested will be interested, and the others may or may not learn to love/appreciate the foundation that you correctly stated will take years, so why not start earlier, instead of later?

          Creating a curricula that makes students' learn how to think and not what to think is what the goal of education is, right? Unless, that is, that the goal is to produce "model citizens" for the benefit of a country, then I would say I would be wrong to give more skills for primary and secondary education in that type of environment.
  • Mar 1 2013: I start hearing from TED speakers and elsewhere that we should start teaching kids and adults programming, even if in some primitive simplified way.

    The main reason is robots and computers will continue to spread throughout the society. Individuals and people in various careers will have increasingly interact with these technologies and have the option or even need to "program" their tools and environment.

    Recently I saw a speech at TED 2013 about this but I can't find it. It basically the speaker said that as people moved from using paper sheets into "programming" Excel spread sheet the same way we need to start teaching programming to non-IT professions.
  • Mar 22 2013: One issue that people have with math is that "there is one answer", and to find it you have to "check your work". And after checking their work five times they turn to the back of the book only to find a different answer. Eventually they start by looking at the back and then attempt to reverse-engineer.

    My niece has this problem right now. She does a calculation across several steps, none of which give her any idea of whether she is on the right path. At the end of it she may be right or she may be wrong, and the only ways to check are to stare at it or do it again.

    But programs are interactive! You can step through using a debugger and *watch* the variables getting updated. You can count how many times your for-loop executed, you can pepper your code with print-statements and "see" what's going on.

    For people who are getting their feet wet, this makes a huge difference. I guess I'm saying that the learning curve is a lot gentler with programming.
  • Mar 21 2013: I liked Hathaway Mann's comment about how it could be more useful than math. I'm not an anti-math person (I actually have a PhD. in the subject), but I do think that a lot of the math taught in school is completely lost on most people, leaving them with bad memories of stuff they "never use in real life".

    But I wouldn't want to remove the one subject which emphasizes precision, care, discipline and logic.

    So.. maybe programming should replace math! Math could become an "optional" subject after teaching basic arithmetic.

    Now there are different types of programming, which would develop different abilities in our kids and teens. I am only weighing in on the "algorithm-oriented" type of programming, other people will have opinions about scripting and other flavors.
    • thumb
      Mar 21 2013: That's a fresh perspective that I am interested in. I haven't learned much about coding and all that, but math could be integrated into coding and other computer programming courses right?
      • Mar 22 2013: Sure, but I'm suggesting we don't even teach "math". Logic and precision can be learnt via computer science. We could teach students how to write code to evaluate a quadratic formula, but why bother? Why learn the quadratic formula at all?

        People gravitate towards what interests them. The people who would end up gravitating toward the quadratic formula would then learn about the geometry of conics and roots of polynomials. To them it would not be "an ugly formula" which they were forced to memorize with no desire to understand it.
    • Mar 22 2013: I like your idea to an extent. People use more than basis arithmetic without realizing it. Moreover, even basic math could get 'unlearned' by many if left unused for so long.

      Most parts of programming exist of basic mathematical concepts, and thus are rendered meaningless to those with no notion or feeling with these concepts. I'm talking about quite simple things, nothing extravagant. I think math gets people a feeling for these things. Take, for example, a loop. Loops are quite common in programming as things often have to be repeated. This came from summations and other loop constructs in maths.

      Here's a fun fact: Alan Turing (often called 'father of Computer Science') designed his 'Turing machines' (basis for computers) for mathematicians. They were constructs on paper that, by following a number of steps, would give some result with some input. This enabled mathematicians to automate some laborous work by simply following these simple steps. Math is just too big a part of computer science.
      • Mar 22 2013: I think we're basically on the same page. But I am proposing that people learn about loops not by learning about sums first - instead, just learn what a loop is!
  • Mar 15 2013: I think it depends on what you are trying to achieve. Surely the end goal should be the driver on what to spend and direct their time upon.
    If the achievement is to give a lot of young people the ability to code, then great this is the way forward.
    If you are looking for a lot of young entrepreneurs, high achievers or creative thinkers then I think the time would be better spent else were.
    The current problem with our education system is the concept that 'one size fits all' i.e. all kids can achieve and attain the same level or become the best at whatever they choose to do. This initial mind set is wrong, and does not build children up upon their strength but instead tries to level the playing field. We really should be looking at their interests and natural talent and trying to nurture and build upon them.
    If the concept was right then surely anyone can become an Olympic champion, greatest violinist, ever or surgeon regardless or interest or ability. All they need is a little time to practice, in which case surely we should all be in very highly paid jobs doing whatever.
    I believe just because you can use a screw drivers and a socket set does not make you a great mechanic. It only produces someone able to do rudimentary mechanical tasks.
    Learning to code is no different, great you can now make a program but without imagination, creativity and other interests what are you going to do with it??
    • thumb
      Mar 21 2013: Hi James,

      I want to emphasize that if coding were added to schools curriculum, then it would be to peak interests where children may not know they had , but having more skills wouldn't hurt anyone. If you watched any of the videos I have in my description, then it shows how coding can be a medium for creative expression. I don't believe that coding should dominate and be the only topic children should be learning, but it should be part of their agenda.

      I think you are assuming that people can't fail or should know their strengths and weaknesses from birth. Some people are like wine, just give them some time and they will "ripen".

      Who are we to decide what a child should do, even if it is their strength. Encouragement and improving those skills may be beneficial, but do they want or like to do what they are good at?

      Someone once told me a sad story of their friend. She was really good at mathematics, so her parents told her to become an engineer. She would graduate top of her class and had many job offers, but she would tell her friend that she really likes doing art, though she wants to make er parents happy. She begins to spiral into a deep depression and she ends up taking her own life. The fact that she wanted to do something she was good at and her parents wanted, she never achieved the happiness that she could have attained. Moral of the story, let people try what they like and give them help and encouragement.
      • Mar 22 2013: Hi Derek,

        Yes, very very sad story about someone that should have followed their heart rather than there head.

        I actually do agree with the sentiment that you are putting across. Being a software engineer myself I know how liberating and creative coding can actually be. My ideal would be to expand across a wider range of skills in addition to just coding i.e. basic mechanical engineering and more music type activities.

        I'm unsure if you know here in the UK the government has announced that all children should be able to program and create apps etc. My concern is forcing kids into to as well as not allowing them access to the information/skills etc could be damaging to the child.

        You address my point exactly when you say 'Who are we to decide what a child should do'; with our current system for example I was disallowed to take computing at school, as the teachers said that I wouldn't do well in that. Now here I am with Masters in Software Engineering!
        Because I my very bad experience during schooling, I'm very keen on trying to create an environment that nurtures children and build upon their skills, abilities and desires.

        However I still maintain on what the end goal of this would be, as for a taster I think it's great but I can see the education system taking something good like this and warping it into something totally different. In our current education system I see kids that don't have the basic skills of looking and feeding themselves. I would much prefer kids being shown and taught basic life skills before other such subjects.
        • thumb
          Mar 25 2013: Hi James,

          In no way will I ever advocate for an education system that will produce students that doesn't consider their interests whatsoever to fruition. According to Sugata Mitra, most school systems were created with the ideal in mind that people needed to be identical, so they would be able to fit in at any work location, such as government positions, but he said that was the system that was efficient about 300 years ago. Now we have surpassed the need for that system and a new system will be beneficial. Indecisiveness is our enemy and research has been done where a new system is supposed to focus on the individual growth, but it probably won't be implemented because of special interest groups.

          If you believe in something, then amass like-minded individuals and act upon those ideas in the safest manner. Change is difficult for many to accept, but it will eventually happen in my optimistic view of our future.
  • thumb
    Mar 1 2013: For anyone interested in learning the basics, heres a good resource.

    http://www.codecademy.com/
    • Mar 3 2013: Thanks Ryan Crowley:).I am interested in it.please come to share more with us.
  • thumb
    Mar 1 2013: Derek, did you see that shortly after the recent TED talk was posted about coding, there was a thread asking this exact question? As you have not linked that talk, maybe you missed it. It was a prof from MIT's media lab.
    http://www.ted.com/talks/mitch_resnick_let_s_teach_kids_to_code.html

    I think computer science is important to offer in secondary school, at least.
    • thumb
      Mar 1 2013: Opps, that is my blunder. I never took notice of technological stuff until just that exact second when I was surfing youtube and it just popped up. I thought, hey it is right in front of my face, and got inspired, lol, but I shall now watch the Tedx. Thank you for the link Fritzie!

      Do you happen to have a link to the conversation or the thread you mentioned meant the Tedx?
    • Mar 3 2013: agree to Fritzie Reisner:)