Ask Slashdot: Best Book Or Game To Introduce Kids To Programming?
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?
Because it's hard =)
http://en.wikipedia.org/wiki/Obfuscated_Perl_Contest
Isn't your nephew's future worth the price of a couple days at Disneyland?
My kids started using Scratch when he was 6 and has written two player race car games and other stuff with it.
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/ 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.
since this question came up on \. Must be a slow news day.
How about you first show him this:
http://www.mygamefast.com/
Then you show him the ORiley Python Book.
If he hasn't figured out how to program by himself by now, I doubt I would characterize him as "very gifted".
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.
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?
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
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.
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.
-I only code in BASIC.-
Check out Code Monster: http://www.crunchzilla.com/code-monster
It's a game-like site that teaches javascript programming.
Scratch, visual multimedia programming system from MIT. http://scratch.mit.edu/
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 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.
http://www.khanacademy.org/cs - uses the processing.js language.
http://scratch.mit.edu/
It is what has gotten my 5 year old engaged.
Good security is based upon reality and common sense. Common sense is a function of having common knowledge.
This blog posting seems apropos:
http://hostilefork.com/2012/03/06/a-word-on-programming-education-and-spacechem/
I don't care if it's 90,000 hectares. That lake was not my doing.
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.
Sit him down on your knee and teach him, like my pappy taught me. (really! except for the knee part.)
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.
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).
the game
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.
Take a look at Alice to facilitate learning Java.
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!
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!
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.
+0 Meh
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.
No text
http://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.
RoboRally, 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. You can use an Apple ][ emulator to run it. (Which, itself would be educational.)
http://en.m.wikipedia.org/wiki/Robot_Odyssey
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."
oh yeah, check out http://xbox.create.msdn.com for all the info on it!
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/
"Our opponent is an alien starship packed with atomic bombs," I said. "we have a protractor"
http://en.wikipedia.org/wiki/Everyone_Poops
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.
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.
https://www.facebook.com/digitizeicm -- Show your support for the digitization of the Iron County Miner newspaper archiv
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.
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.
You do not have a moral or legal right to do absolutely anything you want.
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...
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
"First things first -- but not necessarily in that order"
-- The Doctor, "Doctor
This is a fun way to learn to program:
http://www.alice.org
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.
http://en.wikipedia.org/wiki/Logo_(programming_language)
Will get him ready for the computer skills needed to learn the ideas that keep many big US companies old apps running.
Domestic spying is now "Benign Information Gathering"
an IDE to go with it, and a text book.
The Blockly Maze Demo 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.)
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.
Anyone remember Klik & Play?
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
Drag and drop game programming. Low barrier to entry and very similar to the mindstorm programming environment.
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.
AT-Robots, 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.
visual pinball is open source and you can also build your own pinball tables on the PC.
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?
Required reading for internet skeptics
This game is genius:
http://kevan.org/rubicon/
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 :)
while [ 1 ]; do echo -n -e "\xe2\x95\xb$((($RANDOM&1)+1))"; done
you'll need the MSP430 launch pad, a hosepipe, some electronic water valves, some simple electronics and a swingset to make one of these waterfall swings.
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
Nullius in verba
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 :-)
Check this out: https://www.youtube.com/watch?v=wgJfVRhotlQ
If he is that smart and on to better things, why distract him?
What a silly question. Games! How do you think YOU ever figured out computers existed? You were smart? :>
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
http://en.wikipedia.org/wiki/Rocky%27s_Boots
I remember playing this on my CoCo2. THAT DARN ALLIGATOR ATE ME AGAIN!!!
Have a look at video included in this ACM article describing the use of AgentSheets and AgentCubes as part of the Scalable Game Design project: http://cacm.acm.org/magazines/2012/5/148567-programming-goes-back-to-school/fulltext You can see other 9 years olds.
robozzle.com
This game would be excellent as a new port.
http://en.wikipedia.org/wiki/RoboSport
"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).
Check out: Scratch
My 9 y.o. daughter loves it. It gets through a LOT of programing basics in a fun way.
Or you could use MIT's Scratch programming environment and not get yourself icky with MS.
I have a theory that the truth is never told during the nine-to-five hours. - Hunter S. Thompson
Kodu! Free for PC, cheap for Xbox. Build a game and it's environment using programming concepts without typing. Great for teaching "if this then that" logic, and hugely fun, which is great for keeping kids engaged.
http://research.microsoft.com/apps/mobile/showpage.aspx?page=/en-us/projects/kodu/
Also take a look on YouTube for a slew of games people have built with it.
Emacs is for experts. Pico is for beginners. VI is a disease.
http://robocode.sourceforge.net/
My other account has mod points!
As someone who's been into programming since grade 4 (good lord.... 28 years), I can't THINK of anything larger in scope than programming in terms of any of the things you mention:
Programming teaches logic, patience, critical thinking, planning, and attention to detail.Programming teaches you to examine any given topic (whatever you're most into) in a systematic, rigorous way. It teaches you to look at how any given thing works and to try to analyze it and break it down into understandable components.
Programming encourages an interest in math, the sciences generally, and boosts self confidence.
And all of that is just personal growth.
In terms of career, it's a marvelous business for entrepreneurship: almost no start-up cost, distribution cost, etc.: If you're smart, capable, and interested in the world there's no end of business opportunities. And if entrepreneurship isn't your thing, there's no end of jobs for well-paid self directed work as a programmer. And because it can be done essentially from anywhere and at any time (I work nights so as to spend time with my family, and can work small amounts while we're vacationing to pay for expenses), it provides amazing flexibility to engage in other aspects of life, to travel, to explore other interests, etc.
It's true that it's getting easier for anyone to program, and that there are more tools out there to help people who don't really know anything about programming do things programmatically. Neither of these things is going to decrease the need for capable programmers.
I could go on.... but I've got programming to do!
I started programming at about 6 because I wanted to make games. So I came up with game ideas and then learned what I needed to in order to make them. Then I got into web programming 10 years later because I wanted to make web sites. I make a good living making other people's web-sites and still make own as well when I need something. I needed to track my time for clients and projects so I wrote my own site to do it the way I wanted to do it. I needed to track my finances so I wrote a site to do that.
What does the kid want to do that involves programming?
What problem does he want to solve?
Java is free and it's not too terribly difficult to get a simple software rendering app going that he can start rendering math functions and apply what he's learning to graphical visualizations.
C# is free as well now. Visual Studio Express is more than sufficient to do graphics programming. Even JavaScript has gotten good enough to handle software rendering using the Canvas. I used that to show students how parameters affect a function during my student teaching.
Money is not a problem. Everything is free. There are tons of resources on the internet and libraries tend to have programming books. The problem is that you're looking for a solution to a problem the kid hasn't found yet.
Work Safe Porn
All these games share something in common. Arrange graphics to tell the computer how to achieve a goal. They require thought, problem/puzzle solving, are addictive through positive reinforcement, and teach that the computer will do exactly what you tell it to do.
They are just hard enough that 5/6 year olds, with very little coaching, will be able to figure out how to play the games. Puzzles get progressively harder at each turn. Each of them add an amount of basic physics to the learning.
My 6 year old love's Bad Piggies. I wish I had a copy of Lemmings to give him.
-CF
Learning a programming language is just as useful as learning a foreign language. It teaches kids how to communicate with computers. Programming by itself may be a questionable field to get into as a life long career path, but as a skillset it can benefit many professions. Are there any sciences, engineering or math career paths that would not benefit from the ability to let computers do the repetetive work?
My 10 year old loves The Scratch programming environment from the MIT Media Lab. It's free from http://scratch.mit.edu/ -- there's an online community that lets kids post their projects, and my kid was highly motivated to enter and win several little community competitions. The graphical coding interface is easy to tweak and allows clever kids to push things a bit more than you might expect. One essential aspect of the experience is that you can download the source scripts for the projects, which is a fantastic way to speed learning (one of my favorite ways to improve my code is to see how others tackle similar problems).
Scribbler 2 robot by Parallax
very weird and fun intro to programming in ruby - heavily illustrated with quirky cartoons
also: http://web.archive.org/web/20090627004409/http://poignantguide.net/ruby/chapter-1.html
If they have any interest in making things happen on the web then I naturally suggest html/css/javascript. Especially since if they have a few websites that they spend a lot of time on, they can get started easily writing greasemonkey scripts to add cool functionality. With a fairly brief introduction, they can start hacking right away with the javascript console that ships with most browsers and see results immediately.
So, yeah, I'd suggest Python or Javascript for the 9 year old. Probably Javascript as he'll get the most bang for the beginner buck out of it and most importantly he'll be able to impress his friends sooner!
The soylentnews experiment has been a dismal failure.
I started programming at 8 or 9 years old with QBasic on an old computer. My dad just showed me how to do one or two simple programs (simple loops), but I learned pretty much everything by myself with the included documentation. I know QBasic is a really shitty language for real projects, but it's fun for a kid because it has a lot of basic functionalities included, he can easily do simple I/O, draw graphics, etc. A few years later I moved to php, and then to C and C++. I've forgotten pretty much everything about basic, but I know how to code. So just give him a QBasic environment, QB64 provides an IDE that looks and behaves like the original QBasic/QuickBasic IDE, and runs on modern hardware/software. It should be perfect. (Though I don't know how good the documentation is)
For about $100 you could get a Thimio II open source robot
http://spectrum.ieee.org/automaton/robotics/diy/your-kid-wants-a-thymio-ii-education-robot/?utm_source=roboticsnews&utm_medium=email&utm_campaign=091812
I suggest Scratch [http://scratch.mit.edu] as a good introductory programming language and environment available for Apple Mac OSX, Debian GNU/Linux, and Microsoft Windows. Of course I recommend you provide a GNU/Linux environment for your nephew even if it is a VM running on another platform.
How did you learn, why should it be different for a child. Maybe they think programming is boring because they don't have anything in mind to write. In that case, make a game with flixel or renpy. These educational languages for kids are lame and stupid.
Give him an old Commodore 64 plus manual. In that way he can learn programming computers on the lowest level. If you know how that works, everything else is easy.
-- Cheers!
There's a 3D version, but I mean the original 2D version. Scan north south east west, fire laser, fire missle, turn, move. Basic conditionals and iteration. Variables and constants. Code executes at a constant speed per line. Program your bug to survive in an arena of other bugs. It's dead-on application, and pretty much the software side of simple robotics.
Of course, there's LOGO, which will always hold a place in my heart as a programmable etcha-sketch. But that might be growing more than old at this point.
The Little Lisper/Schemer is exactly what I would have suggested along with some project to go along with it.
I have no first-hand experience with this book, but it looks good, and Python is a good option for anybody IMO.
This post was generated by a Cadre of Uber Monkeys for Monkey-Man2000 (603495).
the interface is intimidating at first but there are LOTS of books, tutorials and videos
it has a huge community and there are many "gaming" scenarios you can do with just the engine with very little code
it might not be something a kid can mess with solo but with a little guidance it would be a really great tool to have in the toolbox
The Incredible Machine, or its modern counterparts.
A very good introductory book on computer networks for children has been previously discussed on slashdot some time ago.
Let's see, there's Bangai-O Spirits:
Bangai-O Spirits
Wario Ware DIY:
Wario Ware D.I.Y.
KORG DS-10 Plus:
KORG DS-10 Plus
"MIT betrayed all of its basic principles."
It's easy, fun, and visual. Added bonus, it's actually Ruby inside : http://hackety.com/
A book co-written by a father-son team as the son learns Python programming developing small games
http://www.manning.com/sande/
And when you're done with that, move on to slightly bigger games, still in Python
http://inventwithpython.com/
Why are questions like these posted again and again? just learn to use a f-ing search engine like google..
I know people have differing opinions on Java but I used the book 'Objects First with Java: A Practical Introduction Using BlueJ' when I began programming, it starts with the basics and is very easy to follow. BlueJ is also an excellent IDE for teaching/learning programming, although not useful for any real software projects and you are likely to want to move on to a proper IDE such as Eclipse or Neatbeans. Java is the only language I have learnt from a book, all other languages I have learnt from following documentation, googling problems, and posting on StackOverflow.
Many games use java and or lua.
Minetest-C55 Block style 3D building game. (Open source)
http://minetest.net/
also
http://www.codecademy.com/
http://www.lua.org/
http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games :)
I haven't tried Infon Battle Arena (yet) though it looks promising.
15TW = 15,000 Nuclear Reactors. (Approx. one accident a month.)
Wait until your kid learns that he can make the computer do his math homework for him (by writing programs to solve the problems). Then your kid will really start programming.
Anyway, programmers are a dime a dozen. But someone who is good at mathematics is very rare. If he is already excelling in mathematics, then he has a future in any form of engineering and the real sciences.
As for your original question...you could consider getting him a TI-83 and let him go with TI-basic. Or get a programming kit for that. Or put a compiler on your computer. Back in the day we had QBasic, I guess the modern attempt at that is python.
Most importantly: listen to what he says he wants to learn. The best thing to teach him is whatever he wants to learn. If he just wants to learn math, then a good puzzle book for mathematics is great. (Not sudoku or crosswords, but actual mathematical/logic puzzle books targeted for kids is what I'm suggesting).
Within budget. Plugs into the TV. At worst it gets turned into something useful. At best he starts playing with it. There's lots of youtube guides for getting various hardware bits to work with it. And there's plenty of python guides out there.
First off, pencil and paper. Teach them how to make and play wirh Turing machines and finite state automata. Enjoy the awe when you tell them about the Universal Turing Machine.
Low-level:
The HP15C User's Manual and an HP15C, or HP's 15C iApp.
High-level:
David Touretzky's Gentle Introduction.
My personal favourite language of all time: Icon.
S.
If your nephew has access to an iOS device, try Cargobot:
http://twolivesleft.com/CargoBot/
At that age, that being said, kids usually prefer Cut the Rope:
http://www.zeptolab.com/ctr/
The latter isn't technically programming, but it certainly teaches them problem solving.
Nice visual programming language for kids: http://scratch.mit.edu/
Randy Pausch creation is a great tutorial....either that or google....alice is a great guidance tool....
Rather than a book or game why not set him up with the developing environment for something that interests him?
See the second story after this one: From a NAND Gate To Tetris
A fun board game, and excellent for teaching the basic mental skills used in queuing up a list of instructions and then having them all execute in the order that you specified.
http://www.amazon.com/Wizards-of-the-Coast-217580000WOC/dp/B0009HLSP0/ref=sr_1_1?s=toys-and-games&ie=UTF8&qid=1350385716&sr=1-1&keywords=robo+rally
(no sig)
Code Hero from Primer Labs. Pretty cheap and teaches Javascript and Unity3D. www.primerlabs.com
Sure, it was published over 30 years ago, and FORTH gets (and often earns) the the moniker of a Write-Only Language,
but it allows concepts and code to be tested interactively, and as a language written in itself, lets the interested user learn
how it works, not just how to work it.
It's not exactly a resume builder, but knowledge of FORTH makes the concepts underlying other languages a lot easier to comprehend.
Mission: To provide products that consume time and energy as entertainingly as permitted by the laws of thermodynamics.
SpaceChem is amazing, but the learning curve might be a bit rough on younger kids. I still have trouble around the seventh or eighth planet. On the other hand, I loved Ninja Gaiden at that age, so who am I to talk?
Looking at the sample chapter at http://www.ccs.neu.edu/home/matthias/BTLS/sample.pdf seems to confirm this.
BTW, I'll add my vote for Scratch. Also, Mindstorms is intended for ages 10+, of course that may be adjusted down with mechanical *and* language giftedness but I find it's more than what my 7yo is comfortable with. There is a simpler LEGO product called WeDo for ages 7-12 (http://www.legoeducation.us/eng/categories/products/elementary/lego-education-wedo), it's for the education market but I've seen it available online. It's also a touch less expensive. Interestingly, there is an option to program it with Scratch (http://info.scratch.mit.edu/WeDo).
http://nehe.gamedev.net/
The lessons are easy to follow, easy to write, very well written and provide a solid base of programming. And no book is required to purchase.
Trust me, he will enjoy getting into something that shows results quickly.
Show him mIRC (or some similar client)
It will introduce him to an online community, get him comfortable with working from a command line, and as he discovers more he'll be able to write scripts/chatroom bots/etc. Thats the sort of thing hacker kids like to get into. After he is comfortable with scripting, then you can nudge him into OO stuff.
The programs are short, but can instill some much-needed paranoia about how things can go wrong interacting with even a simple environment:).
Try A.I. Wars (The Insect Mind) - its completely free at TacticalNeuronics.com. You program insect robots to do battle in a simulator.
http://www.boardgamegeek.com/boardgame/18731/c-jump-computer-programming-board-game
Easy to program (in the sense that there's lots of examples, and most people DO learn to program by modifying something else, rather than starting with a clean sheet of paper)
Easy to make it "do stuff" like blink lights, turn motors, sense the outside world.
The mindstorms stuff is cool (my daughters both played with it a bit) but I don't know that it's any easier to program in Lego language than the C variant for the Arduino. Both require figuring out what to do, learning a bit of an arcane syntax (compared to English or whatever your kid speaks), fighting with a IDE that isn't always intuitive. But that's what cheat sheets and step by step procedures are for.
Most 9 year olds (that's fourth graders) can handle simple soldering, etc, if you want to go that route, but I'm sure you can find ways to avoid that (like terminal barrier strips, connectors that you install for them, etc.). The ever popular white protoboard is a possibility too. (Heck, they have to build mission models in California, and most seem to handle that with no problem, parent complaints aside)
This is a fantastic mathematical, programming, and home creation project which you can do with your son. Its a great teaching tool, and looks awesome once your done. Take a look! The best part is that its relatively cheap as well.
http://www.ladyada.net/make/conway/
"It's not stealing if you don't get caught!"
just an hour ago, I was fiddling around with DOSBox, in an attempt to make this game accessible on my Win7 laptop... with minimal effort (DOSBox, Win 3.1, audio+sound drivers), I was able to get it installed and working.
This game does a great job at providing puzzles which must be solved using inputs (some analog, some digital), some boolean logic (and/or/not/xor), some execution logic (loops, timers, etc) and outcomes (RGB color mixing, sound effects, on/off lights, etc).
If they're comfortable using a mouse, I'd strongly encourage it.
google image search shows some good screenshots.
Learn VB.NET in 24 hours. Fun AND Educational!
No your 9 year old nephew couldn't handle the little schemer. But 9 is a great age for Logo. Alice is also easily doable for kids that age.
http://c-jump.com/
There was post about this game on slashdot many years back. It's like candyland, but with C like expressions. It's not going to teach a kid how to program, but it will help lay the foundation.
I picked up the iPad version of this puzzle game and was surprised at how much of my old coding brain cells it woke up. This sort of thing is a great way to introduce the concepts of programing without jumping right into code. I also concur with the RoboRally mentions out there.
This question keeps poping up on slashdot every once in a while!
Get him a lego mindstorm, let him build robots that he controls from his computer code, then flash the java firmware on it uses java instead of the OEM UI interface.
Mind storm http://mindstorms.lego.com/en-us/Default.aspx
Java firmware http://lejos.sourceforge.net/
Disclaimer: don't have fun instead of him. I find I play with my kids mindstorm just as much as he does.
Roboforge is an old PC game that can be found for free where you construct your own robot then pit it against an opponent. You can program the AI using fairly simple, but very versatile programming modules. Few things are as fun as watching your robot do exactly as it is told. You have sensors and zones that you can set up for detection of the enemy, movement commands, math functions. It can be as simple or complex as you want it to be.
Back in 2001 I remember playing pro rounds and winning $100 in a tournament. I was the first to build a runaway bot that would attack just to cause a small bit of damage, then run away the rest of the round. This kicked off the great runner/chaser era with algorithms becoming more and more complicated, until I believe a chaser was made that no runner could escape from. Good times.
Try http://www.codebymath.com...uses simple programming in the context of math to teach programming.
Robowars HEHE
There used to be a computer tank game where you could program multiple robot battle tanks to fight each other, wish I could remember the name, sadly I suspect
its out of print...
I would strongly recommend the adventure creation kit.
http://mozomedia.com/ack/
All your attention are belong to my old internet meme.
All are fun and totally free! Kodu introduces programming logic without "real" code, it's good for younger kids but still fun for older kids too. RoboMind combines the Kodu game aspect and real code. Hackety Hack is code-only but it shows fun step-by-step instructions.
I started with a VIC, then a C64 and the commodore documentation/manual at the age of 7... I was looking for something so inspiring to give to my own kids. The problem is, you don't NEED to know how to write code to use a PC in this age, where most of us came from a generation where Fortran or BASIC was needed to accomplish anything other than "load, 8,1".
Buy two baseball gloves and a ball. Give him one glove. Throw the ball back and forth with him. He will probably appreciate and remember that more as an adult than programming books.
Floating in the black seas of infinity without a paddle.
http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628
Tell them to stop being such pussies, and to just learn C
See if he enjoys these games first. Then try a real programming language.
http://www.kongregate.com/games/Coolio_Niato/light-bot and
http://www.kongregate.com/games/Coolio_Niato/lighbot-2-0 and
http://www.kongregate.com/games/PleasingFungus/manufactoria
Not so much programming as it is design, but It allows you to play with motion, physics, skeletal structures, geometry, environments, etc. It's cheap, and a helluva lot more fun than MSPaint. It could turn out to be a good stepping stone into game design. If you want to go strictly programming, I'd seriously consider introducing the kid to the LAMP stack. Linux and Apache are easy enough for a young kid to learn the fundamentals of, as he/she gets older, bring on the SQL and Python/PHP/PERL. Web applications are going to be the future for the foreseeable future, and Python isn't quite as daunting as C, C++ or C#.....
Took about a minute to print a new grid of asterisks on a teletype then.
I grew up on an Apple II. Get them a copy of Rockies Boots and the Odyssey. Both are great logic and programming games. It really carried me through all my math courses. Every time I had a Logic class I had perfect scores on every assignment.
Consider that some of the learning software today may not be as good as some of the older stuff!
Both systems make the conceptual leap that a number can be represented by a name rather than digits. Then both systems give you a large number of recipies for manipulating that name to compute something.
Usually most people can hand abstraction after a few years of arithmetic. But I've seen some people go mentally blank after leaving the concrete system of digits and never grasp algebra or programming.
Thats why I am a little skeptical about hearing of 5 or 6 year olds "programming". I dont think the foundation is really there yet. But I think some 9 or 10 year olds can handle both kinds of abstraction. I could by that age.
Better headline: Ask Slashdot: Best Book Or Game To Introduce Kids To Secure Programming?
I used to play with this when I was a child and I really enjoyed it : http://www.logiblocs.com/ . Basically, they are the LEGOs of logic gates, with some interactions possible with the external world (light sensor for example).
check out this site, and the language there within. I remember using this when I was a youngling and definitely sparked the interest in computers and programming:
http://el.media.mit.edu/logo-foundation/logo/programming.html
Definitely a good place to start for sure.
....if he's truly "gifted" then he would already be programming ....sounds like another wishful thinker --- say, are you one of those undecided jackh....I mean, voters, they are hosting at the Presidential Town Hall????
he might be a little old for it, but alice would work...
just started my 10 and 14 year olds on it...
it has 3d object they can control (thier addicted to mincraft, so thst should hook them in)
and yet it show the basics of object oriented programming
at least its a quick way that they can create something that looks like somthing vs "hello world"
Kodu Game Lab is a visual programming language from Microsoft Research made specifically from game programming. It's a free download for the PC at www.kodugamelab.com.
from the friendly people who pioneered educational drag and drop programming (AgentSheets) comes AgentCubes, the first 3D creativity tool integrating the creation and programming of 3D shapes with advanced end-user development tools.
Watch this movie and tell me if you think this could have been done with any other tool (in 3 minutes) http://youtu.be/jgiGoLYFA0A
Ren'Py (.org) offers a pretty cool plateform for kids using the basics of Python and simplified functions inside the Ren'Py engine. I've taught kids to program in two hours. They could hav their drawings up on screen, moving around and give the user a choice based interaction.
lets see...
who programs the system to track objects in space and calulate thier trajectory...
who programs they systems to monitor plants and chemicals in the soil as they grow under different contiftions...
who programs the dna data analyzer to find the correct sequence that causes alzhimers...
who makes a script for the cad system to make the presentation to the client...
who makes changes to the control systems at a chemical plant...
programming is logic applied...
CODE: The hidden language of hardware and software is another similar book.
If he is really truly gifted he only needs Google.
Carnage heart for playstation one is the only game I know of where you actually program in the game. Google it, it is quite amazing and fun!
It is a ridiculously fun game where the fun is engineering. It has an extremely vibrant modding community because the game supports addons in Lua. Very easy to get into (there are numerous websites, tutorials, and videos explaining how to do lua modding in the game), and it goes much further than programming. There's a mod called Wiremod that allows logic circuits to be built in game and used to control your creations. There's even a simulated CPU that is available within Wiremod, so you can build an entire computer from the ground up within the game (even from NAND gates up, if you so choose).
I came to love programming because of this game, and one of my younger brothers is having the same experience. Whatever you find, check to make sure it is truly fun for your kid. They've got to be the driver of the experience, and derive the enthusiasm for themselves.
Try getting a Raspberry Pi. If you are willing to do some work getting it set up, your son could use Scratch, as someone already suggested. This way you don't have to worry about him messing up an expensive machine, and still be able to create some neat programs.
I recommend Colobot too: it uses Java, has immersive 3D visuals, and I enjoyed it a lot loong after I learned to program. I now search for a copy to give to my nephew. Next best would probably be Windows Robot Battle, but it doesn't have a nice story behind it.
http://www.vintage-computer.com/magazines.shtml
Changing the lives entirely previously seems very overwhelming and it is, cheap ncaa jerseys in actuality, if your kids is accustomed to playing game titles or watching tv every night, send all of them outside in order to play for quarter-hour first Watching tv and playing game titles, even to have authentic nfl jerseys wholesale an hour every evening robs them from the opportunity in order to interact socially along with others Regardless of whether the seller is based in the USA, Canada, U Our kid's hobbies additionally put them in dangerAdChoicesFor only $35, you can own of the most popular football uniforms on the market today There are 32 teams in the League, it divided deion sanders falcons jersey into two federations: the United States cheap jerseys Football Association (American Football Conference, referred to as AFC, AL) and the national football federation (National Football Conference, referred to as NFC, the League of Nations) Normal wear also includes these jerseys as they cheap custom nfl jerseys give you a great sports lover look that you always wanted to showoff to your friends and others Furthermore, you can personalize these jerseys with additional fees as it fits in a quantity of websites You can get your jerseys customized as per your preferences like getting the name of the team imprinted on the front of the jersey and wholesale nfl nike jerseys the name of the players and their number cheap elite nfl jerseys on the back Locksmiths New jersey Area throughout Colorado will be the chief throughout New jersey, a new company involving solutions one day locksmith along with stability during New jerseyWhile shopping for Steelers jerseys if you compare the price range and other features of the products of NFLsnapbacks The site wwwRelated ArticlesPurple soccer jerseys: Bati-Gol, Ares for ever!Soccer jerseys:You know how much?All About Soccer JerseysSoccer Jersey Collections GuideRage of football lovers can be seen in every game as supporters engulf the whole stadium and cheer for their favorite custom nfl jerseys cheap teamNbajerseysale The only problem is probably appropriateBrowns' fans should start their search online
Many of us in addition provide locksmith solutions Urgent situation fasten the idea routinely Cheap NFL jerseys get a bad rap, but really, its nothing more than repping your home team Each of our 24hour locksmiths, daily in the 1 week, dailyRelated ArticlesChoosing a Reliable LocksmithLocksmith New Jersey delivers per day time servicesLock Picking Performs Adequately nfl logo tee images by LocksmithPick the Right Locksmith? Many of us take care of many recommendations along with a lock also The style and cheap NFL T Shirts size gives you the freedom to move around and be in a position which could help you relax truly Cheap custom jerseys unlike the fitting jeans Due to the limit of their economic condition, they cheap nike nfl jerseys only give up Their love
This process was certainly expensive and took timeThere are several custom basketball jerseys available in the market Here are a few things you should be aware of before buying jerseys onlineLocking NEMA plugs, receptacles and connectors to 30 Amps wwwYou also have the option of customizing or personalizing your jersey For authentic nfl jerseys wholesale NFL SHOP 2008 cheap custom nfl jerseys Priceline came second only to Hotwire in terms of cheap mlb jerseys customer service NFL SHOP according to J You can start with NHL replica jerseys and have your own numbers, team name and players names added or you can go with what are called "uncrested" hockey jerseys, which are cheap jerseys jerseys with no actual custom nfl jerseys cheap NHL team colors or cheap NBA Jerseys licensed designs Here are a few things you should be aware of before buying jerseys online Before buying a reversible jersey, you should make sure that the dress is nfl football jerseys cheap properly cut and fit to the size of the cheap elite nfl jerseys body If you are their fans, never miss out the chance to save extra 10% off Kobe & James Jerseyshtm">jordan shoes head office that will "No, My spouse and i never individual just about any exact as well as Basketball Jerseys, inch and then, you happen to be recognizing your current aggregation half-baked But I could really care less if it gets destroyed Through them you will be able to have a specific idea on what decorations and party favour you must buy As soon as you make an order, your own jersey would be brought cheap football jerseys to a person within cheap nike nfl jersey a handful of operating days Start with the NFLs official pro shop just to get an idea of what the retail price is of the particular product you are looking for This can also avoid entering into a store and install the other object
Girls go on knees when they find cool guys wearing such attractive jerseys!If you cheap nike nfl jerseys had been looking for Steelers Jerseys for long and questions like - Where you want to buy the jerseys? Will you get a good deal on the jerseys or not? Is it possible to get quality made cheap teens Steelers jerseys? custom cheap NFL T Shirts nfl jerseys cheap C were coming in your mind, the answers to all these questions are uncovered at the online store NFLsnapbacks It is cheap nike nfl jerseys a good way to order your T-shirt, but not cheap jerseys So why not adhere to che
In addition, you can also get these nfl jerseys at your own home without cheap jerseys going anywhere So now It's very easy with just a click From Spice Grill you can order any Indian food online with cheapest price December 2, 2010, FIFA cheap nike authentic nfl jerseys wholesale NFL SHOP nfl jerseys wholesale announced in Switzerland, held in Russia in 2018 , 2022 held in QatarThe National Football League is full of passionate fansAdChoicesYou like sports, when placing on inside the beloved jerseys; you need to really feel an ideal lynch jersey offer more self-confident and happyHere are some reasons people use online custom tCshirt services:Whenever we ask a few new partners or parents from the children regarding their goals, they state that they wish to have a couple of healthy children We specialize authentic nfl jerseys wholesale in replica and Authentic NFL Jerseys wholesale, Pittsburgh Steelers Jerseys, Cheap MLB Jerseys, NACC Jerseys Find all the top Pittsburgh Steelers players jerseys and Pittsburgh Steelers gear or for an old school twist on your favorite Pittsburgh Steelers team shop from our select line of Pittsburgh Steelers jerseys all at a great price You can find out how by clicking the cheap nfl custom jerseys link in the author bio The shopping centre features a high street consisting of a large number of shops and facilitiesWhen travelling to Thailand, you will see vendors on the street of Bangkok selling Manchester United, Liverpool and Arsenal jerseys on every corner But the perfect among them is the black and yellow jersey A very beautiful bride dressed witnessed it allBrowse the online stores to find latest styled and designed jerseys for your kid It is now jerseys4home much easier to find such t-shirts in competitive rates There is a very slight chance that when you lynch jersey use Priceline, you'll get a hotel cheap authentic nike nfl jerseys room with one bed when you need a room for 3 people
From the type, color and the brand, it is imperative cheap authentic nike nfl jerseys cheap nike nfl jerseys that everything blends to make Cheap custom jerseys you fit in Price cheap nike nfl jerseys comparison sites like nextag Tony place on the cheap NFL jerseys, he likes to research the design ofKobe, lifestyle, basketball actively playing style, wearing style This fun activity can add spice within the team so it is just right to consult your team mates whenever there's something about the shirts they need to know1" x 8 They also are able to make jerseys for school basketball teams so that students who joined the basketball team can get a uniform for themselves The cut and style of jersey is such that sport personalities usually love to play wearing the jerseyscom has been rated as the number one jersey store online in the US for is uninterrupted service for all these years We also tend to shout cheers of motivation when they play a lotMoreover, in reality, there are precautions to be taken
"Code Hero is a game that teaches you how to make games with a code ray that shoots Javascript. Become a code hero and shape the future!"