×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How Early Should Kids Learn To Code?

samzenpus posted about 7 months ago | from the diapers-and-distros dept.

Education 299

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."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

299 comments

logic (4, Insightful)

Anonymous Coward | about 7 months ago | (#44969229)

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.

Re:logic (1)

Anonymous Coward | about 7 months ago | (#44969241)

Waits too late? It never happens. And math education in the US and around the world is abysmal.

Re:logic (5, Interesting)

happy_place (632005) | about 7 months ago | (#44969387)

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...)

Reading, writing math, music and ball sports. (5, Interesting)

Anonymous Coward | about 7 months ago | (#44969747)

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.

Re:logic (0)

Anonymous Coward | about 7 months ago | (#44969477)

We've gone from:
P -> Q
to
P -> wet seat

Re: logic (0)

Anonymous Coward | about 7 months ago | (#44969365)

critical thinking...the rest follows.

Re: logic (0)

Anonymous Coward | about 7 months ago | (#44969451)

Most people aren't and never will be good at critical thinking, though. Most people don't have a deep (or even shallow) understanding of math, so how can we expect them to be decent programmers? Intelligent people are few and far between.

Re: logic (0)

Anonymous Coward | about 7 months ago | (#44969595)

The question is whether so many people have no understanding of mathematics because they are not intelligent enough (as you imply), or simply because they didn't put the necessary effort into it and/or got badly taught.

Re: logic (0)

Anonymous Coward | about 7 months ago | (#44969701)

It's both. More people could learn it if it weren't so poorly taught and if they put in the necessary effort, but I don't think there would be many more.

Re: logic (0, Flamebait)

sjames (1099) | about 7 months ago | (#44969653)

Critical thinking is a skill that can be developed or ignored.

Schools prefer to ignore it because a bunch of critical thinkers will be a problem for the politicians and their masters.

Re:logic (0)

Anonymous Coward | about 7 months ago | (#44969521)

I've seen a computer (it filled two rooms) for the first time in 1975. I was six, and I was allowed to type on a non-connected terminal (I know, because my father asked if I could not break anything by typing something wrong).

I was very impressed and I did understand that it could reason (not think) by something called "logic". So I started to study logic gates, building simple circuits with switches in serial (AND) and parallel (OR) with a battery and a lamp.

I also had a board game with Venn diagrams: a circle with blue objects, a circle with round objects, and blue AND round objects in the intersection. The objects in the union where blue OR round.

By the age of 8, I was building gates using transistors and relay switches.

When I was 9, I wrote my first programs on a programmable calculator (TI-59).

By the time I was ten, in 1979, I got access to a microcomputer and started programming in BASIC and in machine code (using a hexloader in BASIC). The TI-59 was actually a good preparation for machine code programming. I did not have an assembler, but when I was 14, I adapted a Z80 disassembler written in BASIC for TRS-80 to my own machine.

My computer had one disavantage at the time: there was no software available (except for the BASIC interpreter). Later, I appreciated that this was actually an advantage: by the time I went to university I had written about 200 games, a couple of word processors and a spreadsheet program.

Re:logic (0)

Anonymous Coward | about 7 months ago | (#44969635)

Came in to post exactly this. Don't worry about programming, teach them logic; it will help them immensely when/if they learn programming later, and will also be a huge help in other areas.

As early as possible (1)

Anonymous Coward | about 7 months ago | (#44969245)

Kids should start learn to code as soon as possible because computer are an important part of their lifes and through this process they learn many additional things like math, (english if they aren't native), logic, etc.

An interessting project is code.org

Re:As early as possible (-1)

Anonymous Coward | about 7 months ago | (#44969381)

Maybe if you had more English lessons, you would be able to spell!

Re:As early as possible (0)

Anonymous Coward | about 7 months ago | (#44969453)

You added nothing.

Re:As early as possible (0)

Anonymous Coward | about 7 months ago | (#44969529)

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.

Re:As early as possible (4, Funny)

Anonymous Coward | about 7 months ago | (#44969603)

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.

Early (0)

Anonymous Coward | about 7 months ago | (#44969255)

Instead of playing Mozart to them, play recordings of coding techniques to them while they are in the womb.

Re:Early (0)

Anonymous Coward | about 7 months ago | (#44969505)

Instead of playing Mozart to them, play recordings of coding techniques to them while they are in the womb.

Why not just play recordings of paradigm wars or language wars? Hell, let's push Functional Programming [xkcd.com] on them from day one.

Early (0)

Anonymous Coward | about 7 months ago | (#44969257)

Might as well get them started as early as they like.

But don't forget that teaching is actually a difficult thing to do well.

In utero (1)

Convector (897502) | about 7 months ago | (#44969259)

If not sooner.

Re:In utero (5, Funny)

happy_place (632005) | about 7 months ago | (#44969481)

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.

teach reasoning, curiosity, specificity in preshoo (4, Insightful)

raymorris (2726007) | about 7 months ago | (#44969263)

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.

Re:teach reasoning, curiosity, specificity in pres (1)

Anonymous Coward | about 7 months ago | (#44969309)

Agreed... and on a broader scale, if you teach kids *how* to think, instead of *what* to think, you will find that, especially in today's world of information at the fingertip, they will go off and learn more on their own than they ever will in a classroom with 30 other kids.

Re:teach reasoning, curiosity, specificity in pres (1)

homey of my owney (975234) | about 7 months ago | (#44969385)

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.

Re:teach reasoning, curiosity, specificity in pres (0)

Anonymous Coward | about 7 months ago | (#44969535)

That's how it works with my 2 and a half year old, he follows basic logical arguments very well. Show him several objects and ask him which one is best for a basic task he understands and he will pick the most reasonable one. Kids don't default to wild inattentive hoodlums, it's learned behavior like anything else.

Re:teach reasoning, curiosity, specificity in pres (0)

Anonymous Coward | about 7 months ago | (#44969589)

>Kids don't default to wild inattentive hoodlums, it's learned behavior like anything else.

You obviously have only one child.

Re:teach reasoning, curiosity, specificity in pres (1)

dkf (304284) | about 7 months ago | (#44969717)

>Kids don't default to wild inattentive hoodlums, it's learned behavior like anything else.

You obviously have only one child.

That's attention-seeking. Kids are good at learning to do more extreme things in order to actually get someone to pay attention to their needs and desires as opposed to someone else's.

Re:teach reasoning, curiosity, specificity in pres (1)

Big Hairy Ian (1155547) | about 7 months ago | (#44969415)

Perhaps I should add programming a calculator to display 80085 to my CV (that's a resume for those across the pond)

Re:teach reasoning, curiosity, specificity in pres (0)

Anonymous Coward | about 7 months ago | (#44969771)

Perhaps I should add programming a calculator to display 80085 to my CV (that's a resume for those across the pond)

Even before the internet, people used computers to share pornography

My Experience (3, Interesting)

TheRaven64 (641858) | about 7 months ago | (#44969285)

I was 7 when I learned to program. We had one lesson a week taught by the school's headmaster on whatever he thought was interesting, and so he taught some programming in BASIC[1] on the BBC Model B. He also taught some geometry using Logo on the same machine. It was connected to a big TV (which, by modern standards, is a small TV), and he'd ask the class to describe the program and he'd type it. After school and at lunch and break times there were a few of these machines that we could use, and I learned a bit more. I asked my father to teach me a real language, and he taught me PL/M86 (which I still miss sometimes), and I then moved on to C[2].

When I got to university, I discovered how much of the theoretical side I was missing. The main problem with teaching programming at an early age is that it really needs to be accompanied by teaching logic and then game and graph theory. I've seen classes that do this well for under-10s, but they're very rare.

[1] The Dijkstra comment that teaching BASIC should be a criminal offence doesn't really apply to BBC BASIC, which had full support for structured programming, an integrated assembler, and direct access to memory-mapped hardware.
[2] Back then, you really needed makefiles because there was no equivalent to a modern compiler driver. Compilation, assembly, and linking were all separate, manual, steps.

Re:My Experience (0)

Anonymous Coward | about 7 months ago | (#44969361)

I taught myself basic programming, Q basic actually, then HTML and javascript (not that they really count as coding) a little later than you, but far earlier than even the first computer courses I took. In fact, by the time I reached grade 10 computer courses, I was in fact teaching the class how to program Q basic as I had a much firmer grasp on it than the instructor.

There is no such thing as too early. And if you can get the kids interested early, they will take it upon themselves. What kid doesn't like computers and games? Not many, teach them early that they can actually build that stuff themselves, and by highschool they will be running startup companies.

On second thought, I'm out of work and really don't feel like competing with a bunch of whiz kids, so lets not teach them anything.

Re:My Experience (1)

jittles (1613415) | about 7 months ago | (#44969467)

I was 7 when I learned to program. We had one lesson a week taught by the school's headmaster on whatever he thought was interesting, and so he taught some programming in BASIC[1] on the BBC Model B. He also taught some geometry using Logo on the same machine. It was connected to a big TV (which, by modern standards, is a small TV), and he'd ask the class to describe the program and he'd type it. After school and at lunch and break times there were a few of these machines that we could use, and I learned a bit more. I asked my father to teach me a real language, and he taught me PL/M86 (which I still miss sometimes), and I then moved on to C[2].

When I got to university, I discovered how much of the theoretical side I was missing. The main problem with teaching programming at an early age is that it really needs to be accompanied by teaching logic and then game and graph theory. I've seen classes that do this well for under-10s, but they're very rare.

[1] The Dijkstra comment that teaching BASIC should be a criminal offence doesn't really apply to BBC BASIC, which had full support for structured programming, an integrated assembler, and direct access to memory-mapped hardware. [2] Back then, you really needed makefiles because there was no equivalent to a modern compiler driver. Compilation, assembly, and linking were all separate, manual, steps.

I learned to read on the computer. We got an Apple-II when I was ~3 years old (I am dating myself now). My older siblings would use the BASIC interpreter built into the device to make it scroll "Jittles sucks" infinitely, things like that. By 5 I was doing the same thing back to them. It's amazing what a little sibling rivalry can do. I started checking out programming books from my elementary school library by the time I was 8. I don't even know whether an elementary school library has such books where I am now. I started working in industry at 16, with C and Perl being my first professionally used languages. Those were the good old days...

Re:My Experience (1)

Bigbutt (65939) | about 7 months ago | (#44969663)

My daughter started when she was 8 using Logo and turtle graphics (IBM Logo) on my PC. She's 35 and a DBA in New York now :)

[John]

Re:My Experience (3, Insightful)

beaverdownunder (1822050) | about 7 months ago | (#44969741)

> [1] The Dijkstra comment that teaching BASIC should be a criminal offence doesn't really apply to BBC BASIC, which had full support for structured programming, an integrated assembler, and direct access to memory-mapped hardware.

BBC BASIC was good, but even Microsoft BASIC was better than nothing. Saying you shouldn't teach kids how to cook unless you're teaching them fine cuisine is stupid.

Cleary. (0)

Anonymous Coward | about 7 months ago | (#44969295)

Age -3.
The mother needs to talk to all of her eggs about programming years before they're fertilized.

Re: Foreign Language learning (1)

pokeparadox (2740729) | about 7 months ago | (#44969299)

I would have thought that being able to learn a second language is useful skill in being able to learn a programming language. At least it helped me...

Not comparable (1)

Anonymous Coward | about 7 months ago | (#44969315)

One can learn a programming language in a few weeks with moderate effort. Foreign languages can take years unless you're dropped in the middle of the country with no one speaking your language. In which case, it'll still take six to twelve months.

oddly enough (1)

kcmastrpc (2818817) | about 7 months ago | (#44969317)

I learned to program at a very young age, writing basic at 7 or 8 years old.

... I also don't know any foreign languages (I somehow got out of that requirement in HS), and I don't play any instruments.

Re:oddly enough (0)

Anonymous Coward | about 7 months ago | (#44969639)

I play the keyboard. The computer keyboard, that is. ;-)

Do kids actually learn anything in music? (1, Troll)

techprophet (1281752) | about 7 months ago | (#44969319)

All it taught me was to hate classical music, which took a while to get over. I've a feeling that the same might happen with programming. IMO: make logic a mandatory course in elementary school and then offer real CS courses in high school. None of this business with "and here's how you use excel, now go play on Facebook little Johnny"

Re:Do kids actually learn anything in music? (1)

Xest (935314) | about 7 months ago | (#44969613)

Yes, I think this is a bigger problem with schooling in general. The problem, at least here in the UK, is that you have to follow these subjects for years, even if they're worthless to a particular kid because they have zero interest in them and nothing will get them interested in them at that age.

I learnt nothing from music, drama (acting), French, German, and English literature when I was a kid, they were complete and utter wastes of my time.

Schools should be allowed to spot kids that have zero interest in a topic and allow them to study something else in that time instead.

This isn't to say I view topics as useless, particularly French and German I'd love to spend a bit of time to learn them now, but then they were completely pointless because I was so uninterested in them it was just wasted time. I'd have been better off repeating say maths or science to reinforce knowledge in those subjects rather than wasting time in subjects I found so uninteresting I'd learn nothing.

If a kid has no interest in Music, or PE, or English Literature or whatever then they should be moved to something that does interest them during the periods those classes would otherwise be or even simply allowed to sit in the library or whatever studying something of their choosing. This would be way more beneficial for kids.

It's one thing to give them a year or two year introductory course in each topic so they can figure out what they do like, but after that if they've got no interest in the topic they shouldn't be forced into it for another 8 - 10 years or whatever.

I bet you anything this would also cut rates of kids skipping class, and if kids aren't skipping class then they're also less likely to get in trouble or pick up bad habits because they wont be hiding behind the bike sheds smoking, or jumping over into neighbouring gardens or whatever whilst they avoid subjects they outright hate.

Re:Do kids actually learn anything in music? (2)

sjames (1099) | about 7 months ago | (#44969853)

Some blame has to fall on the teachers and the official curriculum that hamstrings them. If they present the subject in a bone dry manner, they will completely fail to capture the interest of any student who isn't already interested. If they are not prepared to take a different approach than the average, there will be kids that will miss out on the initial ah-ha experience that allows them to appreciate the rest.

I do agree that if a subject has failed to capture their interest, harping on it for the next several years will do more to turn them against changing their minds than anything else.

"Learn to Code" is the problem` (0)

Anonymous Coward | about 7 months ago | (#44969323)

We shouldn't "Teach kids how to code". We should understand that a programming language is a language, and that the value is not in the language, but in the concepts that underly it. My kids "got" scratch at 7 and 5. They still don't know how to "program", and that's not something I'm concerned about or interested in teaching them. They do, however, have concepts of loops and inputs, outputs, storage and algorithms. That will help them substantially more than being able to scratch together a program.

ASAP (4, Insightful)

Thanshin (1188877) | about 7 months ago | (#44969339)

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.

Re:ASAP (1)

Anonymous Coward | about 7 months ago | (#44969583)

You'd think this would be so easy to add to existing courses. Just make the kids do a BIG project, than none oft them can do alone. They will have to break it into parts. MAke it so big even the parts must be broken into parts. Then change the requirements half way through the project. Then move the deadline 3 months earlier. Then add 10 three years younger pupils to the "workforce". After that move half of the original class to new project, move the deadline 1 month earlier, shout at them because it looks like they won't get it done, then change the requirements, move the deadline 2 days later to give them enough time to adjust to the new requirememts. This far they already know most basic programming principles. If it's possible you could switch their teacher at this point to one that has no idea what the previous one was trying to archieve, and you are all set. The actual programming languages and other minor details can come later.

Re:ASAP (1)

tomxor (2379126) | about 7 months ago | (#44969619)

I wish i had started earlier, but i have found that starting out older has some advantages for self learning such as being able to identify what you need or want to learn more easily...

What you are describing is something i identified as what i thought was the hardest and most creative and interesting part of coding for me, and i'm still not sure how to accurately describe it, architecting? engineering? designing?.

I don't think the programming itself at a more discrete level is necessarily easier or less useful though, especially when it involves some hardcore math, it can be just as challenging and creative but at a much lower level... then again i find the more common and simpler problems only require a less creative process of iterative deduction to arrive at the few best solutions possible.

Figuring out the grand design of a complex idea can leave beginners like me paralysed, I can understand and value concepts like modularity but on their own it just feels vague when trying to come up with a design from little experience. Can you suggest some good material on code design? I want to learn the rules before breaking them so speak so i'm craving some quality recourses on this topic.

Re:ASAP (1)

dkf (304284) | about 7 months ago | (#44969759)

Figuring out the grand design of a complex idea can leave beginners like me paralysed, I can understand and value concepts like modularity but on their own it just feels vague when trying to come up with a design from little experience.

It's like eating an elephant: take one bite at a time. Pick a little bit that you think you can tackle and have a go at it. Then take on another bit. And another. Don't be afraid to go back and redo if you find out you're wrong; everyone's wrong sometimes, you've just got to try again.

When they want to. And ONLY when they want to. (4, Insightful)

Anonymous Coward | about 7 months ago | (#44969347)

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.

Re:When they want to. And ONLY when they want to. (2, Insightful)

Anonymous Coward | about 7 months ago | (#44969555)

No, just plain wrong.

The idea that kids should only learn about or do things that they explicitly present an interest in is simply retarded. Kids should be exposed to all kinds of different things, because if you don't expose them to all the things they'll have no clue which of them they are interested in, or find fun.

Sure, there comes a point where if your kid is going "daddy daddy, I want to go windsurfing" you shouldn't tell them "no, we're going to program for the next 3 weeks", but that doesn't mean that you shouldn't introduce your child to {programming, windsurfing, .....}

Re:When they want to. And ONLY when they want to. (1)

beaverdownunder (1822050) | about 7 months ago | (#44969865)

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

Er... I guess they should only learn math, English, history, geography and whatever else IF AND ONLY IF THEY WANT TO as well. Imagine the education cost savings if we only taught children what they wanted to learn!

We teach children what they need to know, and _what we need them to know_ to further our economy. Our future economy needs more children to know how to code, at least as much as they need to know history, geography, biology or chemistry, if not math or English.

Difficult pros and cons (2)

geekmux (1040042) | about 7 months ago | (#44969349)

Tossing programming courses in the curriculum is a wise idea, but now one has to balance the value add across the entire group if you're going to remove things like foreign language skills or music, both of which I see offering a considerable challenge to the value argument.

I highly doubt the person wanting to visit a foreign country will be praising the fact they have excellent programming skills at age 17, and yet find they cannot communicate.

Ask any programmer. 99% of them cannot live without music. It can help feed the creative mind that job demands. Learning about various kinds of music and their benefits (such as classical music impact on brain wave activity) rather than growing up shoehorned into the top pop/YouTube culture can be key to unlocking the potential of the creative mind.

Re:Difficult pros and cons (0)

Anonymous Coward | about 7 months ago | (#44969761)

Programming should be taught at a very young age. Just like learning a language, very young children tend to be the most receptive to learning programming, cryptography (very basic codes), and communications skills. The nice part about programming being taught younger is that STEM classes will be easier to teach as they age because they'll be able to apply the knowledge using the programming skills they learned at a young age.

Yes, communication skills are extremely important, but also best taught in the home. Adults who have poor communication were children whose parents didn't communicate, share, or just hang around with them. The very fundamentals of how we talk to others comes from how our parents talk to us, each other, and other adults.

Yes, this means that parents will actually have to PARENT. Sorry, all learning starts in the home. I don't care what school system or country you are in.

As early as they can read (5, Interesting)

TheRealMindChild (743925) | about 7 months ago | (#44969353)

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

That's fairly easy (5, Interesting)

Opportunist (166417) | about 7 months ago | (#44969355)

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.

Re:That's fairly easy (3, Informative)

the agent man (784483) | about 7 months ago | (#44969813)

No, that does not work. The Scalable Game Design project - discussed in the article - is specifically addressing the problem of broadening participation, e.g., the lack of interest in CS by girls. In other words, the lack of interest is precisely the problem. Our research (with over 10,000 students from all around the USA) suggests that MOST students, boys and girls, CAN be interested in CS through games and can advance from games from STEM simulations. Also, Scalable Game Design is a curriculum, not an afterschool program, that has been integrated into middle schools and even some elementary schools. The key is to 1) find time in existing curriculum to get started (e.g., in keyboarding and powerpointing types of courses) and to 2) transition to relevant STEM topics by teaching kids how to create science simulations. This is part of the new Next Generation Science Standards.

Why SHOULD? Why KIDS? (0)

Anonymous Coward | about 7 months ago | (#44969379)

I don't understand the notion that kids HAVE to learn how to program. Is it somehow imperative compared to any other talent or skill? Why do they HAVE to learn, and why does it have to be when they are still kids? Like... eh?

Rubbish.. we need children to learn social skills! (1)

Paul Lester (3318297) | about 7 months ago | (#44969395)

Um. We need Economists, Scientists, Marketers, School Guards.... aka all sorts of professions. Only a small subset of professions need coders (I am one of them). People who become coders easily learn it from a toddler on their OWN like the professor in the article and me, (and many others). Its not a key skill for everyone to have, its a skill you are born with. And many coders "so-called" cannot code. Coding is not something we need to teach everyone as a basic skill, its like... lets tech everyone to be an oil well driller from a young age because everyone needs to drill oil wells! We need maybe 200 people on the planet to drill oil wells at most. For coders maybe we need 10 million or so at most (maybe 10,000 would be enough) to cover all the worlds needs, but you get my point here. On the other hand we need probably on the order of 500 million teachers to cover all the teaching. The art of coding had changed so much in the last 20 years. If we teach them what is popular today, it may be archaic in 20 years by time they start coding. I started on Apple II's BASIC, moved to Commodores BASIC, then to TI Logo, C, Pacal, Machine Code, LabVIEW, JavaScript and so on and so forth. Now I am "publicly" in Python and Java, and each realm though building on the last is completely different from the one before. What would we teach? Bits? Object Oriented? DBs? HTML? 2-D Graphics? 3-D Graphics? Integration? There is no "key" concept here. What everyone needs is reading, social skills, morals, history, politics, and so forth; not coding.

Re:Rubbish.. we need children to learn social skil (0)

Anonymous Coward | about 7 months ago | (#44969457)

Someone here needs to learn to break his thoughts up into something called "paragraphs."
 
It makes it so much easier to read.

Re:Rubbish.. we need children to learn social skil (0)

Anonymous Coward | about 7 months ago | (#44969623)

He should have studied more literature insted of coding. Just proves his point.

Re:Rubbish.. we need children to learn social skil (1)

angel'o'sphere (80593) | about 7 months ago | (#44969513)

you lost me at: and so forth

And btw. your numbers are way off, 500 million teachers for 6 billion people means every 6th person is a teacher, or every 4th adult is a teacher.

Re:Rubbish.. we need children to learn social skil (1)

serviscope_minor (664417) | about 7 months ago | (#44969549)

Um. We need Economists, Scientists, Marketers, School Guards.... aka all sorts of professions.

Yes we do.

Only a small subset of professions need coders (I am one of them).

That too is correct.

Its not a key skill for everyone to have,

What everyone needs is reading, social skills, morals, history, politics, and so forth; not coding.

And maths. And science. And geography. And a foreign language. So, why not code?

Coding is as much a part of the modern world as any of those things. Most people won't need most of them on a day-to-day basis and in fact most people will survive not having any knowledge of them at all.

That doesn't mean they shouldn't be taught.

Knowing about the world it what education is about. Why single out coding for special treatement?

Re:Rubbish.. we need children to learn social skil (0)

Anonymous Coward | about 7 months ago | (#44969571)

Social skills? Fuck you. I've got your social right here!

I'm going to go trash you on Facebook and then maybe open a twitter account focused solely on your suffering on other social networks.

Re:Rubbish.. we need children to learn social skil (0)

Anonymous Coward | about 7 months ago | (#44969839)

What would we teach?

Ideally: How to decompose a complex problem into simpler problems which you can more easily solve.

Note that this is a skill which you not only can use with programming. At the same time, programming at the end is nothing but such a decomposition, where the easiest solvable problems are those your language/library already contains a solution for. Everything else is details.

That's obvious (4, Interesting)

Virtucon (127420) | about 7 months ago | (#44969405)

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.

Re:That's obvious (1)

CockMonster (886033) | about 7 months ago | (#44969507)

Here, here. The artful side of programming is never talked about, it's up there with architecture if you ask me.

I teach it in grade 4 (1)

fullymodo (985789) | about 7 months ago | (#44969407)

I do a robotics unit in my grade 4 class with Lego Mindstorm kits. They learn some basic programming concepts like loops and if-then statements. They love it, and in my experience age 9 is about the right developmental stage to start this. However, logical and critical reasoning skills can be taught at a much earlier age. Every child is different, of course, and some will be able to run with those concepts earlier, but that has been my observation.

Music?! (0)

michelcolman (1208008) | about 7 months ago | (#44969423)

Programming may have come at the cost of... music?! Oh, my, now we're really going down the wrong road! We must not let useless hobbies like programming get in the way of much more important and useful things like music!

You can even go further, who needs math or writing skills if it comes at the expense of singing and dancing? Get rid of it!

Re:Music?! (0)

Anonymous Coward | about 7 months ago | (#44969667)

Depends on what you want to archieve. Most people who sing, dance, and have music as a hobby seem to be very happy. I do know people who enjoy maths, but they sure as hell aren't the majority.

If I had to set a goal, it would be a world where people could enjoy music without having to know how to add numbers together. Yes, it's a utopia, but that would be the direction where I'd like the humankind as a whole heading for. ( Yeah, making the superrich even richer doesn't fit with this. Their wealth should be used to make life better for everyone, and to spread into space )

Re:Music?! (1)

michelcolman (1208008) | about 7 months ago | (#44969859)

People who sing and dance AS A HOBBY seem to be very happy, indeed.

Children who are forced through music lessons, though, are they so much happier than those who weren't? Learning how to read notes never struck me as more enjoyable than learning maths, and certainly felt a lot less useful.

It's getting idiotic (0)

Anonymous Coward | about 7 months ago | (#44969427)

Seriously. Why on earth would every kid need to learn how to code. If you're gonna force someone to learn how to code, then you will just drive them away from it or make them hate it. If you, or the US in general, so terribly want to grow programmers then start with math. If they like it, they will probably pick up programming themselves at some point.

No point in teaching them programming. (1)

Delusion_ (56114) | about 7 months ago | (#44969437)

If the corporate culture has its way, all of those jobs will be outsourced by the time today's toddlers get to the job market.

As soon as they demonstrate interest and ability. (1)

Bulge Temptingly (982649) | about 7 months ago | (#44969445)

This recent notion that for some reason all children should learn coding is utterly ridiculous. They shouldn't, any more than we should try to make them all into concert pianists. What we should be doing is learning to identify the ones that have shown interest and ability at an early age by themselves, and then streaming and incentivising them throughout their education, end encouraging the Googles and so on to take a mentoring interest in them at 10 or 12 years old. The other kids should of course be computer literate, know how to install software, fix basic issues and so on but this 'everyone must be a coder' thing is horseshite.

"At the const of" language skills? (4, Insightful)

Antique Geekmeister (740220) | about 7 months ago | (#44969459)

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.

As soon as "x" is introduced in math (0)

Anonymous Coward | about 7 months ago | (#44969461)

I'd say as soon as "x" (the variables) is introduced in mathematics it makes total sense to teach programming. I would support teaching programming even before that, but if I have to give some definite answer this can be argued for those not knowing anything.

Job security (0)

Anonymous Coward | about 7 months ago | (#44969469)

K-12 should never teach programming.

No age is too early (1)

vikingpower (768921) | about 7 months ago | (#44969471)

Confer my dawg. I had him for slightly over 2 years now, got him when he was 1 1/2 years old. Although he is a crossover between two races renowned for their brains ( a dachshund and a german shepherd ), he STILL does not know the difference between an interface and an abstract class. Fibonacci series: same things. Beyond F(2), he is lamentably lost. Pretty much the only thing he can do, is reading Aristotle and Thomas of Aquinas, these dorks. I should have started earlier.... ?

Try junior high (2)

SirGarlon (845873) | about 7 months ago | (#44969473)

In my education, there was a big dead zone called junior high where the state curriculum taught very little new material -- just algebra and a little civics -- and spent most of the time rehashing what had been taught in elementary school. The prevailing wisdom that "raging hormones" made the junior-high kids unreceptive to new learning. Seriously, this is what principals and superintendents said. It's the most insulting thing to the pupils I can imagine.

Junior high was when some of my friends started taking drugs. I was reading a book a day just to kill the boredom, and I'm convinced I would have been better off skipping class and reading two books a day.

So you could give the kids something useful to learn during those two years, instead of spending taxpayer money to basically babysit them.

Forcing them to learn is bad (1)

CockMonster (886033) | about 7 months ago | (#44969487)

If there's anything that'll kill any interest in a subject its having to adhere to a Government approved curriculum. They're kids, let them play in the sun/puddles and fall out of trees for a few years before allowing them to sit in front of a computer all day.

Robot Turtles (3, Insightful)

TC Wilcox (954812) | about 7 months ago | (#44969497)

My only affiliation with this game is that I back it. Today is the last day of the kickstarter..... http://www.kickstarter.com/projects/danshapiro/robot-turtles-the-board-game-for-little-programmer [kickstarter.com]

Robot Turtles is a board game for kids ages 3-8. It takes seconds to learn, minutes to play, and will keep them learning for hours. Kids won't know it but while they're playing, they're learning the fundamentals of programming.

What's "coding"? (1)

bazorg (911295) | about 7 months ago | (#44969503)

I'm not a software developer or anything of that sort. Maybe school children can have some sort of programming lessons as part of maths, just organised in a different way than it was back in my younger days.
My school maths curriculum included logic operations when I was in 10th grade (16-17 years old)
Converting numbers from base 10 to base 2, base 8, base whatever when I was in 5th grade (10-11 years old)

Is that the basis for "coding", or do people mean clicking on UI elements and assigning them existing functions?

Be very careful (1)

fustakrakich (1673220) | about 7 months ago | (#44969511)

As you all know, well educated children are less likely to respect authority. Total obedience is the real goal. It's best to preach compliance through rote learning. It reduces the dangers of independent, critical thinking.

Stupid question (0)

Anonymous Coward | about 7 months ago | (#44969563)

Kids should, can and will learn to code when they are ready to do so.

Readiness will have little or nothing to do with chronological age.

Stupid people think humans are all identical meat robots, but in reality we all mature on our own curves.

Dad taught me when I was 4 (0)

Anonymous Coward | about 7 months ago | (#44969601)

I learned BASIC on a TRS-80 Model 1 when I was 4 years old in 1979.

I remember back when .... (1)

Doitroygsbre (712871) | about 7 months ago | (#44969651)

Our local school had several used computers donated to it (TRS-80's and the like). That summer they decided to have computer courses open to anyone who wanted to learn. I was going into kindergarden at the time and my parents signed me up for the course. I learned how to boot DOS, run a few commands and create a program in BASIC. I really enjoyed making the rocket scroll across the screen and I remember how proud I was when I changed the rocket to add my name onto it. Probably why I'm still programming these 30 years later.

That being said, I'm not sure there is much benefit in teaching children to code. Teach them how to use a computer well. If they are curious, teach them to make it crash constantly (aKa programming).

Shouldn't be forced (1)

cod3r_ (2031620) | about 7 months ago | (#44969675)

Early is bad if it means you are forcing all kids to try to learn programming skills.. If they have a choice to take it as an elective though that'd be good to start in middle school.. let 6th graders that want to learn about it get started by the time they are out of highschool they'll be badass coding machines.

LOGO (2)

beaverdownunder (1822050) | about 7 months ago | (#44969677)

When I was 6 (in 1981) my Grade 2 class learned LOGO (at least the turtle graphics part). Of course I had been programming on my TS1000 for a year at that point, and so was mostly helping the other children. But still, pretty much everyone in the class "got it".

Why they stopped (and they did stop, after all) teaching programming to kids that age, I don't know. It was a stupid move. Really stupid.

Interesting Concept (1)

Murdoch5 (1563847) | about 7 months ago | (#44969725)

I think around grade 4 is where kids should get tested for if they should be taught programming or foreign language. A programming language should be taught of as a real language just like french, german or russian. If some kids can easily grasp foreign languages ( polyglots ) and some kids can pick up computer programming easily, then why teach them the same. I think we're entering a time when we need to start tailoring the education system into groups. Kids who can learn languages easily should take languages, where as kids that want to program and play with computers should be given computers. Forcing a kids to learn something like french when they will never understand it or teaching them C when they will never understand it is pointless, I think in grade 4 it's time to start figuring out what kind of stream kids should be in, computing, music, english, languages and etc.... Specializing the elementary school system could lead to much smarter kids.

code club (0)

Anonymous Coward | about 7 months ago | (#44969745)

There is a group based in the UK called code club (https://www.codeclub.org.uk/) that recognized this problem and so created a set of courses to teach 9 to 11 year old kids how to program in scratch (later courses cover python and css). Computer programmers can then volunteer to go and teach it in primary schools in an after school club - with all the resources they need all ready for them.
I have been doing it for the past six months, having never taught kids before, and I really enjoy it, and found it very easy as the kids love it.
The courses are also available on github and in different languages, so anyone around the world can start one up.

I'd say late elementary to early middle school. (1)

intermodal (534361) | about 7 months ago | (#44969757)

It's important to get their minds going on this stuff young. But not so young that they let the computer do all the work and miss the opportunity to actually learn things themselves. A group of my friends and myself taught ourselves and each other BASIC back when I was in 7th grade (well, 8th grade for most of them, as they were older than me by a year). If we'd had access to something like Python, we almost definitely would have automated our math homework out of existence, especially when the teachers' only threats about "showing our work" was that if we got the answer wrong, they could give us partial credit.

correction (1)

intermodal (534361) | about 7 months ago | (#44969775)

well, ok. Once we got access to graphing calculators, we did that anyway. And we still did it to an extent with BASIC.

Duh, as early as they can handle it (1)

luis_a_espinal (1810296) | about 7 months ago | (#44969825)

How Early Should Kids Learn To Code?

As early as they are capable of devising logical constructs (probably by the 2nd grade) IF AND ONLY IF they provide an aptitude and desire for it.

No lessons required (1)

DjDanny (171472) | about 7 months ago | (#44969857)

I started programming when I was about 4 or 5 on the brand new Sinclair ZX81, moved on to the Commodore 64 doing BASIC and then 6502 assembler, then Amiga 68000 assembler and a bit of C and eventually moving on to Java and C# on PCs.
The key thing, however, is that I never did a single programming course in my life. It was all self-taught and done in my spare time because I enjoyed it. I still program as a career all these years later.

The moral of the story is, you don't need to be taught to code - if you enjoy it, you'll do it anyway.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...