Slashdot Mirror


How Early Should Kids Learn To Code?

the agent man writes "Wired Magazine is exploring how early kids should learn to code. One of the challenges is to find the proper time in schools to teach programming. Are teachers at elementary and middle school levels really able to teach this subject? The article suggests that even very young kids can learn to program and lists a couple of early experiments as well as more established ideas including the Scalable Game Design curriculum. However, the article also suggests that programming may have to come at the cost of Foreign language learning and music."

18 of 299 comments (clear)

  1. logic by Anonymous Coward · · Score: 4, Insightful

    learning logic skills should be well in advance of coding. i do think our society waits too late on that.
    that alone could improve lots of things out side of computer programming as well.

    1. Re:logic by happy_place · · Score: 5, Interesting

      One problem with math education is that it simply isn't the same thing as logic or computer linguistics. Even Discrete Mathematics uses a whole different set of terms, jargon and solves only a subset of the sorts of logical conditions one can expect to program in a computer. But then that's been a problem for mathematics since its inception--its application to real world issues and uses...

      And very few schools actually teach programming, even at the High School level, let alone at lower level education. One reason is that a programmer generally gets paid better than a public school teacher, and so if you know how to program you've probably got a better paying job not at school. Further there's the question of what is a decent education in programming--and do you focus on programming at all with the limited time and access to computers--or teach them basic computer skills and be happy with it.

      In a public school you can probably expect the computer science teacher to double as a coach, with his first love being coaching. My High School experience was a bunch of us "smart kids" (most of them were kids who had dads with computers and that had taught them a few things) figuring it out, while the teacher floundered to explain sorting algorithms and what recursion was. (He had no clue, though I didn't realize this until I got to College and what had taken months to study and explain was all explained in perfect clarity by a grad student in about an hour lecture...)

      --
      http://www.beanleafpress.com
    2. Re: logic by sleigher · · Score: 4, Interesting

      I don't want a nation of thinkers, I want a nation of workers. - John D. Rockefeller.

      --
      All points of time and space are connected.
  2. teach reasoning, curiosity, specificity in preshoo by raymorris · · Score: 4, Insightful

    Preschoolers can start learning 90% of programming - thinking clearly, being specific about what you mean, looking at HOW things work. I was actually coding BASIC around third grade I guess, but code is a small part of programming.

    Pre-setting a macro in a toy truck is programming, and develops the skills - breaking down a desired outcome into specific steps, trying it and then making refinements, etc.

  3. ASAP by Thanshin · · Score: 4, Insightful

    Programming on itself isn't so useful, but learning to divide and organize a complex idea into it's base elements is one of the biggest flaws of the existing curricula. Almost no effort is done in that direction before kids reach college ages and not even for all kinds of degrees, at that point.

  4. When they want to. And ONLY when they want to. by Anonymous Coward · · Score: 4, Insightful

    Jesus Christ. It's disgusting to see all of these comments saying "early", or "by the time they're 4", or something along those lines. Jesus Fucking Christ!

    Kids should learn to code IF AND ONLY IF THEY WANT TO, AND ONLY WHEN THEY WANT TO .

    Forcing it on them surely won't help. It'll just alienate them from it.

    If a kid wants to learn to code, and expresses this interest, then provide him or her all of the support that's possible. Otherwise, bugger off and leave the kid alone. Just how nerdy kids don't like to be subjected to football and other sports against their will, athletic kids very likely don't want to be subjected to computer programming against their will.

  5. As early as they can read by TheRealMindChild · · Score: 5, Interesting

    We had a computer class once a week when I was in Kindergarten (1984-1985 to put it in perspective). We would type out small, prewritten LOGO programs and afterwards would discuss what they did and how our programs went wrong. We even had this little tank like robot in which you would input LOGO commands and it would move like the turtle would on the screen. It was what got me interested in everything programming and computers

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  6. That's fairly easy by Opportunist · · Score: 5, Interesting

    As soon as they're interested in it. Simple as that.

    Huh? That doesn't fit into your curriculum? Then I think it's time you ponder whether your curriculum has a problem or whether you want to continue making it the kids' problem.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  7. That's obvious by Virtucon · · Score: 4, Interesting

    As soon as they ask that they want to learn how to do it is when you should start engaging them not only in coding but other computer science topics as well. Before my kids (3 out of 4) learned the basics of programming, they also had a fundamental understanding of electronics not because I pushed it on them but because they saw me working and started asking questions. Coding isn't for everybody and despite efforts to the contrary, it's more creative than people would think at first. That's the fatal assumption, if you have a foundation with Math and good logic skills that doesn't equate to being good or even liking coding as a profession. Now, if you ask my three kids (who are now 18+) what they want to do in terms of careers, one is in a CS program the others are not taking that track.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  8. "At the const of" language skills? by Antique+Geekmeister · · Score: 4, Insightful

    That's absurd. Learning time-sensitive ordered tasks, such as in music or dance, or alternative ways to express similar ideas, such as language skills, are invaluable to skilled programmers. The ideas of checklists, logical operations, and revising a program on the basis of alternate events, learning about backup and what you can lose without it, are all useful.

    I'd be more concerned about what happens with _bad_ programming lessons, being taught to manipulate only GUI based patterns in a teacher expected way or be marked down for not doing it the way an uninformed, underpaid coding monkey wrote to mark the checksheet off their daily tasks and pays no attention to encouraging the children to learn how things work. I'm concerned tht the children will be taught only how to fill out a checklist blindly. I've worked with programmers taught that way, and they can become an active obstacle to good computing, good science, or even good politics.

    I'm afraid that a lot of the pre-teen children I've been meeting in public school would be better off, though, with real recess or a daily siesta rather than yet another mandatory lesson that requires sitting in a computer classroom. They're exhausted, and getting their bodies moving is being neglected in conflicting academic policies and goals.

  9. Re:In utero by happy_place · · Score: 5, Funny

    The problem with teaching children in utero is the smarter ones hack mommy's system and that makes for a difficult pregnancy, with her constantly craving hot pockets, bacon flavored snacks and highly caffienated beverages.

    --
    http://www.beanleafpress.com
  10. Re:In utero by Sponge+Bath · · Score: 4, Funny

    Yes, read them the complete works of Donald Knuth while incapable of running.

  11. Re:As early as possible by Anonymous Coward · · Score: 4, Funny

    Au contraire. I for one put general literacy above computer literacy. It is mre useful in the real world. Not everyone is going to be a programmer, but everyone needs to read and write.

    Not to be pedantic, but I expected more from you.

  12. Reading, writing math, music and ball sports. by Anonymous Coward · · Score: 5, Interesting

    Programming will be picked up long the way. Many trades nowadays seems to involve some programming in some sort of language - Excel Macros; ask an accountant. But is that really important for a child's future?

    What's is going to help the kid in his future academic career is reading, math, writing, music and ball sports.

    Yes, sports. Sports are a great way for a kid to learn social skills. And playing ball at an early age will help the kid develop "ball sense" which will help him with any sport he chooses later on. That's something that a developing brain is most apt to learn and something that people who don't have the experience as a chile never seem to pick up. It seems to be a skill that gets hardwired in at a very early age and once that window is closed, one can never get that sense. I know , I've tried. My coaches are always asking me if I played ball sports as a child because I don't have that "ball sense". and no matter how many hours playing, I just can't get it. (I spent many hours as a child in front of the Apple ][ programming BASIC)

    And music. Don't force the kid, but music.

    I don't get this fetish for getting children to learn to program. In the grand scheme of things, it's a skill that's not that important as a child.

    Looking back at my life (I'm mid forties), the programming as a child actually harmed me. I missed out on a lot of childhood things and it did me very little good as an adult - especially now when my job of off-shored and getting another programming job is proving to be extremely difficult.

    And another thing too, all the big shots - the ones who get the six figure bonuses when they cut costs by doing things like sending jobs overseas - were all ball players in college. They are the ones with all the personal connections - they get canned, their ball playing buddies gets them another cake job.

    My friends are machines and other socially inept techies.

    1. Re:Reading, writing math, music and ball sports. by BufferArea · · Score: 4, Informative

      I worked as teaching assistant for the computer science at a college and I have to say that, for most people, programming is *not* something that they will just pick up. I worked the computer lab for the introductory programming course and the majority of the students had to work very hard to learn programming.

      The point at which students initially had difficulty varied too. A surprising number had trouble with concept of a for loop. All of those students did make it past that though. What all of the students that had significant trouble with the course had in common, though, was the ability to generalize. They had problems with coming up with simple algorithms to solve simple problems. They could describe how to solve for very specific circumstances. Indeed, it seemed, most of the students could code a solution to a very specialize specific scenario, but, at least initially, not the general case. Many student improved greatly in this regard by the end, but a decent number still had issues (and I am only considering the ones that put forth effort in the course).

      Most of the students having issues could somewhat understand logical concepts. They could debug simple implementation issues, and they could usually look at other people's working code and explain what the code was doing. These students lacked the ability to think abstractly and apply logic and their learning to new problems where the steps to solve the problem weren't laid out for them. I believe it is the same issue you see in middle/high school math classes where many students can manipulate equations just fine but have problems with solving story problems.

      So, I do believe learning (proper) programming at an early age would benefit people. They would get more practice with thinking abstractly and have a venue for seeing practical and essentially immediate results.

      Also, I don't thinking learning to program would have to supplant other courses. It could be be used in addition to other topics. For example, children could be give a code that performs math on single digits numbers and then modify to handle numbers with multiple digits. Imagine programming long division and handling remainders. I think implementing the code for this would allow children to understand numbers and math at a deeper level.

      Ensuring programming was taught to everyone would have some benefits for employed programmers and to society in general, also. Right now, you see people in forums making comments about the sad state of some particular piece of software and how easy it should to fix an issue or how some problem should be easy to solve with a computer and why don't the programmers just code it up. People would come to realize the difficultly of creating a good program and what trade offs must be made for a program to be made quickly and relatively cheaply and perhaps they would decide for different trade-offs.

    2. Re:Reading, writing math, music and ball sports. by tlhIngan · · Score: 4, Interesting

      The point at which students initially had difficulty varied too. A surprising number had trouble with concept of a for loop. All of those students did make it past that though. What all of the students that had significant trouble with the course had in common, though, was the ability to generalize. They had problems with coming up with simple algorithms to solve simple problems. They could describe how to solve for very specific circumstances. Indeed, it seemed, most of the students could code a solution to a very specialize specific scenario, but, at least initially, not the general case. Many student improved greatly in this regard by the end, but a decent number still had issues (and I am only considering the ones that put forth effort in the course).

      Most of the students having issues could somewhat understand logical concepts. They could debug simple implementation issues, and they could usually look at other people's working code and explain what the code was doing. These students lacked the ability to think abstractly and apply logic and their learning to new problems where the steps to solve the problem weren't laid out for them. I believe it is the same issue you see in middle/high school math classes where many students can manipulate equations just fine but have problems with solving story problems.

      So, I do believe learning (proper) programming at an early age would benefit people. They would get more practice with thinking abstractly and have a venue for seeing practical and essentially immediate results.

      Coding will not help that. It's a big problem everywhere - and has been for years.

      My Feynman recalls his experience teaching science in Brazil. They score very high on tests, but they suffer from the exact same problem - they can answer a very specific question, but when put in a similar situation, fail to realize it.

      The fundamental problem is not coding. It's the way we teach - in this case, it's a form of rote memorization rather than application. Memorization is easy - ask any student who studies for a test and can spew back facts, figures and formulas without skipping a beat.

      The thing is, it's application of the concepts, or realization when situations are very similar.

      It's not limited to science - we often say "history repeats itself" because it's true - but it makes you wonder why we don't see it coming given that similar situations crop up again and again and again. (Heck, the Founding Fathers, in the Declaration of Independence made important observations - remember the part about "light and transient causes"?).

      The thing education lacks is the ability to teach synthesis, because it's very hard, and it's something that's difficult to apply to an entire classroom because everyone is different. (Synthesis is where you take what you know and apply it by synthesizing a solution - basically by seeing generalizations). Sometimes it's called critical thinking though that term is usually only in reference to texts.

  13. I think by JustOK · · Score: 4, Funny

    I think 8 am is about the right time to start.

    --
    rewriting history since 2109
  14. Re:teach reasoning, curiosity, specificity in pres by IndustrialComplex · · Score: 4, Interesting

    Right. Because as every parent will tell you, all you have to do is explain the logic to a preschooler and bam! You have instant recognition and the child will follow you request.

    As the parent of a 4 yr old, you just need to know how to do it in a way that 'tricks' them into learning. Preschoolers have tons of urges to do things, they just don't know how yet. That's why they seem holy terrors trying to get your attention. They know there are lots of things to do, but they are currently limited in their ability to actually do those things.

    So if a 4 yr old wants to watch 'Jake and the Neverland Pirates', I don't put it on for them. I sit down with them and ask them what we need to do. I get them to tell me that we need to turn on the television. Ok, then what? "Now we get the 'bemote'." Where is it? "I don't know." Where did you last use it? "On the beanbag chair." OK, should I look for it in the couch? "No, it's over here near the beanbag." Ok, now what do you do with the remote? "I press OK on the red box (netflix icon on Roku)" OK, what now? "I pick 'Jake' and press ok."

    Yeah, that sounds pretty mundane, but even something as simple as putting on a children's show can be used as a process for walking through a problem in a step-by-step manner, and steps like asking where they might have last used the missing remote, and then suggesting we look in the 'wrong' location to get them to understand the deductive process and elimination of impossible options.

    That's how you you start it.

    Then, when you trust them more, get them to help you in the kitchen. Cooking is the ultimate in 'introductory programming'.

    --
    Out of modpoints but really liked a post? 1BDkF6TtmmeZ3yqXbz9yhdYVqRYnwFoXDj