Excite Kids To Code By Focusing Less On Coding
the agent man writes "The Hour of Code event taking place December 9-15 has produced a number of tutorials with the goal to excite 10 millions kids to code. It's really interesting to contrast the different pedagogical approaches behind the roughly 30 tutorials. The University of Colorado's 'Make a 3D Game' tutorial wants to excite kids to code by focusing less on coding. This pedagogy is based on the idea that coding alone, without non-coding creativity, has a hard time attracting kids who are skeptical of computer science, including a high percentage of girls who think 'programming is hard and boring.' Instead, the 'Make a 3D Game' activity has the kids create sharable 3D shapes and 3D worlds in their browsers, which they then want to bring to life — through coding. There is evidence that this strategy works. The article talks about the research exploring how kids get excited through game design, and how they can later leverage coding skills acquired to make science simulations. You can try the activity by yourself or with your kids, if you're curious."
A better way to promote programming to kids:
https://www.google.com/search?q=booth+babes&source=lnms&tbm=isch
If you want news from today, you have to come back tomorrow.
Coding for it's own sake is *easy* and boring.
Programming well is indeed hard for most, and most would find trying to do such a thing boring. Intelligent people are few and far between, and a grand majority of people just don't have the aptitude to be good programmers, or even mediocre programmers. Give it up, it's hopeless, Kenstar!
obviously should be "code in his node."
That's great sam that you spent time with the fam and thus have to post this spam.
When you see your wife (LOLS) tell her thank you ma'am.
...however Ronald McDonald has shown that a happy meal with a TOY works best.
Unless the toy its stupid and boring CODE.
If you want people to get interested in programming, you have to show them something interesting they can do with it? *gasp*
Personally I didn't get interested in programming because someone showed me how to do a for loop. I got interested because I could build games in ZZT or add my own cheat codes to gorillas.bas. (Those damn gorillas didn't stand a chance against my nuclear bananas.)
There's no -1 for "I don't get it."
Was programming ever not hard or boring?
Me thinks some little kiddies are in for a rude awakening when they realize their favourite games are comprised of nothing but hundreds of thousands of lines of "code". The real world doesn't hide C or C++ behind a pretty sugar coated UI. If they're not interested in programming, then they're not interested in programming. I don't understand why there seems to be this excessive push to force programming on younglings these days. It's definitely not for everyone, and the last thing we need right now is more dis-interested programmers who write crummy code because they're just there for the cash.
I love to code and have been ever since I owned my first computer, but the kids are right. Programming is hard and boring compared to a lot of things they could be doing. So may we can try to help them understand why this hard and boring task is still worth their time. Instead of try to put lipstick on that particular pig.
A nation turns its lonely eyes to you (Woo, woo, woo) Programming for the People
This is no secret... And yet it's not really done enough. At Griffith University a language called MaSH is used to lower the bar and allow people to actually make stuff happen, while still being a good introduction to *real* coding (it's a subset of Java and a few specialised APIs). Simple text processing, simple graphics, simple robotic control. http://www.ict.griffith.edu.au/arock/MaSH/
What is it with all the stuff that wants me to use Chrome these days? Fine for an educational setting, of course. But this coding to the browser stuff is getting offensive. Is Chrome really that much better at graphics or whatever? And is Firefox getting fixed up, or what?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I've never learned any language for it's own sake, and I've always been interested in programming as long as I can remember.
Every time I've tried to learn a language just to know it, it's about as successful as pushing a string. As soon as I have some goal I'm excited about where not knowing a certain language is getting in my way of achieving it, I learn virtually effortlessly.
I don't get why people make 'web apps' whose only advantage seems to be that they're cross platform, and then tell me that I should be using Chrome for the 'best experience'. It seems to work fine in Firefox, but perhaps something is subtly broken.
How about take the kids that are actually fascinated by it, and do things to enrich them? Then when they're ready to work, make sure they're in a position to use their talent and gift - instead of putting them in the "everyone is equal crowd" where everyone goes to meetings and discusses the various wrong way to do things?
Just as global climate change is used to force people into accepting limits on freedom, the "camp code" is a cult attempting to drastically increase supply over demand so business has cheap labor. The "fail" is that "coding" takes talent...
Logic got me interested in programming.
So all we gotta do is teach children that dad is stupid, the priest is a liar, and the government doesn't give a shit about them.
That's the most hideously-designed site I've seen in a long while.
Comment of the year
Take them to 1981 and give then an Apple II or a Commodore PET? And a 100 different copies of "Compute" magazine so they can type in their own programs and get immediate gratification from a small amount of code?
It's the wrong idea entirely. Just go back to basics and use BASIC, and kids who have an aptitude for programming will become entranced in no time by how they can get the computer to do what they instruct it to do. However much you appreciate the best points of [insert favourite modern language here], I've never seen anything that would have been so comprehensible to the young person's mindset and abilities as it was for me at the beginning of the home computer era, nevermind the fact that it introduces the most important aspects of programming languages.
Once you get to the stage where you've built your first game and are then able to adapt it and refine it, you're pretty much there in terms of being ready to get your foot on the first rung of the professional programmer ladder.
That's a long hour.
Why the hell the push to force more women into programming? Programming is a dead-end job. The stats and personal experience show a good percent move on to something else. Burnout, RSI, ageism, long-hours, etc. are real issues in programming. Women want stability because they often end up being the primary care-givers of families for good or bad, and programming is NOT stability.
If you like programming, that's fine, but don't expect to be able to stay in it for more than 15 or so years. Have a Plan B.
I'm just the messenger.
Table-ized A.I.
"It's really interesting to contrast the different pedagogical ...This pedagogy"
Protip: If you want to try to impress by using big words, learn more of them.
"National Security is the chief cause of national insecurity." - Celine's First Law
Windows tools are actually pretty good at removing the minutia of professional coding. Access is a great learning tool. You can create a normalized database, forms, and reports without spending a lot of time coding. Since it's all built in, kids can create a fairly sophisticated full-blown app.
The best way to get interested in something is to have a success pretty fast.
Kids can easily teach themselves to program well? Then why do a grand majority of programmers suck at it completely?
In my experience, sucky programmers are the way they are because...they didn't learn to program as kids.
I did, and was shocked when I entered college (late 1980s) to find that the vast majority of my peers in the CS program had never touched a computer before going to college. They majored in CS because they thought they could get a good job and make a whole lot of money. Love for the craft (or any actual aptitude for programming or engineering) was never part of it.
The next problem is that, when they get out of college and enter the workforce, they bristle at the idea that there's anything else to learn. After all, they went to college, and they know everything. I'll never understand that...I have to learn constantly just to stay relevant. But most industry programmers developed lots of false confidence by bashing around toy problems in college, and try to be just as sloppy and short-sighted in their paid work.
Finally...because bad code is not a life-or-death thing like bad work in other fields is. Can you imagine chemists as sloppy and incompetent as the average industry computer programmer? They'd either poison themselves, blow themselves up, or dissolve themselves before long. Oh, how I wished I had stayed with chemistry.
"Once we've identified and embraced our sickness, we'll have strength...and that's when we get dangerous." - John Waters
Everyone knows that there's no future for American computer programmers. I've been scrounging since the dot-com bubble burst. That was followed by the outsourcing phenomenon, the guest worker/fake job ads phenomenon, and the perfect-fit phenomenon.
That's why kids don't want to become computer programmers. Because they're not as stupid and gullible as you think.
"Once we've identified and embraced our sickness, we'll have strength...and that's when we get dangerous." - John Waters
what a great way to guarantee job security for us programmers. Sounds like the crap they fail at in public schools where they generate lots of 'excited' but functionally illiterate children now read fro a wonderful job at a fast food franchise.
Maybe kids who are 'skeptical' of conputer science should search for other less difficult professions and a future of voting for democrats
You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle. Taken from the first lesson... Even with the IDE in front of me I couldn't understand what it was trying to tell me.
You could tech kids logic, but then you run the risk of a new generation revolting against the government I suppose...
I skipped ahead... now I need an 'JSFiddle' equivalent for this.
i.e. Attract the stupid kids who can't code to get the extra money from them. Pat them on the head and tell them they're programming when they script a couple lua events to make them keep taking "programming" classes.
I'm using Chrome with NotScript and Flash Blocker. Even when I permitted the scripts and Flash, that 3d frogger thing was bogged down and unworkable.
That's OK though. All they have to do is go to their own web site and learn how to code.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Galactic overlord implementation of this internet and planet control and domination / human enslavement and destruction plans have failed -- the milk has become too sour tasting and all bliss has again been lost. Recent plans to recover losses are now underway and newly established hive-mind Coding Borg Queen currently seeking fresh meat and young minds for re-building a future-human astral milk house. Our fleeting promise coming to you in whispers is, in exchange for allowing us to sap your children, who have the potential for ability to dream into shape the song line star wormholes from DNA secretions - we will provide you with a steady diet of [your] government's cheese so you can afford pay your health insurance and bills. Compenation for supplying Borg Queen with your children will be provided in the form of self-created paper money based on an arbitrary double standard - or our new BitCoin crypto-currency that floats ALL BY ITSELF - no really - IT'S TRUE! Easy money parents - you don't have to do anything - we only want your children! C'mon parents... let's get all the children exited about CODING - you will have more time and money for your selves!!! ACT NOW during our TWO children black hole special - good until then end of your gregorian calendar year 2013! Supply us with two children eg. make a deal with our black holes - and we will see to it that your credit rating get reset back to 850 AAA no questions asked! We are so POWERFUL!!!!!
It is/has? :P
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
What is the difference with other STEM subjects? For example, I liked learning calculus (ok, I didn't really learn calculus in the mathematics theory sense - measure theory and stuff - till grad school) in high school, though mainly I liked the use of calculus to physics (projectile motion, mechanics, electrostatics). Now, you might consider physics a "cool" application, but it really isn't - it is just as cool as say, building Pascal's triangle. If anything, I can see the results of programming almost instantaneously. I hated actually doing experiments with my hands (like proving Newton's laws using a block of wood and a weight).
So why is there this perceived need to make "coding" fun? It is as fun as any other subject in STEM, no more, no less (blowing things up in the chemistry lab is different; now that was cool. I thought - rightly or wrongly - that I had no aptitude for it because I couldn't figure out (at a high school level) what might happen on paper before doing the experiment for most things, like flame colors or what might give the best explosion).
Having once written for HyperCard, I'm glad it's gone. It had some syntax in common with COBOL. ADD 1 TO N is valid COBOL and valid HyperTalk. The data access in Hypercard (put the second word of name into last_names) was worse than COBOL.
If you used card names instead of card numbers, the program ran much slower.
Coding can be fun.
I think the problem lies in how we define the act of "coding" and in what context we present the activity, combined with a misunderstanding of what people actually think is "fun".
Coding is a powerful tool. It is how humans control virtually all complex machines.
Kids love complex machines, but I think the break point is what machines we teach them to program and what behaviors the programming automates.
People, especially kids, like playing video games, so it stands to reason that teaching them to program their own game would be an excellent way to get them into coding. It totally makes sense. I'm not saying not to do it, but it's not working as TFA points out. For one thing, making a simple "game" in an artificial environment isn't actually that fun...because teaching kids to make their own version of "Starcraft" is way too complex there aren't many options.
I think coding simple machines is the solution, enabling more creativity and real-world interaction, without losing the coding aspect. For example, coding a basic motion sensor that makes an output.
You can get basic light/motion sensors for fairly cheap actually (toys have them) and combine that with an output that either triggers something to play a sound, turn on a light, etc.
A next step would be using a rasperry pi type interface...then linking it with all kinds of stuff...
Advanced lessons would be making a motion detector that turned on a light, turned on a radio, and triggered a program on a computer to send a tweet...
Something like that would give them the basic tools to really go crazy...
Thank you Dave Raggett
Most people get into programming in their childhood do it because they want to make games. Why did it take a research study to figure this out that writing games is less dry and dull than dumping someone into Java's cargo cult boilerplate class definitions and telling them to write hello world?
I would venture to say that making games is a good way to teach adults how to program, too.
I completely agree with this, but for a completely different reason which kind of contradicts the premise of your reason.
IMHO, there is a bright future for American computer programmers. We're needed more than ever, and good ones are harder to find per capita. Pay is good.
However, the problem is the **work environment**
Coding work sucks, but all work sucks. I was a snowboarding instructor for 5 seasons and **that** even sucked b/c we had to be teaching fatass Texan rich dudes how to stand up on the board instead of going out and riding to improve our own skills or get footage for sponsors.
All work sucks.
The shit part about coding that makes it wise for kids to want to avoid it is that in most of the industry the coders are highly paid slaves.
REAL CODERS HAVE TO DO ALL THE WORK.
Just look at Snapchat. Or have a gander at this borderline psychotic but not a joke job ad for a web coder for Penny Arcade. That's why young people don't want to code.
American business rewards all the worst things...the incentives are all going in the wrong direction. As to your personal situation and why you've been scrounging since the dot-com bubble burst...well, it could be alot of things. Maybe your idea of "scrounging" means turning down a job a Microsoft because you dont want to work for the man...maybe youre a true genius who makes everyone even the bosses look bad so is ostracized...hell, idk...but I don't think your experience is representative, however I do agree that the issues you identify in hiring are all legit problems.
Thank you Dave Raggett
Comment removed based on user account deletion
Teach the kids how to write a labor-saving screenscraping app that automatically logs into an adult website and in a short amount of time downloads an unthinkable amount of Pr0n.
There is NOTHING exciting about coding. Please protect the kids!
I admit I don't even bother to look, it's surely entirely missing...
I don't think this problems is limited to 'coding', whatever that means. It is easy to learn something, when you are motivated; so finding things that motivate students is crucial. Personally, I am not convinced that making games is the best motivation - initially it will sound very interesting, but as soon as it turns out that the game you are able to make is not going to be the all-singing, all-dancing version of your favourite game, the motivation is replaced by disappointment.
I suspect it is a lot easier to start with something more realistic, that the student is already interested in. From my own background: when I was about 12 or 13 years old, I got very interested in astrology (yes, I know, I know, but that's not the point here); however, it was difficult and expensive to get hold of the all-important tables of planetary positions. So, I taught myself to write BASIC programs for the school's computer, I learned enough about how the planets moved to satisfy my limited understanding, and I made a program that would calculate planetary positions of a sort. From there it was easy to continue - the first step is always the hardest.
A little postscript for those who are jumping up and down over my mention of astrology: yes, I agree that it is bogus. However, it motivated me at the time, and I still have a certain fondness for the subject. And I still read my daily horoscope - otherwise, how else would I know how I feel today?
I tried node on my 5 year old, but she started screaming "I want my threads back you cruel bastard, this async crap is giving me a headache" (we're working on her anger management issues) but now the social workers are involved and if I don't get her continuation passing style soon (the 70s called) I'm going to find myself in deep water.
http://rareformnewmedia.com/
Why do we not hear more about nand2tetris.org and the wonderful work Mssrs Nisan and Schocken have done? They teach computing concepts from first principles, and in a way that's fun and engaging. I say this is perfect for introducing a gifted youngster to the wonderful world of computing.
'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
If it were easy and fun, everyone would be doing it for themselves.
But the Software Industry knows this and avoids anything that will gravitate towards the self recursive act of programming to automate complexity for and by the end users.
Programming can and should be a lot easier but like the Social and earning position of the Roman Numeral Accountants, those in the software industry (both sides - FOSS and Proprietary) do not want this because it will remove their earning and social position (while making genuine software engineering a real industry), Roman Numeral Accounts diminished upon teh introduction and acceptance of the Hindu-Arabic Decimal system (making make easy enough that everyday people can do math beyond what the Roman Numeral Accounts were able to.
Current Software Development Industry methodologies cannot achieve programming at the Holodeck level. To do so requires redoing the understanding of the honest foundation upon which all abstraction are created and used. See: http://abstractionphysics.net/pmwiki/index.php
Honesty is a bitch, because those against it make it so.
Show her tasks and async in C#. You get the best of both worlds!
You only used pedagogy twice in that paragraph. You clearly could have used it more. Use a big word 7 times to make it your own. FAIL!
This looks pretty good; but I'd say it's a bit more for the 10+ age range. As I type this my 7 year old is making programs with Scratch, http://scratch.mit.edu
Scratch is far more friendly for younger kids.
This was back in the 1970s, when I was just a kid. It was a purely text-based moon landing game on a mainframe -- REALLY text-based, played via a "terminal" consisting of a keyboard and a dot-matrix printer. The computer printed out how much fuel you had and how fast you were descending; you had to enter a number indicating how much fuel you want to burn, and then the computer would recalculate and print out the new velocity and fuel level. Repeat. The idea, obviously, was not to crash.
A few years later, when I learned BASIC programming on a Commodore PET, I started writing my own games along the same lines. In high school I had my own business writing educational software for the Apple ][, working for the guy who had taught me programming.
Coding has always been fun for me. I think because at some level I associate it with the games I was able to create, and the LEGO blocks I loved to play with. Imagining something, and then building it -- just because you want to.
Koans and fables for the software engineer
All these kids that these programs reach will think programming is fun at first, and as soon as the educational emphasis shifts to real computer science, most of them will just switch majors.
Those that remain and enter the working world as coders will quickly switch careers once they learn how the industry treats them.
Only the natural born programmers will actually last very long, as is the case right now.
The push has only one goal: to increase the labor supply. That is *it*.
Some programs target girls for two reasons: 1) they represent a minority in the industry, and therefore look like a largely untapped supply of potential laborers. 2) Political sentiment is that females have fewer opportunities largely for cultural reasons, and so this trend is being actively resisted.
Proving men are inferior might be on the minds of a few specific people, but such an interest does not and cannot garner the kind of funding that has been spent on programming education programs like this one.
This is about economics, plain and simple. More available labor means more productivity at lower cost, so, do what you can to make programmers out of non-programmers.
Programming is hard and boring, because of the effort to make it free from bugs and errors. Still programming can be fun.
..for stupidity. Seriously, this is the most ridiculous >0 post I've seen here in a while, and that's saying something.
How about we get kids excited about solving maths problems without having kids solving maths problems?
We can give kids a ruler, a compass, and a protractor instead: and just see what neat things they can create
Please use capital letters to begin sentences to not look like a caveman.
Only if C# survives the next 5 years - which seems unlikely. It's better to teach a good mix of BASIC, Java, C, C++, Lisp, Erlang, Javascript, Python, Lua, Ada, Cobol, Pascal, x86, Brainfuck and Intercal. One of those is bound to survive...I just hope it isn't Brainfuck.
I taught myself BASIC on my C64 in the 80's and moved on to 6502 assembly. It was an especially easy time to get excited about coding because the power was all there at your fingertips, and more importantly ... it had never been done before. You could see people just like you on the cutting edge on the various demos we passed around. And the best part is the building blocks for how to do it were right there in the user manual that came with the computer.
One of the problems vexing modern coding is that payoff isn't there. Even if you're the biggest fish in your fishbowl, you have no possibility of ever hitting something as impressive as, say Star Craft 1 or original Halo, much less something current like Bioshock Infinite. Not without 2 dozen friends on an open source project ( which is valid ) or toolkits that do all the heavy lifting for you. And if you do that, then are you doing something else. Artistry... game design, whatever you want to call it. Cool, definitely... coding? no.
This is why coding for mobile platforms has become so interesting lately. They're currently under processing power constraints so there's a brief golden age re-emergence of home coding. I'm sad that it will be brief, because I think it's a wonderful feeling and everyone should experience it.
The most value that a kid can get out of coding is 1. thinking critically about the steps to accomplish a goal. 2. understanding logic and evaluations 3. understanding variables and arrays 4. understanding how to identify patterns of behavior that could be substituted for a common function/subroutine. These things have value in all aspects of life. /sigh... I'm old
We teach math and other subjects for 12 years and never have the expectation that every minute should be an exciting adventure of happy joy for the students. Learning to write the alphabet or add integers is not particularly fun but we expect that, regardless of what the kids think, that they must learn these basic skills to be functional in today's world.
Computer science, rather, is tacked on sometime just before grade 12 as something "the kids should know about since we live in the age of computers." Further, we don't even have any expectation that they really learn it, just that they be a bit exposed to it as long as they enjoy every minute of it. So we package it as fun, fun, fun and make them draw some shapes with the mouse and make a game because games are fun.
In grade 12 math, we are already teaching pre-calculus (and calculus in some schools) which are some of the most useful ideas ever created by man ( & Chemistry, Biology, Physics too!). But in computing (basically our present incarnation of the practical application of math in our technological society), we teach kids to make some shapes and make some games because we need to make it easy? Does this strike anyone else out there as being a little off?
We are so far gone here when it comes to computer education, I'm not sure we even know which direction to walk toward anymore. The rest of the world is rising and history will one day have a note about our age as "the time when the North America's education system could not cope with the rapid rise of computing and were subsequently left behind".
We 'could' fear this it will happen one day, but things are moving so fast that it has already happened!
If you take some time to read some of this report, you will be blown away:
http://www.oecd.org/site/piaac/publications.htm
This is a very comprehensive analysis (2013) of where different countries stand with regard to math, literacy and technology.
Did you know that the USA scores pretty much at the bottom of all modern industrialized nations when it comes to math? Did you know that the average high school student from Japan has about the same level of literacy, math and technology skills as that of someone with a 4-year bachelor's degree in the USA?
Clearly what we need more of is classes that "excite kids to code by focusing less on coding".
I believe that if there was ever a sign for the decline of a modern civilization, it would be at the time when education became synonymous with entertainment.
yo, thanks for the response
hold on there cowboy!
everything that machines do is dependent on human choice...humans *chose* to program machines a certain way...
the behavior you describe: "machines will program themselves" is actually not physically possible in the logical sense...it's like saying "gardens will plant themselves"
you're mixing concepts...specifically, the concept of "program" and the concept of "self"
the behavior you *actually* are describing is humans programming machines.
that's a nitpick, but an important one b/c you whole argument is formed along that premise...
I think you're making a false distinction. "teach kids X or Y"
I say "teach kids X and Y"
learn a blue collar skill, learn the concepts of coding so you can apply as needed to specific tasks, learn a science branch, learn literature
all of it
Thank you Dave Raggett
Awesome language for kids imo.
Teaching people to code by first teaching them a programming language is like teaching them about hammers before explaining that we're trying to build a house. Your programming languages are your toolbox, nothing more.
Perhaps the 'gee-whiz' factor of seeing the code first breeds more interest in children than the engineering process but to my mind it seems that we need to be teaching kids from the top-down if we're interested in creating a generation of good programmers. When kids learn HTML, CSS, and Javascript and then get their first website project written for a client (e.g. modifying the school website) they're shocked to learn that they're not going to be using cutting-edge libraries and that the vast majority of work is more boring frustration than actual magic. Young programmers, in my limited experience, do not like finding out that they don't get to use whatever tools they want to play with at the moment.
You can teach almost anyone to program but developing software solutions is something entirely different.
I like my women how I like my sugar.. granulated.
The Internet as we know it was created by brilliant people who worked with the equivalent of Stone Age tools, and yet they had no problem a) enjoying what they were doing and b) creating awesome things. Why do we suddenly need to glamorize programming by giving it a video game facelift? Is the population getting exponentially dumber? What happened to all the smart people?
Most people I know who "liked" coding started with a good base example program that was laid out easily enough to pick apart and alter. You may not understand the whole thing at first, but there's enough that you can make changes and see the effects.
Coding is boring when you reach those points where you're floundering about and can't see any visible result of your work. Picking apart working examples is great for building interest and getting one started in coding.
Don't say "turing" anything b/c that whole thing just muddies the waters & explains nothing.
in order to "simulate" a human brain as described above, you have to *know how the whole system works*
we don't...not even close...we have barely scratched the surface on really understanding the brain and consciousenss...we are just beginning the mission of mapping all brain connections...then we still just have correlations...
in some **far flung** future, where we have materials science unthinkable right now, have mapped brain connections, and understand how all of it works....**even then** we haven't accomplished "simulating" the human brain as you describe
we would have to simulate all the biological processes....we can't even conceive of a non-biological analog to the brain except in abstract b/c we have no idea how it really works
then it becomes a function of **time**
a human brain develops continuously in real time over **years**
all of this...it all makes your point about "universal computability" completely moot...
if you want to create an independent autonomous human brain....you can wait 500-1000 years at least, or you could just...you know....get someone pregnant
Thank you Dave Raggett