Ask Slashdot: How To Introduce a 7-Year-Old To Programming? 315
THE_WELL_HUNG_OYSTER writes I'm a professional programmer and have been programming since I was a small boy. I want to introduce this to my 7-year-son but know nothing about teaching this to children. Since he enjoys Roblox and Minecraft very much, and knows how to use computers already, I suspect teaching him to write his own small games would be a good starting point. I'm aware of lists like this one, but it's quite overwhelming. There are so many choices that I am overwhelmed where to start. Anyone in the Slashdot in the community have recent hands-on experience with such tools/systems that he/she would recommend?
scratch (Score:4, Informative)
Use scratch. It's mildly obnoxious for a real programmer, but has everything you need off hand, and program flow is very easy to visualize.
Re: (Score:3)
What kind of IDE/environment are you using?
I think the biggest hurdle is not the language choice, but how to get things to run.
My first language was Logo. Couldn't do much with it, but it was fully interactive, which meant that you got immediate feedback as soon as you pressed Enter.
I've recently had to make a simple graphics language for my day job, including an interactive editor which ran the program (= redraw the image) on every change; feedback while you're typing. The language is quite strict and unfo
Re: (Score:3)
What kind of IDE/environment are you using?
VIM. No, seriously, my eight year old uses VIM!
My first language was Logo. Couldn't do much with it, but it was fully interactive, which meant that you got immediate feedback as soon as you pressed Enter.
Perhaps that is why VIM is a good choice. In the learning stages one learns to use it, and the immediate feedback is a form of gratification if it does what you intended. And when VIM does something unexpected, we laugh and wonder what we can learn from that.
Re: (Score:3)
The largest advantage of Scratch is the immediate results and the mixture of multimedia content that can be done with literally just a single click of a button. It can be extended to further complexity just one or two mouse clicks at a time.
For this, I completely disagree that Python is a viable replacement or even worse something that should be done instead of Scratch. Don't get me wrong, Python is a fine computer programming language and perhaps as a 2nd language to teach a kid it might be very useful.
BASIC (Score:5, Insightful)
Did BASIC get uninvented recently? Why do people not start there?
Re:BASIC (Score:5, Insightful)
I guess in some ways I got into programming because computers were a novelty and there wasn't an endless supply of free stuff, so in many ways programming was the entertainment. But now there is gobs of relatively high quality and free stuff to entertain that also /sort of/ scratches the builder itch (as I write this, my son is sitting nearby on the free-to-play Robocraft).
So the "problem" is that there is an endless stream of stuff competing for my kids' attention that (a) is of a quality leagues beyond anything they can hope to do anytime soon and (b) gives /some/ of the same "fix" I get from programming. Back in the olden days the gap between what you could do with e.g. BASIC and what you saw in commercial apps looked a lot smaller.
I'm always searching for something that does a good job of being an intermediate level - I can get my kids to do a lot of the intro / visual programming stuff and they like it, but then they run into this seemingly huge chasm when they try to go beyond that. It's like, "ok, so now you made a rudimentary game that runs inside this special environment on some website. You want to advance to something more flexible? Ok, um, now we need to talk about files and directories and a whole slew of tools and junk you never knew existed or were needed. Also, prepare to start typing a lot and using all those punctuation characters you rarely use in school assignments. And don't get me started if you want to get your little game onto a device so you can show your friends!"
On the one hand I think it's just part of getting into "real" programming and they just have to suck it up and deal with it. But I really think one or two of my kids could really get into programming and really like it, but I've yet to help them get over that hump from super basic stuff.
Re: (Score:2)
Also, always be on the lookout for simple effects that have visual interest. Maybe like flashing the entire screen in a single bright light, cycling through colors. When I think of how much entertainment I got from a simple 'goto' loop that filled the screen with text, it amazes me.
Re: (Score:2)
Thanks for the recommendation - much appreciated.
Re: (Score:2)
I'm always searching for something that does a good job of being an intermediate level - I can get my kids to do a lot of the intro / visual programming stuff and they like it, but then they run into this seemingly huge chasm when they try to go beyond that.
One option for this is Arduino. It's exciting to make stuff in the real world happen, plus they'll learn other skills like soldering. The gap between commercial stuff and what you're doing is either smaller or non-existent (if no commercial solution does what you want).
Re: (Score:3)
Haha, yeah - ironically it seems like it was far more accessible back then in a way. You could reasonably know a little bit (or even a lot) about nearly everything, and when you did use something higher level you knew pretty much everything about how it worked behind the scenes.
Speaking of BBSs, and an example of what was enough to catch my interest back then, I once wrote TDSANSI.SYS, a drop-in replacement for the standard ANSI.SYS. It extended the set of ANSI escape sequences so you could do higher level
Re:BASIC (Score:5, Interesting)
Re: (Score:2)
QB64 is only a download away and presents a classic QB4.5 style text ide with an integrated compiler and debugger. It's as close to an out of box learning environment as you can get. And it can do graphics in an SDL window. Might be a perfect start for some budding programmer. Just encourage structured programming and you should be fine.
In a different vein, installing Python and IDLE isn't hard and gets you running very quickly.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Insightful)
Because it's a bad language that teaches people bad habits.
The same can be said for PHP, Python, Perl, Pascal, Cobol, Lua, C, C++, C#, Java, Javascript and pretty much any language out there that you can use to solve problems.
Heck, programming on any computer with memory protection will teach you bad habits if you consider trial and error programming to be a bad habit.
Basic may be bad, but it isn't as bad as people make it out to be.
Unless you go for esoteric languages that only exists in academia then there will be quirks that can be misused.
Re:BASIC (Score:4, Interesting)
Because it's a bad language that teaches people bad habits. On the bright side, you used to be able to write programs in it on a $99 Timex Sinclair, which was a pretty low barrier to entry.
Bullshit! Most of us learned to programme using BASIC when the only way to organise the code was by line numbers. We went on to learn assembly language for our computers and then integrated BASIC and assembly language programmes. Afterwards we moved onto other programming languages such as Pascal, Modula-2, FORTRAN, COBOL, Prolog, etc. Today we can learn any programming language necessary for our work or hobby projects. IIRC :Linus Torvalds cut his programming teeth on BASIC; we went on to create the Linux kernel and Git. You might have heard of them.
Re: (Score:3)
Visual BASIC used to be a pretty decent programming environment, and definitely didn't need a single GOTO command. There are other variants, although some of the later versions of Visual BASIC (to name one variant) have far too much influence from C++ developers in my opinion and has basically ruined a perfectly fine language.
Other than compiling the language to P-code or some other interpreted middle-language (something that is definitely not unique to the language either), I fail to see what real drawbac
I created a game with my SIster's kids (Score:4, Interesting)
They were about that age.
I eased the process so, that I made them design the game story and visual look. Later on, they looked and gave input as I churned the code during the next few days. After it was done, and they wanted to change something about it, they had to do it themselves -- I left several 'little annoying things' that are easy to fix there, so that they would ask and would want them changed.
Being able to do noticeable effect with little changes made code less mysterious to them, and they were able to change little things on their own later on.
They don't want to be good at coding, and are interested in other things. But atleast now they have experience of that as well.
Raspberry Pi (Score:2)
Get a Raspberry Pi. There are lots of free tools including a good version of BASIC. There are tutorials for writing simple games. Avoids all the problems of trying to write for a desktop PC.
Re: (Score:3)
You know the sad thing is that AC is totally right on this one. RPi is just another computer, giving a kid a cheaper computer isn't going to be helpful unless they don't have access to another computer.
Re: (Score:2)
Kodu (Score:4, Interesting)
Kodu from MSR is excellent.
http://research.microsoft.com/... [microsoft.com]
"Kodu is a new visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The programming environment runs on the Xbox, allowing rapid design iteration using only a game controller for input."
Scratch (Score:4, Informative)
Minecraft Modding for beginners. (Score:2)
Re: (Score:2)
Hey, this looks very promising - thanks so much for the recommendation!
Oldie but goodie (Score:2)
Tooktalk (Score:2)
It is more like playing a game than programming, it teaches looping as well as some maths and includes flashcards.
Turtle Graphics? (Score:2)
Learning programming through motivation. (Score:5, Funny)
Give the kid a computer, and programming book.
Install an electronic lock on the door with an interface to the computer.
Give them simple instructions.
Re:Learning programming through motivation. (Score:5, Funny)
That's a bit draconian. Try this instead:
Re: (Score:2)
You die rather in 3 days without water, depending on heat/environment; and without food you easy survive 40 days or longer, depending how FAT you are.
Re: (Score:2)
Gosh, in my day proto-programmers would quibble those facts:
"But I never drink water, only Jolt cola, yet I'm still alive!"
"But I wager that I can go longer than 7 days with water - Soup is a food, so food alone it is for me"
"Is an ice cube food or water - it is after all a solid", quickly followed with "well, I'ld like to see you last longer than 7 days on just steam".
"Can I drink from the dehumidifier i my room? Can I use evaporation to purify my urine?"
"what do you mean 'and' in 'without water in 7 day
One of the ones my son uses (Score:4, Informative)
My kid loves this one: http://codecombat.com/ [codecombat.com]
I got him started on it when he was 10, and he completed all of the free levels in two weeks with minimal help after I worked with him through the first few.
Lots of other great recommendations here: http://venturebeat.com/2014/06... [venturebeat.com]
The board game one I've heard is good for younger kids, but once they have it down it's rather boring.
-Rick
Simple answer ... (Score:5, Insightful)
Don't?
Why the heck are you supposing a 7 year old one should/could/want do that?
Can he write already? Read? (Likely yes) ... how is he in math? And why the funk do you want him to exercise his hobby behind a computer instead of playing outdoors with other kids, a dog or hanging in a rocking chair and reading, if he can read ...
Coding is a nice word to camouflage all the variations of developing, programming, software engineering, computer science ... what actually do you mean with coding?
Why don't you let him practice cooking and read a cook book and then let him experiment with cooking and write his own cooking book? That is far more "coding" than most "coders" ever do in their job.
Re: (Score:2)
And why the funk do you want him to exercise his hobby behind a computer instead of playing outdoors with other kids, a dog or...
Interestingly, this is my /. quote of the day at the bottom of the page:
"Life begins when you can spend your spare time programming instead of watching television." -- Cal Keegan
So clearly he wants the kid to do that so that his 7 year old's life can finally begin. Are you anti-life, sir?
Spot on. Spot-Spot Spotty-Spot on! (Score:3)
Tech is for older kids. Challenge and experiment at this age. Lego to make a bridge that the cat can cross . Draw a picture that Auntie thinks actually looks like a Badger not a [insert vague animal here] Create a birthday invitation card that has fizz. Ask 1,000,000,000 questions you don't know the answers to.
Re: (Score:2)
I agree 100%.
Far too many parents push their kids way too damned hard and way too damned fast.
Let the kid be a kid while he can! He has plenty of time in life for becoming a programmer, a doctor, a pianist, or whatever fucked up projection of your own hopes and dreams you want to foist on his poor life.
Re: (Score:2)
Re: (Score:2)
How interesting that is, the question was about a seven year old boy, not a nine year old girl. ;)
Ofc a girl will excell at such things, no need to involve Lady Ada even
my 9 year old is a Roblox Creator, here's how: (Score:2)
One night, he came out of his room long after bedtime crying and told me that earlier he copied someone's script into a level he made in Roblox, and now he was sure he was going to get banned because the game thought he was
Re: (Score:2)
the AK processing tutorials are excellent. please don't show it to your kids, though. 'cos i want mine to have a better chance in the job market.
Don't! (Score:4, Insightful)
Unless you're kid truly displays a passion for it, I would not advise pushing him onto it. It's very likely that it'll overwhelm him, and then he'll never want to touch it again. If you are dead set on doing something like that, I would recommend starting with a LOGO implementation: those are usually pretty easy for most kids to handle, and indeed I got my start with it.
But seriously, playing Minecraft and Robolox != enjoying programming. If anything, it shows that he likes building things, but that does not mean he is a programmer. Give him small and short steps, if at all; if you force this on him, he is going to hate it for the rest of his life. And if programming doesn't work out for him (and I highly suspect it might not), try giving him something practical or more physical; building models sounds like something he would enjoy, and LEGO's (if he doesn't have them already) would probably interest him.
Do keep in mind, he might be playing Robolox and Minecraft for the social element behind them. It's very well possible he's playing them to make things, but a bunch of kids I've seen play it do so because it's an activity to do together, and I don't know they'd do it alone. Obviously, you are going to have to make that decision and I can't, but it's something to keep in mind.
I don't mean to sound scary or anything, but you really want to make sure this is something your kid enjoys before exposing him to the full brunt of it. If he doesn't have a natural liking for it, it's going to be very stressful for the both of you. A lot like if your father ever made you play sports when you were younger - make sure gently stroking his interest does not turn to squashing it.
Whatever happens, just keep an open mind and be sure he knows he can say what he wants. I wish nothing but the best of luck for you and your son!
Re: (Score:2)
Re: (Score:2)
"Life begins when you can spend your spare time programming instead of watching television." -- Cal Keegan
How will he know if he has a passion for programming if he doesn't get over the learning curve to the fun part?
proper instruction (Score:2)
tell him to go build the biggest sand castle he has ever built before. But it has to be twice as big as the sandbox he has to work with. Tell him there must be an individual entry way and a window for every toy he has in his toy box. It must be ready and meet your expectations by next monday, so no time with family or friends during this hussle. Also you will be out of town on vacation for the rest of the week, so monday is the first review/LAUNCH. Offer him a quarter to get the work done. If he compla
Understand and accept your son's abilities (Score:2)
Oyster,
Personally, I would say seven is a bit young to start introducing him to programming. I don't know what your background is and what you expect from him but my biggest piece of advice is tread carefully. He has quite a few years to become interested/fascinated in programming as well as mature the thinking and analytic skills needed to be a successful programmer. Pushing too hard or introducing it before he's ready could result in him getting a negative attitude about programming. My recommendation
Another Minecraft recommendation. (Score:2)
https://pragprog.com/book/ahmi... [pragprog.com]
Raspberry Pi with Scratch (Score:2)
Bad idea (Score:4, Informative)
Children aren't clones of their parents. (And even when we discover a way to make clones, they still won't be this kind of clones.)
"I would have benefitted from learning programming early" or even "I did benefit from learning programming early" are terrible reasons to teach your kid programming early unless the benefits apply to most people, not just to you. And they don't.
This is just a variation of the "how do I get my kid interested in sci-fi" [slashdot.org] or "how do I get my daughter interested in programming" [slashdot.org] questions we've had before, and the answer is the same.
Re: (Score:2)
chess (Score:2)
play chess with them — it strips away all the semantic crap that will change from language to language, and gets it right down to developing the sort of critical thinking that is required to think logically and consistently in programming.
just chess.
that's all.
2cents
john p
Two words - LEGO Midstorms (Score:2)
Two words - LEGO Midstorms - it would be so awesome if they were around when I was seven... but I am thirty four. Anyway - LEGO Mindstorms - I can't think about better way to show how seemingly simple drag and drop programing can influence real world objects (robots man!).
Computercraft (Score:3)
It's a mod where you get little consoles, you craft them
then you can program them with the simple scripting language Lua to automate actions in Minecraft: mine, fight, farm, etc
it's good because they are programming *in* the Minecraft world: you're piggybacking on their love of the Minecraft universe to get them into programming
http://www.computercraft.info/... [computercraft.info]
https://www.youtube.com/watch?... [youtube.com]
step one: wait til he's 8 or 9 (Score:2)
I think 7 is too early. The kid should be outside playing and using his imagination with real world objects at that time.
I also recommend using C. It's simple and C-derived compilers typically support some version of it.
I learned to program in BASIC for the Atari and the Sinclair ZX-80 when I was 8 and a half. I don't recommend using numbered line BASIC or any BASIC, at all. If I could go back and somehow influence how I was taught, I would tell my parents to find something that supports parameterized funct
also: LOGO (Score:2)
Also, I took a look at that list and: no.
Don't teach him a useless joke / toy language like these ones on this list. It'll build a bad habit and the kid will be one of these losers saying "I don't know how to program but I got code::blocks and here's my console emulator, shouts out to the one guy who gave me that voo doo asm to build in line and make it work real fast, everybody please stop sending me e-mails about getting root kitted, this thing totally passes a virus scan."
If you want something that has a
Get a Kano (Score:2)
culture shock, anybody? (Score:2)
the fact that LOGO is not on the list the author linked to [wikipedia.org] kind of makes me feel a little perturbed. like, wtf is wrong with people? there's a mention of "brick logo" as a footnote in some other language's paragraph, and "c" is mentioned as "educational" (wtf?) but not one shout out to LOGO.
did anybody else feel any sort of reaction to that? or did everybody just not even notice it?
Re: (Score:2)
and i'm not suggesting that C wouldn't make a good first language, in fact I already suggested that in another comment. but it's not "an educational language". ...
whereas logo actually was conceived of as an educational programming language [wikipedia.org]
CoderDojo and Scratch (Score:2)
Firstly, I would look to see if there is a CoderDojo - http://coderdojo.com/ [coderdojo.com] - in your area.
CoderDojo is a global volunteer-led community of free programming clubs for young people. These young people, between 7 and 17, learn how to code, develop websites, apps, programs, games and explore technology. In addition to learning to code attendees meet like minded people and get to show off what they’ve been working on.
Secondly, I would look at introductory language we use - Scratch - http://scratch.mit.ed [mit.edu]
Board Games! (Score:2)
Robo Rally [boardgamegeek.com] is like a multiplayer boardgame version of LOGO...
Robot Turtles [boardgamegeek.com] is even better for younger players
Micro Adventures [gamebooks.org] were some of the books that I started with as a kid
Don't... (Score:3)
I'm as geeky as they come. Most of a Ph.D. in theoretical physics, and have spent over a decade working in high-performance computing.
When I was 7 years old, I was wandering through the woods, looking under rocks for creepy crawlies, playing hide-and-seek, and playing baseball with my brother and cousins. Not only did it *not* set me back in anyway, but it is some of my fondest memories of being a child.
Let kids be kids for goodness sake. Take him to a science museum, and let *him* tell *you* what interests you. When I was a kid and hyped about computers, my dad thought computers were a fad only used to play Pac-Man. Not only do I have a good-paying career, but any time dad can't connect to the internet, I get an emergency telephone call.
Let your child steer his future. He's the one who has to live it.
Re: (Score:2)
When I was 7 years old, I was wandering through the woods, looking under rocks for creepy crawlies, playing hide-and-seek, and playing baseball with my brother and cousins. Not only did it *not* set me back in anyway, but it is some of my fondest memories of being a child.
Let kids be kids for goodness sake.
When I was 7 years oold the only computer I've seen were the ones on books or on sci-fi tv serials, that I watched on a black-and-white televison, with only two programmes that started at 5 pm. I wandered in the woods or went to the library to read. I remember that when I was a niner I visited a fair, there was a Commodore dealer. I stayed all the afternoon watching these machines and typing on the keyboards. Not that changed by child attitude. By the way I think that a Raspberry PI with mouse and keyboard
RoboRally first (Score:2)
It's a program AND it teaches how to deal with Murphy (nothing worse than getting bumped and watching the rest of your program walk you into a pit or heavy laser fire).
After that, it depends on the child's interests. Robots? Mindstorms.
"Real" computers? Pick up an old Apple II or Amiga and use the Basic to access the display.
Scratch. (Score:2)
That is all.
Question Frequency (Score:2)
Start of a FAQ for /. (Score:2)
Can we get a FAQ please? Here are the common answers:
* Visually with Angry Birds characters: http://learn.code.org/hoc/1 [code.org]
* Scratch [mit.edu]
* http://coderdojo.com/ [coderdojo.com]
* Minecraft mods
* http://www.learntomod.com./ [www.learntomod.com]
* https://pragprog.com/book/ahmi... [pragprog.com]
* http://codecombat.com/ [codecombat.com]
* http://boardgamegeek.com/board... [boardgamegeek.com]
* http://boardgamegeek.com/board... [boardgamegeek.com]
* http://www.gamebooks.org/show_... [gamebooks.org]
* http://venturebeat.com/2014/06... [venturebeat.com]
* http://meetedison.com/ [meetedison.com]
* BASIC
* Vic-20 C64 Compute! [archive.org] magazine
* Raspberry Pi
* Arduino
* Logo
Re: (Score:2)
Add [codecombat.com]http://codecombat.com/ [codecombat.com] to that list.
Re: (Score:2)
Already got it. :-) It's the 7th entry, right below pragprog ...
* https://pragprog.com/book/ahmi [pragprog.com]... [pragprog.com]
* http://codecombat.com/ [codecombat.com] [codecombat.com]
Thanks for the suggestion though!
Interesting subject - image manipulation (Score:2)
This may be what you want. http://web.stanford.edu/class/... [stanford.edu]
To give you an overview, it's an intro to programming using Javascript and a little image manipulation library. Each page has a series of problems with boilerplate code that you edit and click a button to run.
Head straight to Week 2's lessons (http://web.stanford.edu/class/cs101/image-3-loops.html) and go through it with him.
Kids find it pretty cool that they can change some numbers and that will have an effect on the picture. I did this with my ni
Python (Score:5, Interesting)
Re: (Score:2)
code.org (Score:2)
Sketch (Score:2)
Simple as playing with blocks (Score:2)
Make learning programming fundamentals a blocks toy. Kid can stack program blocks a certain way, the physical block pattern gets scanned into the computer, turned into code. Point is to make it an interesting hands-on toy which makes the obvious connection between what the kid does with the toy and what happens on the computer. Once the kid makes the connection to building with pieces, they'll want to go directly to building on the computer, by-passing the simple to use but less powerful blocks.
Khan Academy (Score:2)
My son is just about to turn nine, and he is really enjoying the programming section on Khan Academy [khanacademy.org]. The site was originally designed as a math curriculum but is rapidly expanding into other fields. It is free, and it uses JavaScript with immediate visual feedback while teaching them the basic concepts of programming. There are step by step instructions and helpful hints to help guide them through the concepts, but having some occasional parental help is sometimes required. Overall, though, I have been p
Scratch from MIT (Score:2)
The turtle moves! (Score:2)
be sure to follow the correct order of things. (Score:2)
I didn't read beyond the article's title , but I'm sure that tells me everything that is needed.
How to Introduce a 7 Year Old to Programming.
Using "Kevin" as a sample name, you do an introduction like this:
Hello, Programming, may I present my son, Kevin?
(assuming yes)
Programming, I would like you to meet my son, Kevin
Kevin, this is Programming.
The rule is the senior one receives the first introduction.
Remember to make eye contact with each person as you speak to them.
You should have prepared your son to mak
Just don't chase him away (Score:2)
Challenges (Score:2)
Other than that, to those saying kids should not program at this age - nobody says they will do it more than say 2 hours a week with Dad, where is the loss of social skills in that? And second - if you do not ge
Lightbot (Score:2)
Re: (Score:2)
You can laugh at LOGO, but I've been having my 8-year-old daughter play with code.org [code.org], and it is mostly the same thing.
Re: (Score:2)
I never took to Logo, but the Elsa version had my daughter's interest and it was introducing her to loops and such. It was just writing javascript, and you could click over and look at the source.
Re: (Score:3)
Logo [wikipedia.org] was my first thought as well, since I realized years after the fact that it and its use of turtle graphics [wikipedia.org] was how I was first introduced to programming, way back in 3rd grade (I'm now in my 30s and have been in the industry for awhile). I didn't recognize it as programming at the time, but in retrospect I can recognize that it laid the foundation for the sort of thinking that became important later in life.
In that same vein, when you're talking about introducing programming to someone at that age, it
Re: (Score:3)
I'm now in my 30s and have been in the industry for awhile.
Ha. Hahahahahahaha. Get off my damn industry, you kid! Hell, when I was a kid and we wanted to play with turtles in a maze, we went down to the fetid, stinking, polluted sewers and caught them ourselves! And built our own mazes out of barrels of toxic waste! None of this turtles-in-computer shit.
Re: (Score:2)
Yeah, it was tadpoles in the drainage ditch out behind the backyard for me. Uphill both ways, of course. ;)
Anyway, I wasn't meaning to suggest I had loads of experience or whatnot, just that whatever lessons I learned as a child have stuck and that between grad school and working in the industry, I've committed myself to this field. I.e. I'm a success story of introducing a child to programming at an early age and having that effort bear fruit later in life.
Eastman, is that you? (Score:2)
Re: (Score:3)
You had sewers and barrels of toxic waste? You lucky, jammy bastard!!!!
WE had to dig our own sewers, and then build the chemical plants to GENERATE the toxic waste!!! I'd have killed for barrels of premade waste!
Re:Minecraft Mods (Score:5, Informative)
HEY YOU KIDS, KEEP OFF MY COMPILER! AND LAWN! (Score:5, Insightful)
Figure out some fashion that code interacts with their favorite thing, and there is your in. Building basic web pages might be a start, or perhaps set up a command line application where they can play with string manipulation. There are many ways you can simplify complex tasks and projects with 'training wheels', ex: APIs and such to hide away complex stuff that isn't important to a beginner. Get them a really simple sandbox where they can change things and see the effects of their changes, and then get the hell out of the way. They will be better than you are in two weeks.
Re:HEY YOU KIDS, KEEP OFF MY COMPILER! AND LAWN! (Score:5, Interesting)
I'll agree that eventually, someone who actually enjoys coding will take joy in writing whatever they can. An algorithm with a slightly better runtime complexity will be fascinating...but that's not necessarily what sparks the initial interest.
Re:Minecraft Mods (Score:5, Interesting)
Re: (Score:2)
Yeah, it has to be his idea. So start with modding something that he likes, like Minecraft.
Minecraft may be a good choice, but I would emphasize something like Minecraft, lest they'll be slaves to Queen Minecrosoft.
Re:Minecraft Mods (Score:4, Informative)
This is how my kids started with Minecraft plugins, a plugin called ScriptCraft: https://github.com/walterhiggi... [github.com] .js files in a directory or directly on the command line in-game. JavaScript was very approachable and forgiving, and gave them immediate visual feedback on their code. Now my 10-year-old has written a Java mod while my younger one is interested in trying. I swear the desire to mod Minecraft is doing more for STEM than any Pearson curriculum...
It lets you write mods in JavaScript, either with separate
Re: (Score:2)
Ya. Send him outside to play. Take him to the Zoo, or Hiking, or to a Ballgame.
Here's a thought...Books!
Re:Don't (Score:4, Interesting)
Leave it be. They're just kids.
I'd concur. My kids have an on-again/off-again interest in programming, but the crazy shit they come up with using Redstone wiring in Minecraft is just unbelievable. Sure, I could push them towards C or Ruby, but when I see them building logic gates, adders, flip-flops and the like in Minecraft I just think "they'll work this stuff out on their own". And probably have a better understanding of the fundamentals as they go on.
MIT's Scratch system is probably a good start for a lot of nascent coders though. It's not just about the code - it's also the community around it, like a Github for little ones. Strongly recommend looking into that.
Re: (Score:2)
I would recommend a regular Arduino so that if he's interested, he can add regular shields later.
Re: (Score:2)
Try code.org
fun angry birds programming game
Re: (Score:2)
Try a human trafficking shop.. they seem to specialize in this field.. (he might miss school though)