×

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!

Ask Slashdot: Best Book Or Game To Introduce Kids To Programming?

Unknown Lamer posted about a year and a half ago | from the next-generation dept.

Education 246

New submitter connorblack writes "My very gifted nephew is about to turn nine this month and I would love to get him some sort of fun, engaging book or game to introduce him to the basic concepts of programming. I have a feeling if approached correctly he would absolutely devour the subject (he is already working through mathematics at an 8th grade level). What I first was looking at were the Lego Mindstorm programmable robots- which would have been perfect, if only they weren't around 300 dollars... So if there's anything similar (or completely new!) you've either heard praise about or used yourself with your kids, it would be great to get a recommendation. Also if possible I would want to stick to an under 100 dollar budget." Would a nine year old be able to follow The Little Schemer?

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

246 comments

The Perl Obfuscation game (1, Funny)

colin_faber (1083673) | about a year and a half ago | (#41665219)

Re:The Perl Obfuscation game (0)

Anonymous Coward | about a year and a half ago | (#41665575)

I'm a child molester. I like 'em young. The cows, that is.

Ba-dum-tsh!

$300 is a bargain (3, Insightful)

Anonymous Coward | about a year and a half ago | (#41665225)

Isn't your nephew's future worth the price of a couple days at Disneyland?

Scratch (3, Informative)

Anonymous Coward | about a year and a half ago | (#41665227)

My kids started using Scratch when he was 6 and has written two player race car games and other stuff with it.

Re:Scratch (2)

serialband (447336) | about a year and a half ago | (#41665587)

I would 2nd this. It's a good, easy way to start off. My kids started leaning by modifying several existing games that other people had uploaded and now create their own. The older one went on to learn Java with his friend over the summer.

Minecraft (4, Informative)

rwa2 (4391) | about a year and a half ago | (#41665239)

Google for Redstone Circuits and go to town. There's that running EE joke that you can build any logic circuit with nothing but NOT gates. Redstone pretty much gives you exactly that.

For real programming, maybe just throw them at http://learnpython.org/ [learnpython.org] and give them an ipython shell to play with until they're ready to start programming a dungeonmaster / chatbot for their minecraft server. That's my plan with my kids (10 & 7) at the moment.

Re:Minecraft (2)

BasilBrush (643681) | about a year and a half ago | (#41665339)

Defender. Working out all the details of how that worked kept my mind busy for years. I finally wrote a very close clone of it 27 years later, (Though I did quite a few other things in between.)

+1 for Python (5, Interesting)

occasional_dabbler (1735162) | about a year and a half ago | (#41665463)

Yep, get him into Python, he should be able to pick that up quickly enough to keep him interested but it will also offer him challenges for years if he wants it. Or... at the risk of being downmodded (again) for not being a MS/Nokia hater, you could get him a cheap WP7 phone (plenty around right now with WP8 coming) and take a look at the amazing TouchDevelop scripting environment that lets you write anything from one-liners to quite complex apps right on the school bus, mostly without having to actually write anything - you connect up various blocks and pipes to get results. https://www.touchdevelop.com/ [touchdevelop.com]

Re:Minecraft (0)

Anonymous Coward | about a year and a half ago | (#41665509)

If Python is the route you take a child - check out Snake Wrangling for Kids (http://briggs.net.nz/snake-wrangling-for-kids.html)

Re:Minecraft (0)

Anonymous Coward | about a year and a half ago | (#41665521)

Also look at the redpower and tekkit (because it includes redpower) mods.

Includes many gates/latches as a single block, as well as an emulated computer similar to a 6800

Re:Minecraft (0)

Anonymous Coward | about a year and a half ago | (#41665581)

Code Hero!!! It is a GREAT FUN video game that teaches coding in many of the most common languages! Excellent for kids cuz its sooo fun ! signed an ex computer teacher

Re:Minecraft (4, Informative)

Anubis IV (1279820) | about a year and a half ago | (#41665597)

Seriously, redstone is crazy stuff.

If you want something a bit more abstract though, why not something like SpaceChem? It's essentially programming disguised as a game, from what I can tell. You have to create algorithms graphically to solve a problem. It's pretty simple as far as the actual "programming" goes, but it gets people thinking along those lines, and it'd let you know if there might be some interest in those sorts of activities, perhaps.

Re:Minecraft (1)

JazzHarper (745403) | about a year and a half ago | (#41665707)

There's that running EE joke that you can build any logic circuit with nothing but NOT gates.

It's not a joke. That's what I did for the first three years of my career.

Re:Minecraft (5, Informative)

Barlo_Mung_42 (411228) | about a year and a half ago | (#41665781)

Another good option is Arduino. Easy to teach basic structure while wiring up lights and buzzers and stuff to make it fun.

Wow it's been almost a month (0)

Anonymous Coward | about a year and a half ago | (#41665241)

since this question came up on \. Must be a slow news day.

Re:Wow it's been almost a month (1)

Revotron (1115029) | about a year and a half ago | (#41665577)

It's been a whole month? Jeez, the Ask Slashdot editors are really off their game. We should be seeing this at least once a week.

Python, Panda3d, MyGameFast (2, Interesting)

Anonymous Coward | about a year and a half ago | (#41665243)

How about you first show him this:

http://www.mygamefast.com/

Then you show him the ORiley Python Book.

False premise (0)

Anonymous Coward | about a year and a half ago | (#41665245)

If he hasn't figured out how to program by himself by now, I doubt I would characterize him as "very gifted".

Re:False premise (0)

Anonymous Coward | about a year and a half ago | (#41665395)

Maybe it's the other kind of gifted. Kind of like girls with great personality.

ROBLOX - 3d scripting/building game (1)

Anonymous Coward | about a year and a half ago | (#41665253)

He should try ROBLOX. It was a great and fun way to learn programming concepts. It's a 3D block building game, like legos but programmable. www.roblox.com
Scratch is too basic and childish, IMO.

Let your son know that if he messages me on ROBLOX I can give him a LOT of the currency (my account is Ozzypig) but only if you buy him the Builders Club ($6 a month). I'd still be able to help him out - I help manage the two largest scripting help groups on that site.

GORILLA.BAS (3, Interesting)

damn_registrars (1103043) | about a year and a half ago | (#41665257)

That was the first game I ever changed the code on. Of course, first we played it as is to figure out what we could do. Then we went into the code and broke it - who says bananas can't fly straight through solid buildings?

Re:GORILLA.BAS (0)

Anonymous Coward | about a year and a half ago | (#41665481)

We're doing an homage to Gorilla.bas! Our game is called Great Apes. It's got a single player mode of 50 levels as well as a multiplayer that very much is gorilla.bas!
Check it out at http://www.indiegogo.com/archaicsouls/ and help us get started!

Re:GORILLA.BAS (1)

damn_registrars (1103043) | about a year and a half ago | (#41665741)

In the unlikely event that you'll come back to read my reply, it's worth pointing out that I don't care about any of the platforms you are listing plans to release titles for. Release something - especially your "final right" platform fighting game - for Wii or Linux and I'll happily send money your way.

Re:GORILLA.BAS (0)

dudpixel (1429789) | about a year and a half ago | (#41665623)

This.

Well for me it started much earlier than this, when my parents bought an Amstrad CPC6128 and it came with programming manuals. I borrowed some "usborne" books from the library and typed the code into the computer. Then I figured out how to change it and basically learnt through trial and error.

I figured out how to do animation on my own in grade 5 or 6 (probably about age 10) and the rest is history. I taught myself BASIC, pascal, C, C++, perl, python, HTML. Once you know one language, moving to another is a lot easier.

I wrote many games of my own on the Amstrad. There is no better way to learn IMO, but it probably depends on your learning style. I learn best by "doing".

My learning was all self-directed, which probably doesn't fit with your question much. No one really got me started. My older siblings found the usborne books in the library, but weren't interested in them. I pretty much only borrowed programming books, and enjoyed the regular visits to the library.

I'm not sure about today (0)

Anonymous Coward | about a year and a half ago | (#41665267)

But I got interested in programming playing Lemonade Stand on the Apple ][ around 1980 or so. Even though the game is simplistic, I wanted to learn how it worked and you could see the code. That is my first exposure trying to figure out how a game worked.

Re:I'm not sure about today (2)

vivian (156520) | about a year and a half ago | (#41665589)

I started with programmg in Applesoft Basic on an Apple ][, and mostly doing stuff like drawing lines and figuring out how to make it draw a circle. (trigonometry was a lot more interesting when I found how you needed to know about sine and/or cos to do that) . If it had existed at the time, I wish I had started programming in c++ instead of having to struggle with those concepts later. Set up a basic graphic framework, give him the tools to draw dots, lines and circles and get him started in writing programs to draw stuff. Just because you are using a C++ compiler doesn't mean you have to know how to write object oriented programs to start with - he could start off with writing pure functional programs, but it will be a lot better to start with a full fledged programming language that will be capable of anything he cares to write, and will be a solid choice for any project.
The synax is easy - the biggest difficulty will be in learning what the various errors mean, but he'll get the hang of that pretty fast.
I'd suggest mabey QT if you want to do windows & widgets stuff.

Don't waste time mucking around with a toy language.

modding video games (3, Funny)

theheadlessrabbit (1022587) | about a year and a half ago | (#41665275)

Is there a video game he is particularly fond of?

Games that are easy to hack and mod are a great start - they are tweaking something they already love. I wasted many hours of my elementary school days tweaking the rules.ini file to make command and conquer's AI a more capable opponent. That lead to scripting one player levels in an attempt to make my own campaign. That lead to...nothing at all....but it might be a start.

The tools available today seem a lot more complex, but also a lot more open than they were when I was young.

Good luck.

Scratch (5, Informative)

goertzenator (878548) | about a year and a half ago | (#41665281)

Scratch, visual multimedia programming system from MIT. http://scratch.mit.edu/ [mit.edu]

Re:Scratch / Alice 3D (1)

efitton (144228) | about a year and a half ago | (#41665613)

I'm actually partial to Alice 3d from Carnegie Mellon.
http://www.alice.org/
The original creator also did "The Last Lecture." YouTube it, pretty powerful.

Re:Scratch (2, Interesting)

Anonymous Coward | about a year and a half ago | (#41665729)

+1 for Scratch, my son loved that at age 8. Later he tried Alice but didn't like it as much. Several years ago we got him an excellent kid-oriented Python book, "Hello World! Computer Programming for Kids and Other Beginners" by Warren D. Sande and Carter Sande (http://www.manning.com/sande/), highly recommended. Gets into graphics via Pygame.

Kojo (2)

Troublesome Itch (1435417) | about a year and a half ago | (#41665307)

My 8 year old and 10 year old play around with this and love it. Strange coincidence that it's built using Scala which I use in my day job AND that means I can start using them in my child programmer sweat shop.

ZZT (2)

badrobot (864703) | about a year and a half ago | (#41665317)

ZZT is how I got my start. It is a very old game and of course the "graphics" are terrible, but the game is solid and it's fun. Once you get a little way in you'll come across levels such as The Bank. The Bank is an amazing room (for a ten year old) and for me the concept of programming soon clicked from that experience. In The Bank, you see how you can combine pushers, blocks, and sliders to create a really cool combo lock mechanism. Then, as I recall, there is a little character with some basic programming.

Anyway, the neat part of ZZT is the editor. You can make your own rooms and as you build your own rooms, you are effectively programming. From simple things like placing monsters and choosing types of breakable walls, to creating physical machines using pushers and sliders, and, finally, to programming using the ZZT object scripting language which allows you to create objects that react to events (e.g. 'touch', 'shot', 'timer', etc.) with actions (e.g. 'print message, aka talk', 'move', 'shoot', etc.).

ZZT is the game that did it for me. After a little time there I was moving on up to Turbo Pascal and QBasic. I don't know what contemporary kids would think of ZZT today, but I would think you might be able to convince them to give it a shot.

ZZT is freely available to download and still has a small dedicated fan group following online.

khan Academy CS section (1)

Anonymous Coward | about a year and a half ago | (#41665323)

http://www.khanacademy.org/cs - uses the processing.js language.

SpaceChem (5, Informative)

Jeremi (14640) | about a year and a half ago | (#41665327)

Re:SpaceChem (0)

Anonymous Coward | about a year and a half ago | (#41665429)

My 4 year old loves space chem
He can't handle the advanced logic yet but he gets looping procedures. I don't expect him to finish it because i haven't. It is way awesome.

Re:SpaceChem (1)

Trubacca (941152) | about a year and a half ago | (#41665639)

I was going to point out this Slashdot post from days past: The Games Programmers Play [slashdot.org] . SpaceChem was one of the featured games.. and it certainly gets a thumbs up from me.

Re:SpaceChem (1)

sergio (35237) | about a year and a half ago | (#41665763)

From the book "Life with Unix" in the secion on games it gors sort of like this: There is a game called 'cc'. It seems we never finish it.

kids learning (2)

xdcx (2711191) | about a year and a half ago | (#41665329)

first i would introduce the fundamental concepts behind programming without getting in to any coding. explain what variables, pointers, functions, are, etc When i first started programming in c & c++ in the 6th grade, I didn't have a teacher, just a crummy book and the internet. I had to figure it all out on my own, writing code wasn't the problem. the problem was understanding the concepts behind everything. It took me a while to understand pointers, and arrays because the information I was receiveing was telling me these were the hard concepts to learn, etc I would of probably dove deeper if it wasn't for being told that something was hard to understand. the problem with today is we treat children as if they are incapable of intellectual understanding. Conceptually yes they don't understand the world as we do, but we shouldn't hold them back. There have been children at the age of 4 or 5 who knew how to speak 3 or 4 different languages. There have been children who learned calculus before getting into highschool. All children are basically geniuses until they are told they are incapable of being so. but for the most part you should be a guidance for him, you can't force anyone to learn something they don't want to learn. If the kid is interested enough to learn he will learn, he just needs to be in the right environment. Anyway my opinion is that people should be learning social skills up to the age of 12, learning how to make friends, etc Today I've noticed social skills have been decreasing globally due to technology, he has the rest of his life to learn anything he wants. Let the kid be a kid for now, because I sure wished I kept being a kid before I started sitting at a desk, staring at the monitor, this is where he will eventually end up anyway.

Teach. (0)

Anonymous Coward | about a year and a half ago | (#41665351)

Sit him down on your knee and teach him, like my pappy taught me. (really! except for the knee part.)

Get the kid something "bigger" than programming. (3, Interesting)

109 97 116 116 (191581) | about a year and a half ago | (#41665353)

Get him something larger in scope than programming. Look into astrophysics or biology or botany sciences, or aeronautics, mechanical engineering, chemical engineering, materials sciences, anything engineering related or high math or high tech, but not programming.

Think about promoting something where they seek interests and career lines that might work for themselves or create their own corporation.

If you want to shoot for an interest leading to most likely employment, get him something for marketing and business. Entrepreneurship as well.
I don't recommend these as careers for everyone, but there will be lots of need.

Alternatively, get him a book on how things are actually made, not how they say they are on How It's Made or Mythbusters.
Something with a lot of good photos of Injection molding, machining, forging, casting, metal injection molding, powdered metallurgy, 3D printing and Selective Laser Sintering, Fused Deposition Modeling, etc.

COLOBOT (2)

pokoteng (2729771) | about a year and a half ago | (#41665363)

It's an educational game involving programming robots. You're an astronaut with a mission to explore space, and you have a variety of robots at your disposal. You can control them individually, or more effectively, you're supposed to program them to be automated. Sort of third-person FPS with RTS elements, where you code your own units. It uses its own somewhat OOP language, and is just fun with variety of missions.

Considering how old it is it's kinda still expensive, but give it a go (there should be a demo iirc).

digital logic (0)

Anonymous Coward | about a year and a half ago | (#41665367)

There's an iOS app called circuit coder that does a great job of teaching digital logic gates. If he likes puzzles he'll find it addicting. I've used it to teach non-engineers about how a computer works.

Alice? (0)

Anonymous Coward | about a year and a half ago | (#41665369)

Take a look at Alice to facilitate learning Java.

Two words. (1)

medik (1987972) | about a year and a half ago | (#41665375)

Hands on. That is the most fun way to learn programming. If I were you I would buy a raspberry pi/arduino-kit and let him do something he wants to do and encorage him on the way ("hey, if you want to ask me something, I'm always there for you!"). Encouragement from my parents and/or a other programmer was one of the things I missed as a newbie programmer. But hey! I've a lot of fun on the way too without it! I began programming when I were 12 and I've a lot of use of my knowledge in my school subjects (especially math). Maybe he will too!

Get him an Creators Club membership for Xbox360! (2, Interesting)

Anonymous Coward | about a year and a half ago | (#41665377)

The main development language is C# for using XNA. Microsoft gives you a GREAT example driven e-book (and free tutorials are everywhere), and all the tools FOR FREE. He can program straight to PC (and Xbox if you buy the $99 a year membership), and use a controller for interface for either. It's pretty easy to pick up, as it explains just about everything. I've been programming since Kaypro][ days (when I was 6), and to get started, you really don't have to go much past if/then, basic integer and boolean variables. I'm still using my 2nd grade level programming skills today!

Re:Get him an Creators Club membership for Xbox360 (0)

Anonymous Coward | about a year and a half ago | (#41665451)

oh yeah, check out http://xbox.create.msdn.com for all the info on it!

GameMaker (3, Interesting)

Purity Of Essence (1007601) | about a year and a half ago | (#41665381)

Without hesitation, I'd go with GameMaker along with the book The Game Maker's Apprentice, and followed by The Game Maker's Companion. The first book includes an older version of the GameMaker software which is all that will be needed to complete the exercises. If your child likes the process, move onto the second book which covers more advanced concepts. Those books, along with either GameMaker 8.1 or GameMaker: Studio should your child want to move onto more current versions, will all fit within your $100 budget, and it will only cost you $20 or so to get started.

The books are excellent learning tools and the GameMaker software itself was originally created by co-author and Utrecht University professor Mark Overmars to teach programming. It's a great way to get ones feet wet and very good games can be created with it if one is willing to put in the effort. If you child wants to move on to more popular languages, GameMaker will provide them an excellent foundation for learning them.

Re:GameMaker (0)

Anonymous Coward | about a year and a half ago | (#41665881)

no interactive programming here. Write the program, hit the "run" button and see if it works. Last century debugging technology. You really NEED a book to learn how to use this... yikes!

Adventure games!! (4, Insightful)

ryanw (131814) | about a year and a half ago | (#41665401)

I seriously attribute my love for adventure games to help me refine my troubleshooting skills and drive to "find the answer".

I believe that it's troubleshooting and the drive to find the answer that makes someone stand out in the work place, whether it's programming or anything else.

I played a lot of Kings Quest, The Secret of Monkey Island, Space Quest, Myst, etc.

Don't baby them. K&R C Programming;-) (0)

Anonymous Coward | about a year and a half ago | (#41665417)

No text

Re:Don't baby them. K&R C Programming;-) (2)

siddesu (698447) | about a year and a half ago | (#41665689)

Why C? Let them learn it the right way from the start, get them a MIX emulator for them and give them the three volumes that collect dust on your top bookshelf.

Little Bits (1)

skullbunny (1057038) | about a year and a half ago | (#41665435)

http://littlebits.cc/ [littlebits.cc]

I saw the founder Ayah Bdeir demonstrate these modular kits this summer and can't wait to get some for my daughter once she's a bit older.

littleBits (spelled lower case L, upper case B, all one word) consists of tiny circuit-boards with simple, unique functions engineered to snap together with magnets. No soldering, no wiring, no programming, just snap and play. Each bit has a simple, unique function (light, sound, sensors, buttons, thresholds, pulse, motors, etc), and modules snap to make larger circuits. Just as LEGOs allow you to create complex structures with very little engineering knowledge, littleBits are small, simple, intuitive, blocks that make creating with sophisticated electronics a matter of snapping small magnets together.

RoboRally (4, Interesting)

JoshDM (741866) | about a year and a half ago | (#41665437)

RoboRally [boardgamegeek.com] , if you can get it!

Richard Garfield, creator of Magic the Gathering, didn't win awards for it for nothing.

Race your robot against your opponents to get to the goal first. Program your robot figurine for each round selecting and ordering basic movement cards (forward, forward x2, backwards, turn left, right, u-turn) using a larger set. If you are damaged, your set of cards to choose from reduces until your registers you've programmed lock into place. Teaches how to think ahead and very basic programming skills. My five-year-old has been slowly learning how to play by laying out cards in order and having me beep-boop the robot into horrible predicaments he programs out. After two games, he seems to have gotten the hang of it and is able to guide the bot to the goal without falling into pits. Soon he will be up against me and my lasers; then he'll know true pain.

Robot Odyssey (1)

Anonymous Coward | about a year and a half ago | (#41665439)

Robot Odyssey. You can use an Apple ][ emulator to run it. (Which, itself would be educational.)
http://en.m.wikipedia.org/wiki/Robot_Odyssey

Re:Robot Odyssey (0)

Anonymous Coward | about a year and a half ago | (#41665473)

Or, even better, Omega.
http://en.m.wikipedia.org/wiki/Omega_(video_game)

Re:Robot Odyssey (1)

skids (119237) | about a year and a half ago | (#41665857)

This.

It was a very captivating experience when I was young and helped build a foundation for visualizing programs. Ii've often wondered how it could be 3D-ized, especially with the tardis-like robot interiors.

Robot Odyssey (or similar)! (4, Informative)

chalker (718945) | about a year and a half ago | (#41665447)

Way back when, at that age, I first got interested in programming via the game Robot Odyssey (http://en.wikipedia.org/wiki/Robot_Odyssey)

According to the Wikipedia page there are modern day clones and derivatives:

"The engine for the game was written by Warren Robinett, and variants of it were used in many of The Learning Company's graphical adventure games of the time, including Rocky's Boots, Gertrude's Secrets, Gertrude's Puzzles, and Think Quick!, all of which are similar but easier logic puzzle games. The gameplay and visual design were derived from Robinett's influential Atari 2600 video game, Adventure.

Carnage Heart involves programming mechas that then fight without any user input.

Cognitoy's MindRover is a relatively recent game which is similar in spirit to Robot Odyssey, but uses different programming concepts in its gameplay.

ChipWits by Doug Sharp and Mike Johnston, a game for the Apple II, Macintosh, and Commodore 64 computers is similar in both theme and implementation, although the interface to program your robot differed.

Epsitec Games created Colobot and Ceebot in recent years for Windows machines which are in many ways spiritual successors to Robot Odyssey. In these games the player program machines to accomplish puzzle tasks. Instead of using logic flops, switches, etc., these two games instead teach the player the fundamentals of object oriented programming like Java, C++, or C#.

One Girl One Laptop productions created a spiritual successor called Gate which uses the same digital logic puzzles as Robot Odyssey.

There is also a clone written in Java, Droidquest, which contains all of the original levels and an additional secret level."

Taro Gomi (0)

Anonymous Coward | about a year and a half ago | (#41665475)

http://en.wikipedia.org/wiki/Everyone_Poops

Living vicareously through youth. (0)

Anonymous Coward | about a year and a half ago | (#41665477)

Ask Slashdot: Best Book Or Game To Introduce Kids To Programming?

Whatever happen to the good old days of "Ask Slashdot" like, "what are the best tools and books to introduce kids to the trades, like carpentry, welding, automotive repair, etc"? Guess programming is the new "I want to be a Doctor when I grow up". Ya have a bright future, son, once your job get's back from whatever country is outsourcing territory this week.

Re:Living vicareously through youth. (0)

Anonymous Coward | about a year and a half ago | (#41665665)

Screw woodworking, what happened to all the Paladin Press books on the edonkey network? These days you can't even find the censored editions. I was halfway building my machine gun when the PDF file self-destructed under duress from the FBI.

TI-86 Basic (3, Informative)

stuporglue (1167677) | about a year and a half ago | (#41665525)

My 6 year old has been asking me to teach him to program. He played with kturtle for a little while, but turning is relative to the current position and in degrees, and he always ends up distracted by games and videos.

Recently I've started teaching him TI-86 Basic. He is very excited about printing things to the screen.

A couple of pros:
* It's self contained with no distractions
* Commands are all on the screen so you don't have to memorize them
* It's one place where Basic is still useful
* IO is simple

The other TI calculators are probably just as good, but I had the 86 in my closet.

What about The Incredible Machine? (3, Interesting)

The Dancing Panda (1321121) | about a year and a half ago | (#41665535)

I'm pretty sure there's new versions of it out, and it's a good start to what engineering (in pretty much any sense) is all about.

You (5, Informative)

Sarten-X (1102295) | about a year and a half ago | (#41665537)

Mentors are the most significant educational source. Match wits with the kid. Say "look what I can do, and here's how I did it". Then challenge the kid to do something similar himself. Build from "Hello, world" to a text adventure, or an animation, or a video game, or whatever else he shows some talent in. First just spend time with the kid, and let the programming interest grow naturally. If it doesn't, don't force it.

Best game? (2)

flogger (524072) | about a year and a half ago | (#41665539)

RPG Maker. This game is a great way to introduce programming logic. I use it in classes and the students that use this game have no problems with going into programming...

Alice (0)

Anonymous Coward | about a year and a half ago | (#41665545)

This is a fun way to learn to program:

http://www.alice.org

Mindrover (1)

guises (2423402) | about a year and a half ago | (#41665569)

This is pretty dated now, but there's an old game called Mindrover: The Europa Project that was absolutely perfect for this. Kid-friendly but challenging, used a sort of graphical programming that was easy to understand. The only problem is that it's such an old game now that the kid is likely to be turned off by the graphics.

Logo (2)

AHuxley (892839) | about a year and a half ago | (#41665579)

http://en.wikipedia.org/wiki/Logo_(programming_language) [wikipedia.org]
Will get him ready for the computer skills needed to learn the ideas that keep many big US companies old apps running.

Re:Logo (1)

larry bagina (561269) | about a year and a half ago | (#41665699)

Seconded. It's got immediate feedback, graphics and the turtle for the youngsters. And if you look a little deeper, it's lisp without the parenthesis.

Re:Logo (0)

Anonymous Coward | about a year and a half ago | (#41665715)

+1 for Logo. I can't speak from experience (my son never has had any interest in programming) but I've always thought logo would be a great way to introduce a bright kid to the concepts involved in programming. There are free versions available for both Windows and Linux.

Re:Logo (0)

Anonymous Coward | about a year and a half ago | (#41665773)

Logo only up to a certain age, like 12 max IMO. Get him a C64 and tell him to copy that game from the manual or a magazine each time he wants to play it, unfortunately it's going to be pretty hard to get him interested in Boulderdash, BubbleTrouble or Ghosts & Goblins at our time of iphones, so find something like the C64 but in Java or C.
Teach him unix scripting, netcat, metasploit, ... He's gonna have a lot of fun posting his videos to the television ;)

On a more serious note,
I remember someone teaching us TCL/TK in 8th grade, Pascal before that. It was very impressive when we had a working GUI calculator in a matter of a couple of sessions.

A language you like, (0)

Anonymous Coward | about a year and a half ago | (#41665601)

an IDE to go with it, and a text book.

Blockly (1)

Bigtoad (88790) | about a year and a half ago | (#41665607)

The Blockly [google.com] Maze Demo [appspot.com] is fun, and simple, but it won't occupy the kids for all that long.

(Somebody already posted about Scratch, which seems to have a similar programming interface but is more mature.)

Klik & Play (0)

Anonymous Coward | about a year and a half ago | (#41665615)

Anyone remember Klik & Play?

Khan Academy is free (0)

Anonymous Coward | about a year and a half ago | (#41665619)

My mathematically precoious 12-year-old son has figured out enough Java through Khan Academy to write his own video games (something akin to 1980 Space Invaders) over the space of a week, working after school. Maybe because he's older, it is going better than working with Lego Robotics which we also tried. On Khan Academy (which is even more extensive for math and science), you don't need to install software - it executes remotely. Google Chrome, Firefox or Safari all support that capacity. You can tweak a line of code and re-run the program immediately. With Lego Robotics, you have to write code on a desktop of laptop, download, and only then rerun your code. It is cool that something happens in the real world, but there is that extra step that slows down the process.

Game Salad (0)

Anonymous Coward | about a year and a half ago | (#41665625)

Game Salad [gamesalad.com]

Drag and drop game programming. Low barrier to entry and very similar to the mindstorm programming environment.

Just Give him Unity or UDK (0)

Anonymous Coward | about a year and a half ago | (#41665631)

Nothing is more encouraging than quick results. If he can do a shoddy FPS or small racing game in a week he might just be interested in how things work behind the scenes and start learning from the bottom up at his own pace.

If you make it boring (IE: start with all the real programming and putting the fun stuff a kilometer away) chances are he'll just prefer to do something else.

Assembly in AT-Robots (1)

HeckRuler (1369601) | about a year and a half ago | (#41665645)

AT-Robots [necrobones.com] , by Ed T. Toton (the third). Assembly in a virtual environment. It's not... the newest, or the hippest language, the best, or possibly even a good idea... but by god's teeth if it was good enough for me, it'll be good enough for my kid.

You know, when he reaches highschool age.

Micro Adventure (1)

narcc (412956) | about a year and a half ago | (#41665695)

The Micro Adventure series of books was written for kids about that age. They had type-in programs for various home computers, some required that the reader correct an intentional error in the program to make it work correctly.

You can find them online for ~$1/book on Amazon and eBay, and an old 80's micro to go along with them can be had for almost nothing. (Plus it'll add some much-needed novelty to get that initial interest going.)

What do I win?

Rubicon (0)

Anonymous Coward | about a year and a half ago | (#41665719)

This game is genius:
http://kevan.org/rubicon/

Apple Automator (1)

jomama717 (779243) | about a year and a half ago | (#41665735)

I tinkered with this thing for a little pet project once and at that time decided that it would be a great tool for a child to become accustomed to the basic concept of programming. They can script simple macros with the visual widgets and then create more complex steps with shell script callouts and the such. There's a text-to-speech ("say" command) that is always a huge hit with kids, at least it was for me :)

Let's see (1)

bugs2squash (1132591) | about a year and a half ago | (#41665759)

you'll need the MSP430 launch pad [ti.com] , a hosepipe, some electronic water valves, some simple electronics and a swingset to make one of these waterfall swings. [youtube.com]

You could probably make one for less than $100, you would be one of the coolest aunt/uncles ever, bonus points when you get it to write his name in the air

Scratch... (1)

sergio (35237) | about a year and a half ago | (#41665777)

Try Scratch using this guide:

Super Scratch Programming Adventure!: Learn to Program By Making Cool Games by the LEAD project.

It looks like a well organized way to build projects that explain the different features. Later you can try python or processing.

And if he is interested then C and C++ for the real thing :-)

Why Programming? (0)

Anonymous Coward | about a year and a half ago | (#41665811)

If he is that smart and on to better things, why distract him?

Doom WAD of course (0)

Anonymous Coward | about a year and a half ago | (#41665813)

What a silly question. Games! How do you think YOU ever figured out computers existed? You were smart? :>

Make Games with Python (0)

Anonymous Coward | about a year and a half ago | (#41665819)

The book "Invent Your Own Computer Games with Python" by Sweigart is highly rated and only $20. According to reviews on Amazon, it's a great introduction to programming. This could be just what you need - a fun way of learning something. Link:

http://www.amazon.com/Invent-Computer-Games-Python-Edition/dp/0982106017/ref=sr_1_1?ie=UTF8&qid=1350359585&sr=8-1&keywords=python+games

It's probably too old, but remember Rocky's Boots? (1)

lunchlady55 (471982) | about a year and a half ago | (#41665831)

http://en.wikipedia.org/wiki/Rocky%27s_Boots

I remember playing this on my CoCo2. THAT DARN ALLIGATOR ATE ME AGAIN!!!

RoboSport (1)

Culture20 (968837) | about a year and a half ago | (#41665889)

This game would be excellent as a new port.
http://en.wikipedia.org/wiki/RoboSport [wikipedia.org]
"The player creates teams of robots and maneuvers them around a board to map out one "turn" of movement. The other players and AI do the same and then all movement is played out simultaneously."
You can also set minor programming branches (if see enemy stop and fire).
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...