Slashdot Mirror


Ask Slashdot: How To Introduce a 7-Year-Old To Programming?

THE_WELL_HUNG_OYSTER writes I'm a professional programmer and have been programming since I was a small boy. I want to introduce this to my 7-year-son but know nothing about teaching this to children. Since he enjoys Roblox and Minecraft very much, and knows how to use computers already, I suspect teaching him to write his own small games would be a good starting point. I'm aware of lists like this one, but it's quite overwhelming. There are so many choices that I am overwhelmed where to start. Anyone in the Slashdot in the community have recent hands-on experience with such tools/systems that he/she would recommend?

315 comments

  1. Minecraft Mods by Anonymous Coward · · Score: 1

    There's enough youtube videos out there, a little help setting up the environment, and they're golden...

    1. Re:Minecraft Mods by mitcheli · · Score: 5, Informative

      Minecraft Mods are an excellent way. My youngest latched onto those with no issues. Ironically, I tried to teach my 13 year old Apple's Swift language and he was totally uninterested, but mu youngest is latching right onto it, finding ways to modify our test game we're working on, and reciting back to me what objects, methods, and attributes are. I think he even understands inheritance and method overrides. He's got the tree structure of nodes in SKNodeKit down as well. And he's 9. And to think, the 13 year old was the one who expressed a desire to learn how to write games. To each his own...

      --
      Select from tblFriends where interesting >= 4;
    2. Re:Minecraft Mods by PRMan · · Score: 4, Interesting

      Yeah, it has to be his idea. So start with modding something that he likes, like Minecraft. If my parents tried to force me to learn programming, I definitely wouldn't be doing it today. Fortunately for me, they didn't understand anything about computers, which allowed me the freedom to learn it on my own.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    3. Re:Minecraft Mods by Anonymous Coward · · Score: 0

      Couldn't agree more. Specifically the Applied Energistics mod would be very conducive to learning to program. It effectively allows someone to build a very simple computer system in Minecraft. Complete with networking and other requirements. As they make progress in the game the challenges become more program oriented. Its hard to see if you haven't played it, but it would be a great way to build the right mindset for the future.

    4. Re: Minecraft Mods by jblues · · Score: 0, Troll

      >You fucking lie like a rug. Link to his code or its >total fucking bull you fucking liar asshole. The thirteen year old is more of a SlashDot kind of person.

      --
      If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
    5. Re:Minecraft Mods by samkass · · Score: 3, Informative

      This is how my kids started with Minecraft plugins, a plugin called ScriptCraft: https://github.com/walterhiggi...
      It lets you write mods in JavaScript, either with separate .js files in a directory or directly on the command line in-game. JavaScript was very approachable and forgiving, and gave them immediate visual feedback on their code. Now my 10-year-old has written a Java mod while my younger one is interested in trying. I swear the desire to mod Minecraft is doing more for STEM than any Pearson curriculum...

      --
      E pluribus unum
    6. Re:Minecraft Mods by pspahn · · Score: 1

      Yeah, it has to be his idea. So start with modding something that he likes, like Minecraft.

      Minecraft may be a good choice, but I would emphasize something like Minecraft, lest they'll be slaves to Queen Minecrosoft.

      --
      Someone flopped a steamer in the gene pool.
    7. Re:Minecraft Mods by Anonymous Coward · · Score: 0

      Minetest is very similar to minecraft and has a mods system for mods written in Lua.

    8. Re: Minecraft Mods by Anonymous Coward · · Score: 0

      And the phrase "Anonymous Coward" takes on a whole new level of meaning.

    9. Re:Minecraft Mods by Anonymous Coward · · Score: 1

      One mod you may want to consider is called Computercraft - when installed in Minecraft you can create a computer in-world. Combining that with a pickaxe gives you a "turtle." You now have a programmable unit that can dig for you and place blocks.

    10. Re:Minecraft Mods by LaurenCates · · Score: 1

      Heh. Every time I see someone take a knock at Pearson, my inner Grumpy Cat wakes up, is momentarily pleased, and goes back to sleep.

      I'm happy that your kids have found a good learning tool that makes them want to learn instead of that turn-the-crank nonsense being peddled to schools these days.

      --
      Some people don't believe in fairies. I don't believe in The Patriarchy.
    11. Re: Minecraft Mods by Anonymous Coward · · Score: 0

      Oh how I hope Dad finds out you swore at him online...

    12. Re:Minecraft Mods by __aabppq7737 · · Score: 1

      When I was 13, I'd moved on from games into AI systems. Of course I never wrote much code (although I knew many languages), but taught myself important conceptual foundations for machine learning.

  2. scratch by Anonymous Coward · · Score: 4, Informative

    Use scratch. It's mildly obnoxious for a real programmer, but has everything you need off hand, and program flow is very easy to visualize.

    1. Re:Scratch by Anonymous Coward · · Score: 0

      +1 for scratch.

      If your kid were a couple years older, I might recommend khan academy's programming courses. They have a lot of visual feedback which is great for kids. But any programming tool that requires typing as the primary input is going to be daunting for someone at a 7 year old reading level.

    2. Re:Scratch by sobachatina · · Score: 1

      Scratch is a good idea but it is too simple.

      My 10 year old started with scratch, got excited, and started making his own games and animations.
      Very quickly he got frustrated. Simple features like reusable subroutines were left out "to keep the language simple".
      After a couple attempts to create something sophisticated, he became so sick of copying and pasting code and updating the stale copies that he abandoned the platform.

      He's getting started on Minecraft mods and I see a lot longer-term potential there.

    3. Re:Scratch by Anonymous Coward · · Score: 0

      The stepping stone after Scratch is Build Your Own Blocks/Snap!:

      http://en.wikipedia.org/wiki/Snap!_%28programming_language%29

      The most important features which differentiate it from Scratch, include:

              first class functions or procedures (their mathematical foundations are called also "Lambda calculus"),
              first class lists (including lists of lists),
              first class sprites (in other words prototype-oriented instance-based classless programming),
              nestable sprites
              codification of Snap! programs to mainstream languages such as Python, JavaScript, C, etc.

    4. Re:Scratch by Anonymous Coward · · Score: 0

      Scratch is a great starting point, we used it here, but be prepared to have the rest of the learning pathway in place so the child can move on as soon as they are ready. We recommend moving to python or JavaScript based on our experience, and as other people have pointed out Khan Academy is great for this, so long as they are doing both the maths and the programming streams together.

    5. Re:Scratch by Anonymous Coward · · Score: 0

      1) scratch
      2) colobot
      3) logo

    6. Re:scratch by Anonymous Coward · · Score: 1

      Agree. I'd say at least start with scratch with the tutorials since the pong game and others offer offer something of interest, some concepts like loop, condition, sensors and natively deal with the idea of parallelism. If they are into robotics, mindstorms (lego) has a similar block structure for programming and would be a good second step. At any point you can jump to minecraft, but I think it really helped my 8yr old get the grasp of conditions, loops, etc as an easy low barrier entry. Also, he programs in it at school now since they allow scratch on computers, instead of playing paper minecraft or terraria (scratcharia) on scratch.

    7. Re:scratch by Anonymous Coward · · Score: 0

      Yes, I would also recommend Scratch. Showed it to my 6 year old daughter when she was playing some logic game and she liked it at once. Mostly does programmed animations and simple games but this seems a good start.

    8. Re:scratch by dotancohen · · Score: 0

      Use scratch. It's mildly obnoxious for a real programmer, but has everything you need off hand, and program flow is very easy to visualize.

      Don't.

      Python is a real programming language, and it is very easy to learn. My eight year old daughter started learning Python when she was seven, and she can write Hangman and other games. Note that we are writing _console_ games but we have a blast doing so. And her native language is not English, nor even use English letters, so if your child already knows the English alphabet and knows what "define", "print", and "if" mean, then he will already be at an advantage.

      For kids their age, it is fun just to write a function is_cute(name) that accepts the name of someone they think is cute, and then prints "AC is cute", "timothy is cute", and so on each time it is called.

      --
      It is dangerous to be right when the government is wrong.
    9. Re:scratch by mwvdlee · · Score: 2

      What kind of IDE/environment are you using?
      I think the biggest hurdle is not the language choice, but how to get things to run.

      My first language was Logo. Couldn't do much with it, but it was fully interactive, which meant that you got immediate feedback as soon as you pressed Enter.
      I've recently had to make a simple graphics language for my day job, including an interactive editor which ran the program (= redraw the image) on every change; feedback while you're typing. The language is quite strict and unforgiving, but if a similar language could be made friendlier, it could be a great kids' language.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    10. Re:Scratch by verucabong · · Score: 1

      If he's interested, Scratch on a Raspberry Pi can talk to the GPIO interface. So, you could do some circuit programming. There's Arduino for that too.

    11. Re:scratch by LaurenCates · · Score: 1

      It's always nice to hear other people talk about learning Logo as a kid. I admit I couldn't figure out much to do with it either, but it's given me appreciation for JavaScript as a "learning" language (though I think Python is better learned in the long-run for sheer versatility).

      --
      Some people don't believe in fairies. I don't believe in The Patriarchy.
    12. Re:scratch by dotancohen · · Score: 2

      What kind of IDE/environment are you using?

      VIM. No, seriously, my eight year old uses VIM!

      My first language was Logo. Couldn't do much with it, but it was fully interactive, which meant that you got immediate feedback as soon as you pressed Enter.

      Perhaps that is why VIM is a good choice. In the learning stages one learns to use it, and the immediate feedback is a form of gratification if it does what you intended. And when VIM does something unexpected, we laugh and wonder what we can learn from that.

      --
      It is dangerous to be right when the government is wrong.
    13. Re:scratch by Teancum · · Score: 2

      The largest advantage of Scratch is the immediate results and the mixture of multimedia content that can be done with literally just a single click of a button. It can be extended to further complexity just one or two mouse clicks at a time.

      For this, I completely disagree that Python is a viable replacement or even worse something that should be done instead of Scratch. Don't get me wrong, Python is a fine computer programming language and perhaps as a 2nd language to teach a kid it might be very useful. It is just lousy as an introductory environment for somebody in grade school or junior high school to learn the basic concepts of computer programming.

      The other fun thing about Scratch that beats Python hands down is that Scratch is also multi-threaded with parallel processes happening as a major feature of the language. Kids doing stuff in Scratch don't even realize they are doing that kind of stuff until it is pointed out that some program/project they are making has nearly a dozen threads and even more event handlers being used. I don't see Python being nearly so easy to introduce such concepts.

    14. Re:scratch by dotancohen · · Score: 1

      The largest advantage of Scratch is the immediate results and the mixture of multimedia content that can be done with literally just a single click of a button. It can be extended to further complexity just one or two mouse clicks at a time.

      I disagree that multimedia and "click of a button" should be the goal when teaching children. Rather, I think that teaching them the computational process, and how to structure their thoughts, should be the goals.

      For this, I completely disagree that Python is a viable replacement or even worse something that should be done instead of Scratch. Don't get me wrong, Python is a fine computer programming language and perhaps as a 2nd language to teach a kid it might be very useful. It is just lousy as an introductory environment for somebody in grade school or junior high school to learn the basic concepts of computer programming.

      The other fun thing about Scratch that beats Python hands down is that Scratch is also multi-threaded with parallel processes happening as a major feature of the language. Kids doing stuff in Scratch don't even realize they are doing that kind of stuff until it is pointed out that some program/project they are making has nearly a dozen threads and even more event handlers being used. I don't see Python being nearly so easy to introduce such concepts.

      Again, I disagree. Scratch seems to be hiding so much away that one can write a multithreaded application without realizing it? How does that teach structured thought processes? If the goal is to get whiz-bang graphics out the door quickly, the Scratch sounds great. If the goal is to teach a fun, productive hobby that could turn into a profession, then it sounds terrible. I suppose that the choice depends on one's goals.

      --
      It is dangerous to be right when the government is wrong.
    15. Re:Scratch by robi5 · · Score: 1

      So what's the next step then? It's like the razor ads, with more and more blades.

      So let's introduce the next stepping stone: Suxorz!

      Suxorz has an even more incredibly large number of puzzle shapes, and even more colors! Of course they have to be smaller, so the text on them is unreadable and targeting it with the mouse teaches you some skill already! You get everything that you get in Scratch! and Snap! plus:

      - Java-like interfaces!
      - XML builder!
      - an MVC framework that forces manual event handling with string based fake-namespace notifications for race conditions!
      - you can convert the program to COBOL and ABAP/4!
      - inheritance! - of course, just single inheritance, to force you to create 'visitor' patterns instead of just using multiple argument dispatch (CLOS)
      - C++ style template programming!

      As a side effect, it suppresses all other programming paradigms, so visit your local museum to experience stuffed specimens of Lisp, Logo, Forth, Scheme, Matlab, R, Haskell etc. and anything declarative!

      Progress!

    16. Re:scratch by cptmoose · · Score: 1

      Scratch is fine until you hit that brick wall of 'how do I do X with this subset of a normal language/set of libraries', where X might be as simple as your kid saying 'I want to save the high score' or 'I want the player to have to guess a random letter' The solution to the high score problem, btw, is the cloud data block. Which is only enabled if you post a few hundred posts on the scratch forum. Try explaining that to an 8 year old.

  3. BASIC by Orgasmatron · · Score: 4, Insightful

    Did BASIC get uninvented recently? Why do people not start there?

    --
    See that "Preview" button?
    1. Re:BASIC by Locke2005 · · Score: 0

      Because it's a bad language that teaches people bad habits. On the bright side, you used to be able to write programs in it on a $99 Timex Sinclair, which was a pretty low barrier to entry.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    2. Re:BASIC by Anonymous Coward · · Score: 0

      A TI-83/84 with its built-in BASIC would be a great start. Durable, portable, something in a form factor that a seven year old will be comfortable with. Would get them curious about math in a hurry too. He will need one eventually anyway so why not give him one early.

    3. Re:BASIC by Anonymous Coward · · Score: 0

      Nonsense. JavaScript is worse. At least, in my 3 decades of experience. /shrug

    4. Re:BASIC by dbrueck · · Score: 5, Insightful

      I guess in some ways I got into programming because computers were a novelty and there wasn't an endless supply of free stuff, so in many ways programming was the entertainment. But now there is gobs of relatively high quality and free stuff to entertain that also /sort of/ scratches the builder itch (as I write this, my son is sitting nearby on the free-to-play Robocraft).

      So the "problem" is that there is an endless stream of stuff competing for my kids' attention that (a) is of a quality leagues beyond anything they can hope to do anytime soon and (b) gives /some/ of the same "fix" I get from programming. Back in the olden days the gap between what you could do with e.g. BASIC and what you saw in commercial apps looked a lot smaller.

      I'm always searching for something that does a good job of being an intermediate level - I can get my kids to do a lot of the intro / visual programming stuff and they like it, but then they run into this seemingly huge chasm when they try to go beyond that. It's like, "ok, so now you made a rudimentary game that runs inside this special environment on some website. You want to advance to something more flexible? Ok, um, now we need to talk about files and directories and a whole slew of tools and junk you never knew existed or were needed. Also, prepare to start typing a lot and using all those punctuation characters you rarely use in school assignments. And don't get me started if you want to get your little game onto a device so you can show your friends!"

      On the one hand I think it's just part of getting into "real" programming and they just have to suck it up and deal with it. But I really think one or two of my kids could really get into programming and really like it, but I've yet to help them get over that hump from super basic stuff.

    5. Re:BASIC by Anonymous Coward · · Score: 2, Insightful

      Because it's a bad language that teaches people bad habits.

      The same can be said for PHP, Python, Perl, Pascal, Cobol, Lua, C, C++, C#, Java, Javascript and pretty much any language out there that you can use to solve problems.
      Heck, programming on any computer with memory protection will teach you bad habits if you consider trial and error programming to be a bad habit.
      Basic may be bad, but it isn't as bad as people make it out to be.

      Unless you go for esoteric languages that only exists in academia then there will be quirks that can be misused.

    6. Re:BASIC by AK+Marc · · Score: 4, Interesting

      Because Apple IIC C64 and others had BASIC essentially built in. And there were piles of magazines with BASIC programs to make and try. Now, the basic command line editors are not included in Windows. You can't drop to a command line and edlin yourself a working program. Maybe you can, if you download and install an editor, but doing that is the same as installing a compiler for C++, so the low barrier of entry to BASIC is gone. It's no longer any easier than any other language.

    7. Re:BASIC by Anonymous Coward · · Score: 4, Interesting

      Because it's a bad language that teaches people bad habits. On the bright side, you used to be able to write programs in it on a $99 Timex Sinclair, which was a pretty low barrier to entry.

      Bullshit! Most of us learned to programme using BASIC when the only way to organise the code was by line numbers. We went on to learn assembly language for our computers and then integrated BASIC and assembly language programmes. Afterwards we moved onto other programming languages such as Pascal, Modula-2, FORTRAN, COBOL, Prolog, etc. Today we can learn any programming language necessary for our work or hobby projects. IIRC :Linus Torvalds cut his programming teeth on BASIC; we went on to create the Linux kernel and Git. You might have heard of them.

    8. Re:BASIC by Anonymous Coward · · Score: 1

      ISo the "problem" is that there is an endless stream of stuff competing for my kids' attention that (a) is of a quality leagues beyond anything they can hope to do anytime soon and (b) gives /some/ of the same "fix" I get from programming. Back in the olden days the gap between what you could do with e.g. BASIC and what you saw in commercial apps looked a lot smaller.

      When I began programming it was a combination of using those magazines and books with source code listings and venturing off the beaten path to create small custom applications and utilities along with a few games. When I bought a IBM PC-compatible computer a few years later I wanted to understand how to make a menu system like I had seen in commercial applications. I developed a library in C which allowed a variety of menu styles including the famous Lotus 1-2-3 menu system. I could have bought pre-existing libraries at the time but I wanted to understand and the best way to understand something was to built it myself. When dial-up BBSes were popular I regularly created automation scripts for everything from dialing the MODEM to logging into the BBS to uploading and downloading files. I miss those years because computers and technology was fun.

    9. Re:BASIC by Anonymous Coward · · Score: 0

      Because Apple IIC C64 and others had BASIC essentially built in. And there were piles of magazines with BASIC programs to make and try.

      Download a Commodore VIC-20 or C64 emulator and provide a link to early issues of Compute! Magazine [ https://archive.org/details/compute-magazine ] at the Internet Archive. You can probably still find Commodore VIC-20s and C64s for sale on-line.

      https://archive.org/details/compute-magazine

    10. Re:BASIC by dbrueck · · Score: 2

      Haha, yeah - ironically it seems like it was far more accessible back then in a way. You could reasonably know a little bit (or even a lot) about nearly everything, and when you did use something higher level you knew pretty much everything about how it worked behind the scenes.

      Speaking of BBSs, and an example of what was enough to catch my interest back then, I once wrote TDSANSI.SYS, a drop-in replacement for the standard ANSI.SYS. It extended the set of ANSI escape sequences so you could do higher level things like drawing text boxes or repeating characters, the net result being that a BBS could do their "fancy" UIs in far less characters sent across the wire. The funny thing was that people who used it loved the speed but couldn't stand the fact that it used like 40KB of their 640KB of RAM. ;-)

      I think I was in high school at the time and it was a ridiculously nerdy project, but that was something I really got into, and yet I can't imagine asking my high school son to think in those terms nowadays. I'm guessing that's part of what needs to change - just because I came up through learning a certain path, it doesn't mean that's a good or practical way to do it anymore. Basically nobody needs to work at that level these days, so it only makes sense that he'd focus on more of an application level.

    11. Re:BASIC by phantomfive · · Score: 1

      You might try looking at some of these projects. They're fairly simple, but still are interesting enough. (Note: don't follow the text, it's somewhat unreadable, but the projects are interesting).

      Also, always be on the lookout for simple effects that have visual interest. Maybe like flashing the entire screen in a single bright light, cycling through colors. When I think of how much entertainment I got from a simple 'goto' loop that filled the screen with text, it amazes me.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:BASIC by Anonymous Coward · · Score: 0

      Because it's a bad language that teaches people bad habits.

      The same can be said for PHP, Python, Perl, Pascal, Cobol, Lua, C, C++, C#, Java, Javascript and pretty much any language out there that you can use to solve problems. Heck, programming on any computer with memory protection will teach you bad habits if you consider trial and error programming to be a bad habit. Basic may be bad, but it isn't as bad as people make it out to be.

      Unless you go for esoteric languages that only exists in academia then there will be quirks that can be misused.

      Don't forget all the bad habits that Java teaches you... Memory management? Who cares, the garbage collector will take care of it!

    13. Re:BASIC by wikthemighty · · Score: 1

      Thank you for this link! I still have several stacks of Compute's Gazette in a box somewhere... :)

      --
      "There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
    14. Re: BASIC by Anonymous Coward · · Score: 0

      So? All that means is they are both bad.

    15. Re: BASIC by Anonymous Coward · · Score: 0

      They didn't forget it, in fact they explicitly mentioned memory protection.

    16. Re:BASIC by caseih · · Score: 1

      QB64 is only a download away and presents a classic QB4.5 style text ide with an integrated compiler and debugger. It's as close to an out of box learning environment as you can get. And it can do graphics in an SDL window. Might be a perfect start for some budding programmer. Just encourage structured programming and you should be fine.

      In a different vein, installing Python and IDLE isn't hard and gets you running very quickly.

    17. Re:BASIC by Anonymous Coward · · Score: 0

      You would call the mess ruby and c++ make out of programming a blessing?
      BASIC fits the needs as in the word 'BASIC'.
      It teaches very fundamental ideas about programming. Not all of them, but a lot of them without having to bother
      about all kinds of fancy stuff that does not add much to a language besides increasing the version number.

      And don't forget it just takes a line of basic to do something interesting.
      You wouldn't have your 7 year old kids giving up because of the linking process went haywire somehow.

      But I do have to admit that after Microsoft started pushing their idea of BASIC around, a lot of good practices went down the drain.

    18. Re:BASIC by TapeCutter · · Score: 1

      The number of entry points into programming that are available on the internet is staggering to someone like me who learned basic on a Apple II. The only "problem" these days is picking the entry point. Minecraft is a great pick for a child but not if the kid isn't interested.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    19. Re:BASIC by Anonymous Coward · · Score: 0

      I have three daughters and this was my first language of choice.
      It's what I started in on, it's simple, shows the basic of true/false logic based thinking.
      My 12 year old is now onto Perl, PHP and general web dev, the 7 year old has pumped out some neat BASIC games while the 4 year old just plays them all.
      Yeah it's not a great language but as a foundation I think it's great!

    20. Re:BASIC by hsa · · Score: 0

      It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

      Edsger Dijkstra

    21. Re:BASIC by alphabetsoup · · Score: 1

      I learned programming using GW-BASIC when I was 8 year old so I am quite partial to BASIC. SmallBASIC is quite good for teaching kids about BASIC. Rich scope for creating graphics and it has the turtle graphics primitives from LOGO too.

    22. Re:BASIC by dbrueck · · Score: 1

      Thanks for the recommendation - much appreciated.

    23. Re:BASIC by Anonymous Coward · · Score: 0

      I've seen comments like these before. What exactly is so wrong with BASIC as a starting language? Sure, DOS programs may be more trouble than they're worth these days, but what bad habits?

      BASIC has all the standard primitive data types, arrays, structs, functions, call stacks, file I/O, bitwise manipulation, simple graphics and PC speaker sounds. It has all the standard conditional loops everyone is familiar with, IF/DO/WHILE/FOR/SELECT CASE. It has a built in debugger that allows breakpoints and executing step by step. It has a full command help index built in. Error messages are generally informative enough to see what's wrong. Tons of example programs and small games are available on the internet, that can be freely modified and experimented with.

      And that's all in the free version of QBASIC 1.1 that shipped with MS-DOS. QB 4.5 features variable watches, function arguments by value or reference, and extended command set. For something modern, there's QB64.

      BASIC has instant results. You can draw a line on the screen in just two lines of code. Want to do more stuff? Experiment with loops, color mixing, random plots. Not exciting to make a computer do simple things? Maybe programming isn't their hobby.

      It's not a hard concept to move beyond GOTO, learn projects with multiple source files, or learn structs/classes with member functions and inheritance. Anyone who can't adapt isn't fit for programming to begin with.

    24. Re:BASIC by umafuckit · · Score: 1

      I'm always searching for something that does a good job of being an intermediate level - I can get my kids to do a lot of the intro / visual programming stuff and they like it, but then they run into this seemingly huge chasm when they try to go beyond that.

      One option for this is Arduino. It's exciting to make stuff in the real world happen, plus they'll learn other skills like soldering. The gap between commercial stuff and what you're doing is either smaller or non-existent (if no commercial solution does what you want).

    25. Re:BASIC by sg_oneill · · Score: 1

      Yeah basic teaches some bad habits. However I'd argue Python which is basic like in its simplicity teaches *good* habits.

      And theres also LOGO which is somewhat similar to lisp in the way it works, and as a bonus has the turtle which can be fun to drive as a kid.

      Heck its probably not too hard to build a physical turtle out of parts from a model shop and an arduino.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    26. Re:BASIC by Anonymous Coward · · Score: 0

      Basic isn't cross-platform, depending. Teaching anyone a Windows only Programming Language is the wrong thing. Yes, you have FREEBasic and Gambas for Linux but it means unlearning some things and learning some new things.

      You want to teach your Child something? Teach him/her that there is more than one Operating System. Teach him Python or Java or if you just want to play around, try Scratch.

    27. Re:BASIC by Anonymous Coward · · Score: 0

      People love to trot out this quote, but ignore the fact that Dijkstra was talking about unstructured programming. Many BASICs today allow structured programming and you can avoid GOTOs. He had some unkind things to say about APL, COBOL and FORTRAN as well, but nobody seems to be bothered by that.

      Also, Dijkstra was a mathematical purist who hardly used actual computers in real life. He frowned on pretty much anything that wasn't his way of programming, if it didn't meet his strict standards of what was "proper."

      Plenty of us BASIC programmers went on to become fine programmers in Pascal, C, and other structured languages, and do good work in OOP, which Dijkstra also apparently hated.

    28. Re:BASIC by mwvdlee · · Score: 1

      Ignoring GOTO (just remove it from the language), what fundamentally bad habits does BASIC teach?

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    29. Re:BASIC by Anonymous Coward · · Score: 0

      +1 get the source code for nibbles in BASIC, I remember taking the code and making it 4 players in high school computer lab. That was fun, all of us crowded around the keyboard

    30. Re:BASIC by IllogicalStudent · · Score: 1

      ... And don't get me started if you want to get your little game onto a device so you can show your friends! ...

      If your son/daughter is reasonably familiar with Phython (e.g., someone above mentioned rudimentary hangman-esque games), provided you don't mind helping (a little), Kivy is a fairly straightforward Phython library that can get a game from console to device (Android) with a decent UI. You can run your creations on Android in either the Kivy launcher, or compile to APK. The wiki is good.

      --
      But Maaa! Everyone else has a .sig !
    31. Re:BASIC by __aabppq7737 · · Score: 1

      Me and my friends from the millennial generation were taught with [stolen] copies of visual base 6.
      My dad's generation learnt from the ways of C.

    32. Re:BASIC by aethelrick · · Score: 1

      I found Greenfoot was a good intermediate because it got more "texty" compared to the likes of scratch. Also, while it still hid away some complexity, it didn't ignore required syntax.

    33. Re: BASIC by hackwrench · · Score: 1

      QB64 is a mostly compatible with Microsoft QB45 compiler for Windows, Mac, and Linux that compiles to an intermediate C++ set of files.

    34. Re:BASIC by Anonymous Coward · · Score: 0

      Yes, it did. BASIC today doesn't exist in a convenient format like 8 bit micros. You're basically looking at IDEs for VB, or a complete nightmare trying to install an ancient version of BASIC long since abandoned. A great pity, and highly unsuitable for kids starting out.

    35. Re:BASIC by Anonymous Coward · · Score: 0

      Edlin is still available on 32bit editions of Windows. Yes that's scary... So is debug.
      Finally it's gone from the 64Bit editions.

      Scratch on a raspi. That's why it exists, it is the raison d'etre of the Pi !
      Have fun

    36. Re:BASIC by Teancum · · Score: 2

      Visual BASIC used to be a pretty decent programming environment, and definitely didn't need a single GOTO command. There are other variants, although some of the later versions of Visual BASIC (to name one variant) have far too much influence from C++ developers in my opinion and has basically ruined a perfectly fine language.

      Other than compiling the language to P-code or some other interpreted middle-language (something that is definitely not unique to the language either), I fail to see what real drawbacks those with complaints about BASIC have. It certainly can be used as the primary development language for any modern application on any current computer platform including desktop computers or tablets and is simply a choice in a programmer's toolbox as well as based on the whim of the project manager for whoever is developing the application.

    37. Re:BASIC by Anonymous Coward · · Score: 0

      So? That was then, this is now.

      Dim blah as String = "blah"

      If Not Is Not Else If Not (a little bit of hyperbole, for illustration)

      Ridiculous syntax.

    38. Re:BASIC by Anonymous Coward · · Score: 0

      The only reason BASIC got used so much was that it was ubiquitous on 8-bit micros. Now that there's effectively no languages installed, you can use what you want.

      It's unfortunate that Python is the new BASIC. Horrible language, and God help you if you look at the internals.

      Personally, I find Lua to be a lot better, in nearly every respect.

    39. Re:BASIC by dbrueck · · Score: 1

      Good call - that appears to be the sort of thing I'm looking for, I'll check it out. Thanks!

    40. Re:BASIC by dbrueck · · Score: 1

      I've dabbled a bit in Kivy myself, but hadn't considered it for the kids - that's an interesting idea, and using the kivy launcher would let them get to see their program running on the device while avoiding the tedium/delay of building a full apk. I think it's a little beyond where they are at now but it could be the next-next stepping stone for them - thank you for the suggestion.

    41. Re:BASIC by Anonymous Coward · · Score: 0

      BASIC today doesn't exist in a convenient format like 8 bit micros. You're basically looking at IDEs for VB, or a complete nightmare trying to install an ancient version of BASIC long since abandoned.

      Take a look at Chipmunk BASIC. Old-school BASIC that runs on Mac, Windows, and Linux.

    42. Re:BASIC by Anonymous Coward · · Score: 0

      No wonder you posted anon... you're an idi0t.

    43. Re:BASIC by Marxist+Hacker+42 · · Score: 1

      Goto. Just don't.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    44. Re:BASIC by Marxist+Hacker+42 · · Score: 1

      Basic != Visual Basic

      The correct way, in classic basic, to designate type was with a suffix- such as "A$" for a string variable named a and "I%" for a loop variable of type integer. DIM was short for "dimension" and was only used for arrays.

      Now get off my interpreter, you young whippersnapper.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    45. Re:BASIC by Marxist+Hacker+42 · · Score: 1

      QBASIC is a later version as well, and is not equal to ANSI standard basic.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    46. Re:BASIC by Anonymous Coward · · Score: 0

      What exactly is so wrong with BASIC as a starting language?

      BASIC is still a good starting language. Read David Brin's Why Johnny Can't Code to see why attempts to displace BASIC have left us crippled.

    47. Re:BASIC by Anonymous Coward · · Score: 0

      > The only reason BASIC got used so much was that it was ubiquitous on 8-bit micros.

      Circular reasoning. The meta-question is 'why was it used so much on 8-bit micros'? Not just because it was light on memory.

    48. Re:BASIC by phantomfive · · Score: 1

      If you have time, I would be interested in seeing how it goes.

      --
      "First they came for the slanderers and i said nothing."
    49. Re:BASIC by MoarSauce123 · · Score: 1

      BASIC on the C 64 was my entry to programming. I find the debate about good or bad programming languages to be utterly pointless. Look at JavaScript/HTML on any web page and validate that against W3C, especially when UI frameworks are used. You get gazillion of errors and warnings reported all pointing to the page code being syntactically and logically flawed...yet stuff still works reliably. There is little incentive to shed bad habits and strictly follow the rules when there is no change to the user in the end. I worked with VB6 later and found it to be easy to understand and get results quickly. I think this is the key for young uns to stay interested. I started with C and Java and loathed it from the very first second because of all the hoops you have to jump through just to get "Hello World!" printed to the console. I understand why there is so much up front work to do, but it really only matters when doing specialized projects where memory is limited and code needs to be optimized to the whazoo. I also find PHP very easy to grasp, but it comes with the HTML baggage and potentially CSS and JS plus SQL (although that applies to any programming against a database). Probably too many different languages to learn at the same time. Scratch is nice, especially when you get your son a 35$ Raspberry Pi as development platform, but I find Scratch to be good only for doing Scratch. I find only very little of the concepts and procedures are transferable to other languages.

    50. Re:BASIC by MoarSauce123 · · Score: 1

      "Unless you go for esoteric languages..."....like Plankalkül? At least that is the mother of all programming languages being the first to be invented and implemented.

    51. Re:BASIC by MoarSauce123 · · Score: 1

      GOTO...please do if it solves the problem. It is especially helpful for consolidated error handling where you call a common routine that will generate an error message and then end the program. How would a GOSUB...RETURN or any other construct help here?

    52. Re: BASIC by Anonymous Coward · · Score: 0

      Memory management != memory protection.

    53. Re:BASIC by Marxist+Hacker+42 · · Score: 1

      Try...Catch with a named function call is easier to trace, and better yet, is nestable.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  4. Don't by Anonymous Coward · · Score: 0

    Leave it be. They're just kids.

    1. Re:Don't by sycodon · · Score: 1

      Ya. Send him outside to play. Take him to the Zoo, or Hiking, or to a Ballgame.

      Here's a thought...Books!

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    2. Re:Don't by Anonymous Coward · · Score: 1

      When it comes to books I recommend "Assembly Language for Kids" by William B. Sanders. (ISBN 0-931145-00-7)
      A great way for kids to get introduced to programming and the basics of how computers work.

    3. Re:Don't by anchovy_chekov · · Score: 3, Interesting

      Leave it be. They're just kids.

      I'd concur. My kids have an on-again/off-again interest in programming, but the crazy shit they come up with using Redstone wiring in Minecraft is just unbelievable. Sure, I could push them towards C or Ruby, but when I see them building logic gates, adders, flip-flops and the like in Minecraft I just think "they'll work this stuff out on their own". And probably have a better understanding of the fundamentals as they go on.

      MIT's Scratch system is probably a good start for a lot of nascent coders though. It's not just about the code - it's also the community around it, like a Github for little ones. Strongly recommend looking into that.

    4. Re: Don't by Anonymous Coward · · Score: 0

      Basics

      BASIC

      Ha ha
      I see what you did there

    5. Re:Don't by LaurenCates · · Score: 1

      I see this recommendation a lot.

      Nothing wrong with encouraging kids' interests when they're young as long as you're not being a "Tiger Parent".

      And who said subby wasn't taking his/her kids outside to play?

      --
      Some people don't believe in fairies. I don't believe in The Patriarchy.
    6. Re:Don't by robi5 · · Score: 1

      So frequent unwarranted recommendations for Scratch. It has a pretty crude UI, and it looks unappealing. It feels like adults' conception of what kid programming might be like. Kids are not stupid, they're kids, we should of course simplify and make it approachable, but 'for kids' doesn't mean it should be shit. There's all the deserved dismissal of GOTO, but Scratch and literally EVERYTHING except Logo teaches imperative programming. When people coded in Basic, they didn't think about the problems with a language that didn't encourage structured programming. Kids will look back to this period and will say apologetically, "imperative was the only thing available, the default choice, of course I got stuck in this incredibly mechanistic, low level mindset".

      "It is practically impossible to teach good programming to students that have had a prior exposure to IMPERATIVE PROGRAMMING: as potential programmers they are mentally mutilated beyond hope of regeneration."

      not Edsger Dijkstra

      With interesting data flow tooling for e.g. data analysis (RapidMiner, Knime) and even shader programming (http://bit.ly/1JwMJED), and Bret Victor's vision, not to mention his kid-friendly approach to functional programming (http://worrydream.com/AlligatorEggs/) and visual editing prototypes, we should certainly do better than the n+1th rehash of some frigging 'while' loop into which some other imperative instructions can be snapped like puzzles. Everyone and their dog just rehashes this pattern over and over, mindlessly.

      Not to mention that Scratch requires literacy, and literacy in English, for no good reason. Ah and its ergonomics is pretty bad, small fonts, incredibly small interacting surfaces that require a lot of accuracy. We have apparently just no idea how to use this novel interactive medium called 'computing' - the best we can suggest for kids is '59 vintage BASIC without GOTO wrapped in colored puzzle shapes to make it seem 'intuitive'.

      The first person who invents a proper content creation tool for kids will have probably revolutionalised computing. There are so many people with artistic talent or creative inspiration who just don't get near the computing medium due to its incredibly arcane, fragmented and brittle hodge-podge of a pile of mess.

  5. I created a game with my SIster's kids by Anonymous Coward · · Score: 4, Interesting

    They were about that age.

    I eased the process so, that I made them design the game story and visual look. Later on, they looked and gave input as I churned the code during the next few days. After it was done, and they wanted to change something about it, they had to do it themselves -- I left several 'little annoying things' that are easy to fix there, so that they would ask and would want them changed.

    Being able to do noticeable effect with little changes made code less mysterious to them, and they were able to change little things on their own later on.

    They don't want to be good at coding, and are interested in other things. But atleast now they have experience of that as well.

    1. Re:I created a game with my SIster's kids by _anomaly_ · · Score: 1

      There's something to be said for starting with something that's already written, and hacking away at it.

      That's how I got my start mainly: I'd get some of those old DOS games on a 5.25" floppy... you know the kind, that actually included the BAS source files. I'd browse through it and just start making changes to do something different... to change colors, change text prompts, etc. Before I knew it, I was using the existing game or program as a launching point to piece-meal together an entirely different game. Learning by example like this greatly reduces the intimidation factor when starting out to program. You don't have to know a whole lot to get started, like program entry points, dependencies, etc, you just have to understand some basic logic and flow control (and most 7-year olds will understand "if this, then that"), and you're ready to start hacking at it, learning as you go.

      After you've hacked away at it little by little for a while, you'll want to start looking things up and learning how to do more complicated tasks, so a readily-available online reference would also be a big plus.

      I'll also add that, like others have mentioned, having immediate feedback is also crucial. That was easy with BASIC where the "IDE" and compiler/interpreter was readily available on all DOS machines. Find something like BASIC where making these little changes is easy and quick feedback is available. Maybe look into some online IDEs?

      --
      "I have no special gift, I am only passionately curious." - Albert Einstein
    2. Re:I created a game with my SIster's kids by Anonymous Coward · · Score: 0

      I bet yous sister's name is Script.

  6. Raspberry Pi by AmiMoJo · · Score: 1

    Get a Raspberry Pi. There are lots of free tools including a good version of BASIC. There are tutorials for writing simple games. Avoids all the problems of trying to write for a desktop PC.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    1. Re: Raspberry Pi by Anonymous Coward · · Score: 0

      Sounds like someone needs a hug, and some quality time with some vocabulary primers.

    2. Re: Raspberry Pi by kamapuaa · · Score: 2

      You know the sad thing is that AC is totally right on this one. RPi is just another computer, giving a kid a cheaper computer isn't going to be helpful unless they don't have access to another computer.

      --
      Slashdot: providing anti-social weirdos a soapbox, since 1997.
    3. Re: Raspberry Pi by khellendros1984 · · Score: 1

      True enough. A Raspberry Pi, ODroid, or any other super-cheap computer is "just a computer". Except that it's also a computer that a kid could tinker around on without making a more serious computer unusable, and it's easier to use it to talk to other electronics, sensors, etc than a PC-style computer. It works well as a kind of compromise between a more expensive computer and a microcontroller. It doesn't do either job as well, but it's more flexible.

      --
      It is pitch black. You are likely to be eaten by a grue.
    4. Re: Raspberry Pi by Anonymous Coward · · Score: 0

      While my computer may have digital io lines, they aren't as easy to use as the RPi's! Kano is a super tight package that runs very well on the RPi2. That's what my six year old has been using. It code block based and then transitions into direct Python. It offers a game edit approach that includes minecraft. I can't express in this post the excitement my son had when he "hacked" pong (the first game you code against) to make his paddle larger and he game easier. Something just clicked and he got why programming is about creating and anything is possible. He told me later "dad, I just built a house in minecraft with a few lines of code, it would have taken me all day to do it by hand". You can't get the same traction with a strictly giving them programming exercises. I can't wait until he starts manipulating devices in the real world, that is going to reall blow his mind. KANO highly recommended! I loaded mine on a $35 RPi2. I do not recommend on an RPi B or B+ (version 1)

    5. Re: Raspberry Pi by Anonymous Coward · · Score: 0

      No I'm not drunk, or brain dead.... editing text on an iPad mini blows. Previous post had a few typos in it.

  7. Kodu by x0n · · Score: 3, Interesting

    Kodu from MSR is excellent.

    http://research.microsoft.com/...

    "Kodu is a new visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The programming environment runs on the Xbox, allowing rapid design iteration using only a game controller for input."

    --

    PGP KeyId: 0x08D63965
    1. Re:Kodu by Anonymous Coward · · Score: 0

      It's ease of use does come with the cost of serious limitations.

      Eg: one of my students wanted to make a Soccer game, but there didn't seem to be any practical way to do scoring (event when the ball passes the goal line)

  8. Scratch by Anonymous Coward · · Score: 0

    I did this - scratch is great. Also make something with him as your consultant you can work alot into that.

  9. Scratch by NaiveBayes · · Score: 4, Informative

    Use Scratch - https://scratch.mit.edu/ It's what CoderDojo uses when teaching kids programming. It has a fun, immediately responsive interface. Bright colours and cartoon characters to attract kids, is easy to make basic games which makes it more fun, and still teaches programming logic.

  10. Minecraft Modding for beginners. by kiphat · · Score: 2
    1. Re:Minecraft Modding for beginners. by kiphat · · Score: 1

      Some further insight... Learn to mod uses blockly, has great video walk throughs, and translates your blockly code to javascript in real time so you can see what it looks likes. My daughter uses it and loves it!

    2. Re:Minecraft Modding for beginners. by dbrueck · · Score: 1

      Hey, this looks very promising - thanks so much for the recommendation!

    3. Re:Minecraft Modding for beginners. by Anonymous Coward · · Score: 0

      You can also try the ComputerCraft mod: http://www.computercraft.info/

      With that you can program a turtle in Lua to move itself through the Minecraft world and mine things, plant trees, etc. It might be a fun way to visualize what the code is doing.

  11. LOGO by Anonymous Coward · · Score: 0

    LOOOGOOOOOO

    1. Re:LOGO by MightyYar · · Score: 1

      You can laugh at LOGO, but I've been having my 8-year-old daughter play with code.org, and it is mostly the same thing.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    2. Re:LOGO by Anubis+IV · · Score: 2

      Logo was my first thought as well, since I realized years after the fact that it and its use of turtle graphics was how I was first introduced to programming, way back in 3rd grade (I'm now in my 30s and have been in the industry for awhile). I didn't recognize it as programming at the time, but in retrospect I can recognize that it laid the foundation for the sort of thinking that became important later in life.

      In that same vein, when you're talking about introducing programming to someone at that age, it probably shouldn't be "programming" as most of us think of it on a daily basis. Instead, you might consider activities that get them thinking in the sorts of ways that they would use in programming. Asking them to move a turtle through a maze and other such things in Logo is one way to do that, certainly, and it worked for me, but it's not the only method. Another might be to play a game like SpaceChem, which is essentially a graphical means of programming algorithms that assemble chemicals to meet objectives in the game. Other visual languages might be a great start too. If you're on a Mac, download the free developer tools and check out Quartz Composer, which can produce some immediate graphical results with very little effort. Likewise, if you felt comfortable teaching Swift (it seems fairly approachable, but I've never used it), XCode provides "playgrounds" in which developers can immediately see their results played out.

      But yeah...I'd focus laying the groundwork for programming-like thinking, rather than jumping straight into programming proper.

    3. Re:LOGO by Anonymous Coward · · Score: 0

      I remember hearing of Logo back in the early to mid 1980s, when all the computers came with a BASIC interpreter. Logo was supposed to be for kids, but I remember thinking, why not just learn BASIC? The sprites on my Commodore 128 were more than enough to build graphical games.

    4. Re:LOGO by avgjoe62 · · Score: 2

      I'm now in my 30s and have been in the industry for awhile.

      Ha. Hahahahahahaha. Get off my damn industry, you kid! Hell, when I was a kid and we wanted to play with turtles in a maze, we went down to the fetid, stinking, polluted sewers and caught them ourselves! And built our own mazes out of barrels of toxic waste! None of this turtles-in-computer shit.

      --

      How come Slashdot never gets Slashdotted?

    5. Re:LOGO by Anubis+IV · · Score: 1

      Yeah, it was tadpoles in the drainage ditch out behind the backyard for me. Uphill both ways, of course. ;)

      Anyway, I wasn't meaning to suggest I had loads of experience or whatnot, just that whatever lessons I learned as a child have stuck and that between grad school and working in the industry, I've committed myself to this field. I.e. I'm a success story of introducing a child to programming at an early age and having that effort bear fruit later in life.

    6. Re:LOGO by MightyYar · · Score: 1

      I never took to Logo, but the Elsa version had my daughter's interest and it was introducing her to loops and such. It was just writing javascript, and you could click over and look at the source.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  12. Oldie but goodie by Dunbal · · Score: 1

    I hear "Hello World!" works quite well, in the language of your choice since you're going to have to explain it to him.

    --
    Seven puppies were harmed during the making of this post.
  13. Dupe by BarbaraHudson · · Score: 0

    How many times has this been asked (and answered) before? This is neither news, nor worthy of yet another round of beat-the-dead-horse.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    1. Re:Dupe by Anonymous Coward · · Score: 0

      So, once the cut your dick off, or sew one on, whichever they do, does that mean you will no longer be "t"?

  14. Tooktalk by g0bshiTe · · Score: 1

    When my daughter was younger and one day she said she wanted to do what daddy was doing I bought Toontalk. http://www.toontalk.com/

    It is more like playing a game than programming, it teaches looping as well as some maths and includes flashcards.

    --
    I am Bennett Haselton! I am Bennett Haselton!
  15. Some minecraft mods lets you do scripting by Anonymous Coward · · Score: 0

    if they love their minecraft, start there :)

  16. Turtle Graphics? by Locke2005 · · Score: 1

    I haven't used this personally, but: http://sourceforge.net/project...

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
  17. Learning programming through motivation. by JWSmythe · · Score: 4, Funny

    Give the kid a computer, and programming book.
    Install an electronic lock on the door with an interface to the computer.

    Give them simple instructions.

    Write a program to unlock the door.

    If you get out, you can eat again.

    If you can't, you will die in this room.

    A person typically dies without water in 7 days, and without food in 14 days.

    Good luck.

    --
    Serious? Seriousness is well above my pay grade.
    1. Re:Learning programming through motivation. by Krishnoid · · Score: 4, Funny

      That's a bit draconian. Try this instead:

      • Write a program to unlock this box.
      • If you can unlock it, you can get your smartphone out of it.
      • You can't use your smartphone until you get it out of there.
      • A person typically goes insane without smartphone use in 7 hours, and comatose in 14 hours. Shorter for teenagers.
      • Good luck.
    2. Re:Learning programming through motivation. by Anonymous Coward · · Score: 0

      Shit, I thought you'd put the lock on a cabinet around the computer, but leave the BASIC programming reference out. That's pretty much how I got my start (4 years old). Minus the lock. But I did have to sneak out at all hours to use the Commodore 64 in the living room. Blankets over the top and all.

      Make it an attractive and mildly forbidden thing.

    3. Re:Learning programming through motivation. by angel'o'sphere · · Score: 1

      You die rather in 3 days without water, depending on heat/environment; and without food you easy survive 40 days or longer, depending how FAT you are.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:Learning programming through motivation. by Anonymous Coward · · Score: 0

      Here's a game program with a section of code that prevents you from playing it without the original disc.
      If you can figure out how to remove that, the game is your reward.

    5. Re:Learning programming through motivation. by hamster_nz · · Score: 1

      Gosh, in my day proto-programmers would quibble those facts:

      "But I never drink water, only Jolt cola, yet I'm still alive!"

      "But I wager that I can go longer than 7 days with water - Soup is a food, so food alone it is for me"

      "Is an ice cube food or water - it is after all a solid", quickly followed with "well, I'ld like to see you last longer than 7 days on just steam".

      "Can I drink from the dehumidifier i my room? Can I use evaporation to purify my urine?"

      "what do you mean 'and' in 'without water in 7 days, and without food in 14 days? Don't you mean or? After all you can only die once"

      "Sorry Dad, I've learnt how to pick locks at the geek club - do you want me to show you?"

      "But If you eat a lot of fruit and vegetables, you can replace lost moisture from just your food alone, and never need to drink" ....

    6. Re:Learning programming through motivation. by Anonymous Coward · · Score: 0

      If you die without water in three days, you didn't capture and drink your piss.

      I don't recommend it, but if it really comes down to a survival issue, at least you know how you might be able to extend your life a day or more.

    7. Re:Learning programming through motivation. by JWSmythe · · Score: 1

      Hopefully, the said trapped newbie programmer will give up on complaining at the door rather quickly.

      And, yes, you're correct, that was suppose to be "or". As they won't find a dehumidifier, soda, ice, or fruit, most of those arguments won't matter.

      The finest mechanical lock pick isn't much use against an electroncially operated solinoid acting as a deadbolt.

      I think you over-thought a joke. ... unless those are what are being yelled at you by a child behind the aforementioned door. :)

      --
      Serious? Seriousness is well above my pay grade.
    8. Re:Learning programming through motivation. by Anonymous Coward · · Score: 0

      EA Game Simulator 2015

    9. Re:Learning programming through motivation. by Anonymous Coward · · Score: 0

      I did that, when my kids were 3 and 4. But I didn't give them the computer and programming book. The wife let them out for dinner, tho, ruining the whole experiment.

    10. Re:Learning programming through motivation. by Anonymous Coward · · Score: 0

      7 minutes if it's a girl, or grown woman, for that matter. 20 seconds if they're driving.

  18. Arduino? by Anonymous Coward · · Score: 0

    An Arduino nano + breadboard + jumpers + $20 of parts = very interesting projects for kids: https://www.youtube.com/watch?v=3xCY2K9kQz4

    The upside for an Arduino is that it involves physical hands-on building. Blinking LEDs seems trivial, but it is captivating for kids.

    1. Re:Arduino? by ArcadeMan · · Score: 1

      I would recommend a regular Arduino so that if he's interested, he can add regular shields later.

  19. If it were 1992 by Anonymous Coward · · Score: 0

    I'd say ZZT and/or Megazeux. That's what got me started at like 5 or 6. Discovered the in-game scripting by accident. Couldn't do much but it still set the foundation. I'm a programmer for a living now and love it.

    I'm extensively familiar with Minecraft and surrounding mods, but you'll have to steer him toward the more code-y stuff if you want it to be effective unless he locks onto it himself. There are a lot of distractions in Minecraft.

  20. One of the ones my son uses by RingDev · · Score: 3, Informative

    My kid loves this one: http://codecombat.com/

    I got him started on it when he was 10, and he completed all of the free levels in two weeks with minimal help after I worked with him through the first few.

    Lots of other great recommendations here: http://venturebeat.com/2014/06...

    The board game one I've heard is good for younger kids, but once they have it down it's rather boring.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  21. Simple answer ... by angel'o'sphere · · Score: 5, Insightful

    Don't?

    Why the heck are you supposing a 7 year old one should/could/want do that?

    Can he write already? Read? (Likely yes) ... how is he in math? And why the funk do you want him to exercise his hobby behind a computer instead of playing outdoors with other kids, a dog or hanging in a rocking chair and reading, if he can read ...

    Coding is a nice word to camouflage all the variations of developing, programming, software engineering, computer science ... what actually do you mean with coding?

    Why don't you let him practice cooking and read a cook book and then let him experiment with cooking and write his own cooking book? That is far more "coding" than most "coders" ever do in their job.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    1. Re:Simple answer ... by T.E.D. · · Score: 1

      And why the funk do you want him to exercise his hobby behind a computer instead of playing outdoors with other kids, a dog or...

      Interestingly, this is my /. quote of the day at the bottom of the page:

      "Life begins when you can spend your spare time programming instead of watching television." -- Cal Keegan

      So clearly he wants the kid to do that so that his 7 year old's life can finally begin. Are you anti-life, sir?

    2. Re:Simple answer ... by Anonymous Coward · · Score: 0

      To get through life and be happy, you need social skills.
      You don't get those in front of the computer and it gets harder to change as you get older; the opportunities also become scarce.

    3. Re:Simple answer ... by Anonymous Coward · · Score: 0

      If the kid likes it, why not? I got introduced to programming also at age 7, though mostly by watching my brother do programming on the computer that my dad had available at work. Yet drawing flashing rectangles on a 286 PC with BASIC was more entertaining to me than watching cartoons. This was back in 1995.

      The best talents are developed early in life. If his kid has an interest in logic and computers, why suppress it? No need to worry about his social skills (he'll go to school, join clubs etc. right?). There will be plenty of outdoor play and socializing in his life. Yet when it's cold, or rainy, he will be making something with his own hands and braincells instead of mindlessly watching TV or playing console games. If he keeps nurturing his talent, there's no limit to what he'll be able to do later in life. Suppressing it will just make him average, just like most of us.

      The best racecar drivers, pilots and scientists, all started at a very young age. Starting early in life is the difference that makes stars out of regular people.

      Nowadays I am a successful software developer. Maybe his kid will also be one, or even better. He won't regret it.

      ----
      Read my book

    4. Re:Simple answer ... by Anonymous Coward · · Score: 0

      7 is probably a bit young for this anyway.

      I *started* when I was around that age. I could do pretty much jack shit. It was not until I had been thru some fairly formal math programs that programming made any sense at all.

      Programming is about being concise and being able to describe logic. Two things a 7 year old does not have in abundance.

      About all you can do is whet his appetite. But thats it.

    5. Re:Simple answer ... by codetricity · · Score: 0

      If you have a moment, check out the blog posts here: http://pychildren.blogspot.com... This section conveys the simple joy of living and learning and how we often fail as adults by teaching our children that things are impossible. Somewhere along our path to adulthood, we stop believing in magic. What would make us start believing again? It seems improbable for a 9 year old girl to program. Yet, I see it. As she sits in front of a Linux computer slowly typing out code in PyCharm, I think that this tiny 3rd grade girl either represents the future of computer programming or a failed opportunity for everyone. Adjust the y axis to move the character down the screen with keyboard input, I say. I do not expect her to succeed. She does it with the aid of PyCharm's fantastic code completion, happily typing in: if event.key == pygame.K_DOWN: y = y + 1 There's a moment of magic. I imagine every girl in America, daintily typing out our future. In her face, I see the things that adults would pay a fortune to capture, wonderment, belief, excitement in the aha instant of understanding. The gears click in her head, she presses the Run button on PyCharm, a Pygame window starts up with a pink girl character in the center of the screen. Then, the 3rd grade girl coder presses the down arrow key on her Logitech keyboard. And, the girl on the screen moves down. She talks about Barbie, My Little Pony, Hello Kitty, and Ada Lovelace, creator of the world's first computer algorithm. She knows about Ada Lovelace's work on the Babbage Analytical Engine, because girls talk in 3rd grade, letting the boys know that the world's first computer programmer was female. I hope that their girl power feeling of superiority continues on through high school.

    6. Re:Simple answer ... by Anonymous Coward · · Score: 0

      To get through life and be happy, you need social skills.

      Big YMMV on that. Some people are more comfortable alone, or at least don't mind the consequences of having shit social skills. Apparently *you* need social skills to be happy. I'm happy with my rudimentary ones, thank you very much.

    7. Re:Simple answer ... by Anonymous Coward · · Score: 0

      DONT!!!
      Living a compute life is a waste of humanity.
      Teach him to be free, teach him to run a business, invest his earnings, mow lawns, cook food, fix cars, be a man, about a wife and kids.
      Be a man, unplug.

    8. Re:Simple answer ... by msobkow · · Score: 1

      I agree 100%.

      Far too many parents push their kids way too damned hard and way too damned fast.

      Let the kid be a kid while he can! He has plenty of time in life for becoming a programmer, a doctor, a pianist, or whatever fucked up projection of your own hopes and dreams you want to foist on his poor life.

      --
      I do not fail; I succeed at finding out what does not work.
    9. Re:Simple answer ... by Anonymous Coward · · Score: 0

      I wonder the same every time these kind of questions are asked here (about once a month these days).

      I wrote my first lines of code with a C64 when I was ~11. And I wasn't "forced" into it, so it was actually fun. I remember reading a C64 programming book as an evening reading and figuring out stuff on my own.

      If my parents would of interfered, I doubt I would of been so interested in learning it.

      Why not find out what your kid wants to do, instead trying to force your profession down his/her throat?

    10. Re:Simple answer ... by Anonymous Coward · · Score: 0

      I made text adventure games in basic when I was 7 on a trs-80 with just a book from the library.

    11. Re: Simple answer ... by Anonymous Coward · · Score: 0

      You will change your mind in a few years when you're all alone in your basement, no significant other, no friends, nothing except a soulless machine to fill your life... But I bet you already feel that when you lie in your bed, trying desperately to fall asleep, as you feel the prisonlike walls of your empty life closing about you like the jaws of despair.

    12. Re:Simple answer ... by Anonymous Coward · · Score: 0

      At age 7 I sure as fuck hope he can both read and write.
      Other than that, there are plenty of language frameworks for him to work with. What none of them will give him is the most important part of programming- the ability to think critically, analyze a problem, and break it down into smaller problems to be solved. A programming language will not teach him that... YOU need to lead him to develop those abilities. You need to get him to ask questions, and look for answers. Why why why why why... when he asks why you should encourage it. But don't simply give him the answers, show him how to find the answers. Find everyday things you take for granted and show him that everything is a puzzle to be solved. Show him how everything in the world is a system built of smaller parts, which are in turns systems built of smaller parts. Break down, take apart, analyze, rebuild.
      Do all of that, and he'll have something that many people do not... including many who claim to be programmers themselves. And even if he doesn't end up being a programmer later in life, he'll benefit greatly regardless.

    13. Re:Simple answer ... by gshegosh · · Score: 1

      Why the hate? I see nothing wrong in letting a kid spend half an hour a day learning things that will probably be needed one way or another in her or his adult life. Especially if the kid's interested (and they usually are when the see parents work on a computer). There's plenty of time (s)he can spend playing outside anyway.

    14. Re:Simple answer ... by angel'o'sphere · · Score: 1

      How interesting that is, the question was about a seven year old boy, not a nine year old girl.
      Ofc a girl will excell at such things, no need to involve Lady Ada even ;)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    15. Re:Simple answer ... by angel'o'sphere · · Score: 1

      There is no hate.
      I doubt you can learn programming spending half an hour per day on a computer.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re:Simple answer ... by gshegosh · · Score: 1

      A single school lesson lasts 45 minutes. There's rarely more than 1 lesson on specific subject per day. Do children not learn then? And much of those 45 minutes is lost on checking homework, making kids quiet, etc. I'd say 30 minutes of undivided attention is much more than a lesson at school. Also, in six years this 0,5h cumulates to 1000 hours. It's not about teaching kids to be great programmers, as some say it takes 10000 hours to become great at anything. But spending 0,5h per day on different things gives children a choice in what they want to pursue later in life. And it gives them basic knowledge on numerous topics so they for instance are not cheated by a web developer the way I usually am by a car mechanic.

    17. Re:Simple answer ... by Anonymous Coward · · Score: 0

      Ahh, there it is.
      I was certain I'll find a reply that said "why teach him?" "he's a kid."
      I keep wondering why a website about tech that I believe most people who frequent are also tech literates discourages ANYONE from teaching tech to their kids. 7 years is a good year to start programming and exploring various disciplines in life. OP never implied they were going to block him from playing in the precious outside.
      Why don't you answer the question instead of trying to mentor a parent? Are you a parent yourself? Do you spend the WHOLE day with your kids in the outside? When did you have time to post this?

    18. Re:Simple answer ... by aethelrick · · Score: 1

      I started out teaching my kids to code because he was stood next to me at the computer quizzing me and asking me to. He's nine now and self-learning all sorts of stuff.

    19. Re:Simple answer ... by __aabppq7737 · · Score: 1

      'Coding' can be like following a recipe. (hola mundo)
      Or it can be like making a recipe. (configuring linux)
      Or it can be like designing the oven and growing ingredients for an ultimate dish. (a polished application/game/program)

    20. Re:Simple answer ... by Anonymous Coward · · Score: 0

      I used to be comfortable alone in my years, designing something bigger than ever seen. Then I realized that there's more to life than black and white. That day, one kid came up to me and told me something that made me change how I thought about him. He wasn't a 'bad' boy; he had psychosis.
      Do not forget color.

    21. Re:Simple answer ... by Anonymous Coward · · Score: 0

      Exactly. Go outside and play. Explore the real world. Make , not code.

    22. Re:Simple answer ... by angel'o'sphere · · Score: 1

      Exactly, and for exact that reason it is a waste of life time to let a 7 year old program, except he or she approaches her parent or teacher by himself/herself.

      Why do you want to "force" a kid to program every day half an hour? Or twice a week ... does not matter.

      The stuff it could learn, unless it is a genius, is so low level, it is a complete waste of time.

      Rather put the kid into a chess club ... or find other mental activities, like music. Even painting or tinkering is a mental activity. Let it learn about biology or what ever. But computers? At SEVEN? Sorry, that is retarded. And I don't care what "toy programming environments" people come up with to satisfy the posters need to put his child behind a keyboard.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    23. Re:Simple answer ... by angel'o'sphere · · Score: 1

      That is nice. And a different situation. He asked you. And you provided aid to fill his hunger.

      Perhaps you should answer the original question :D what did you do in teaching him and teasing him to continue on his own.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    24. Re:Simple answer ... by angel'o'sphere · · Score: 1

      You must be very bad at cooking. Or at coding :D

      Coding is always creating a recipe. Hence the cooking analogy. The processor is following the recipe, the code, not the coder.

      A good recipe looks like a Pascal program.

      On top you have the ingredients, and a comment about how many persons it serves and how long you need for preparation and total cooking time.

      Below that you have the instructions, the CODE, how to treat the ingredients.

      A cooking recipe is a program! Hence I don't understand why so many people make a fuss about "how hard it is to code" and that it is an "art".

      It is not an art unless you have spent a few 10,000 hours and have reached the niveau of an artist.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    25. Re: Simple answer ... by robi5 · · Score: 1

      What is it about the computational medium that make people perceive it as antisocial? I think it's because the screen size, and that it's a small rectangular window into another world. But nothing in computing is inherently antisocial; discounting 'social networks' and 'groupware', there is great potential in socially shared computing once the sharing can be done in a physical environment, rather than just through the little rectangular windows.

      Imagine for example large surfaces, e.g. the interior or exterior walls of a building, or pavement surfaces, when they act as both displays and sensors (camera, pressure etc.). So many interesting and creative potential applications that are socially engaging and inclusive.

  22. I stopped complaining. by Anonymous Coward · · Score: 1

    So, I say this:

    Programming? You should be teaching your kid math, biology, golf and discipline to keep studying and practicing even if he doesn't feel like it.

    So, if he can't make it a centi-millionaire golf pro, he fall back on a well paying trade like being a physician.

    Programming, pfft! That's for peasants in Third World countries. And in our lifetime, computers will be writing their own goddamn code! All we have to say is, "Computer, write yourself an inventory control program. Make it so. Oh, and an app so I don't have to keep asking you. Make that so too and a cup of tea, Earl Grey, hot - but not too hot."

  23. A lot of my friends started to code around 5 or so by Anonymous Coward · · Score: 0

    They seemed to think of it as fun time with dad rather than "I learned to code."

  24. my 9 year old is a Roblox Creator, here's how: by netsavior · · Score: 1

    My then 8 year old wanted to learn Lua script so he could build original content in Roblox. I tried to convince him to learn to code something easier to teach first. That was HARD, harder than I thought, to convince him to try to learn to think in code before he tried to code in Lua.

    One night, he came out of his room long after bedtime crying and told me that earlier he copied someone's script into a level he made in Roblox, and now he was sure he was going to get banned because the game thought he was cheating

    it was 10:00 at night and I loaded up his Roblox account, and edited the script right in front of him. It was something like this psudocode: wait(1 minute) display message("You have been caught cheating, your account will be deleted in 5 days") end

    I changed it to display a stupid message like "If you see this it means you got trolled by someone who understands scripting"

    He felt better, but more importantly he learned that "understanding scripting" is important and powerful... and that even his old dad who "just knows other scripting and not lua" is better than nothing.

    Then he said... I guess you can teach me Javascript... then we started Khan Academy and he slurped it up like a hungry aardvark.
    https://www.khanacademy.org/co...

    1. Re:my 9 year old is a Roblox Creator, here's how: by spongman · · Score: 1

      the AK processing tutorials are excellent. please don't show it to your kids, though. 'cos i want mine to have a better chance in the job market.

  25. Obvious solutions don't seem to work. by Anonymous Coward · · Score: 0

    I have the exact same problem: 7 years old kid, trying to get him to program. And the "obvious" solutions don't seem to work. I've tried Scratch and the Lego mindstorms visual programming language, to no avail. Between the two, Scratch seemed easier to understand, but still way too complicated.

    Weirdly enough, the best success I had was with things that have not been designed with kids in mind:
    - I managed to have him write a short Basic program for adding some numbers and then printing them. However, there was nothing catchy to attract him, and I didn't want to push him further. Next time, I'll try to lure him with some visual effects (I used Chipmunk Basic for this).
    - He really liked a robot my wife uses for research and that she brought at home. It's called Thymio. The funny thing was that one can program it to follow the object or robot in front of it, has LEDs, and it's very easy to use. The problem is that he still has to learn some basic structures (inputs, outputs, if, event-driven triggering). There's less of them compared to the other languages, but still... So, he can't do it, yet.

    1. Re:Obvious solutions don't seem to work. by cowdung · · Score: 1

      Try code.org

      fun angry birds programming game

  26. Don't! by EmeraldBot · · Score: 4, Insightful

    Unless you're kid truly displays a passion for it, I would not advise pushing him onto it. It's very likely that it'll overwhelm him, and then he'll never want to touch it again. If you are dead set on doing something like that, I would recommend starting with a LOGO implementation: those are usually pretty easy for most kids to handle, and indeed I got my start with it.

    But seriously, playing Minecraft and Robolox != enjoying programming. If anything, it shows that he likes building things, but that does not mean he is a programmer. Give him small and short steps, if at all; if you force this on him, he is going to hate it for the rest of his life. And if programming doesn't work out for him (and I highly suspect it might not), try giving him something practical or more physical; building models sounds like something he would enjoy, and LEGO's (if he doesn't have them already) would probably interest him.

    Do keep in mind, he might be playing Robolox and Minecraft for the social element behind them. It's very well possible he's playing them to make things, but a bunch of kids I've seen play it do so because it's an activity to do together, and I don't know they'd do it alone. Obviously, you are going to have to make that decision and I can't, but it's something to keep in mind.

    I don't mean to sound scary or anything, but you really want to make sure this is something your kid enjoys before exposing him to the full brunt of it. If he doesn't have a natural liking for it, it's going to be very stressful for the both of you. A lot like if your father ever made you play sports when you were younger - make sure gently stroking his interest does not turn to squashing it.

    Whatever happens, just keep an open mind and be sure he knows he can say what he wants. I wish nothing but the best of luck for you and your son!

    --
    "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    1. Re:Don't! by THE_WELL_HUNG_OYSTER · · Score: 1

      Excellent points. Thank you very much for your insight.

    2. Re:Don't! by kiphat · · Score: 1

      I exposed my child to http://www.learntomod.com./ She loves Minecraft, but saw what others were doing in Modding and wanted to try it for herself. So I got her a learntomod subscription. What I love about it is that it starts you off using blockly, and everything is in real time. It walks you though, step by step. First it starts with really easy mods, and progresses from there. They give you a personal Minecraft server where you can experiment with your new skills and as you progress, you get skill badges as rewards.

      The experience is great for both of us. I get the opportunity to spend time with my child helping her get new badges, and she gets to learn something she really wants to progress in. But she wouldn't have known this unless we tried.

    3. Re:Don't! by phantomfive · · Score: 1
      The slashdot fortune at the bottom of the page is especially relevant today:

      "Life begins when you can spend your spare time programming instead of watching television." -- Cal Keegan

      How will he know if he has a passion for programming if he doesn't get over the learning curve to the fun part?

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Don't! by __aabppq7737 · · Score: 1

      Unless you're kid truly displays a passion for it, I would not advise pushing him onto it.

      Passion matters. That's how I won all three chess tournaments in middle school (6th - 8th).

    5. Re:Don't! by Anonymous Coward · · Score: 0

      I have 5 children (all grown up). I got a BBC micro when the 2nd one was 6 and he fell on it with a passion for learning to program. He ended up with a first class degree in computing and is now employed by Google at a much higher salary than I ever earned. None of the others were ever interested, though the eldest learned some at college.

      In my experience, children either want to learn something and drive themselves, or they don't and there's no point in pushing them, beyond ensuring basic literacy and numeracy.

  27. Khan Academy by Anonymous Coward · · Score: 0

    Khan Academy does a remarkable job of introducing programming to kids using engaging examples.

    My 8 & 10 year old kids can't get enough, and leave their lessons delighted with their accomplishments.

  28. proper instruction by xmousex · · Score: 1

    tell him to go build the biggest sand castle he has ever built before. But it has to be twice as big as the sandbox he has to work with. Tell him there must be an individual entry way and a window for every toy he has in his toy box. It must be ready and meet your expectations by next monday, so no time with family or friends during this hussle. Also you will be out of town on vacation for the rest of the week, so monday is the first review/LAUNCH. Offer him a quarter to get the work done. If he complains about the pay or time tell him the less fortunate neighbor kids would do it for a nickel.

  29. Hey guess what? by Anonymous Coward · · Score: 0

    Your kid isn't a clone of you, you don't need to impose all your preferences on him. If anything, get him interested in something that is future and outsource-proof, like electrician, plumber, medicine, veterinarian.

    You yourself as a programmer are "overwhelmed" by programming languages! Yet jobs are going away, there's no more employment security and software is a never-ending treadmill of buzzords and a pressure-cooker of half baked ideas.

    Sure, show him a few languages, explain the general concepts, but don't saddle your kids with a precarious career.

  30. link coding to schoolwork by Anonymous Coward · · Score: 0

    You might try http://www.codebymath.com, which links programming to topics your son might have seen in his math classes at school?

  31. Go old school: Freedos & BASIC by Anonymous Coward · · Score: 0

    What more could you introduce but a fondness of what was?

  32. Understand and accept your son's abilities by mykepredko · · Score: 1

    Oyster,

    Personally, I would say seven is a bit young to start introducing him to programming. I don't know what your background is and what you expect from him but my biggest piece of advice is tread carefully. He has quite a few years to become interested/fascinated in programming as well as mature the thinking and analytic skills needed to be a successful programmer. Pushing too hard or introducing it before he's ready could result in him getting a negative attitude about programming. My recommendation would be to hold off and wait until he's around 12 to actively introduce him to programming as a career/interest option if he isn't doing it already.

    For full disclosure and as a point of reference; this is my business right now. I cofounded Mimetics Inc. (https://mimetics.ca/) to introduce and engage children in STEM (Science Technology Engineering and Mathematics). We've done over 16,000 students, from ages 6 and up with quite a bit of success in introducing kids to technology and getting them excited about it as a career.

    I find that the best approach for introducing young children to program is having something concrete that they can program on with statements directly causing physical actions. This does not mean an Arduino or Raspberry Pi; I know there will be disagreements to this statement, but younger children do not have the manually dexterity to handle wiring or work with complex mechanical structures.

    For a parent of a child younger than eight, I would recommend the Wonder Workshop Dot and Dash: https://www.makewonder.com/ The robots are quite a lot of fun for children and are provided with an iPad app that allows control and introductory (Scratch) programming.

    As a father myself, I didn't actively introduce programming to my kids at all; they could see me do it and I was available for explanations of what I was doing and demonstrations as how things were done. Maybe a bit incongruous considering my current career arc, but the result has been my older daughter who's now taking Game Programming at college and a 12-year old that is having programming parties at our house with her friends.

    Good luck,

    myke

    1. Re:Understand and accept your son's abilities by PPalmgren · · Score: 1

      I think this is a very good post, because it touches on something the others here haven't addressed: child psychology and physiology. The basic issue here is that children aren't mini-adults, there are fundamental development areas mentally that may or may not be ready for these kinds of tasks. Most parents understand this, but quite a few do not, nor do and quite a few giving advice here. This that 3 year olds find amazing and turn out to be great tools to develop their minds tend to not be what we would expect, like simply playing with and touching flubber. While 7 is quite a ways from those 3 year olds, its not even remotely close to a fully developed mind. Its impossible to put yourself into a child's shoes without first understanding where children's development is at that age. Giving a 7 year old a large programming task and classic instruction style to programming would be like asing a 10-year old to dead lift 200 pounds - their body (mind) is simply not ready.

  33. games is probably thew wong aproach by Anonymous Coward · · Score: 0

    Using games to teach a kid to program is probably a bad plan.

    The complexity of the games they will be familiar with is so high that they have no hope of coding something that they or their fiends will find impressive for a long time, and that's likely to be frustrating.

    A better approach is probably to show him how a computer can do his homework for him. Particularly math. Though that won't really take off until he's in a class that lets him use a programmable calculator. But being able to write "cheat sheet" programs and programs that solve basic formulas for arbitrary inputs is how I started out.

  34. Another Minecraft recommendation. by grnbrg · · Score: 1
  35. Edison the robot by Anonymous Coward · · Score: 0

    Edison, a robot, at meetedison.com
    Has a:
    - small & cheap robot with lots of sensors
    - a Blockly-style IDE
    - small and understandable instruction set

    Coding a physical thing is better than coding a 'puter.
    It can move, turn, rotate, accelerate and deceleate, detect obstacles, light, sounds, communicate with others of its kind.
    It can power Lego Technics creations. Eg, you can create a robot (or Technics car) that will be afraid of light. Or which will try to solve a maze. Etc.

    I have a 7y old and this and it has worked out great.

  36. Raspberry Pi with Scratch by Irate+Engineer · · Score: 1

    I'd suggest just getting a Raspberry Pi with Scratch. The bonus is there is some minor assembly required (the case) and all the wizbangery hardware is visible. And if the little tyke smashes it against the wall in a fit of rage against your efforts to force him to be a programmer, you're only out $50 (not counting the cost of the therapy sessions).

    --

    Left MS Windows for Linux Mint and never looked back!

    Vote for Bernie in 2016!

  37. Scratch by Cramit · · Score: 1

    Scratch.mit.edu is a great visual programming environment for building games. It runs on all platforms and the raspberry pi. If you want to move into electronics and robotics there is even scratch for arduino!

  38. Scratch by Batzerto · · Score: 1

    My son is using Scratch (https://scratch.mit.edu/) in an after school class. He is having fun and learning some great concepts (variables, conditional logic, control flow, etc.).

  39. Hopscotch looks cool by EzraM · · Score: 1

    "Learn to program by making awesome things." "No typing. No syntax errors. Just drag and drop blocks. Hopscotch is an intuitive, friendly programming interface designed for everyone." https://www.gethopscotch.com/ Nope, I have no connection to them. Just saw them demo it once and thought it would be great for kids.

  40. Bad idea by Jiro · · Score: 3, Informative

    Children aren't clones of their parents. (And even when we discover a way to make clones, they still won't be this kind of clones.)

    "I would have benefitted from learning programming early" or even "I did benefit from learning programming early" are terrible reasons to teach your kid programming early unless the benefits apply to most people, not just to you. And they don't.

    This is just a variation of the "how do I get my kid interested in sci-fi" or "how do I get my daughter interested in programming" questions we've had before, and the answer is the same.

    1. Re:Bad idea by THE_WELL_HUNG_OYSTER · · Score: 1

      That's a good point, but no reason to see if the boy's uninterested. In fact, I got my love of programming from my own father. The key is to know when to recognize there's no interest and to back off.

    2. Re:Bad idea by Anonymous Coward · · Score: 0

      "unless the benefits apply to most people" is actually why I did it with my son. The benefits are numerous, including an appreciation for acquiring a useful skill, the ability to make a comfortable living today, and the ability to hold down a job tomorrow (computer programming will be an implied skill in almost any field in another 10 years), it's already happening and software engineers like this guy recognize this.

  41. Scratch by Anonymous Coward · · Score: 0

    Scratch : https://scratch.mit.edu/

    My son started with it when he was 6 years old and mostly taught himself how to use it.
    It has a large base of users, is aimed at kids, and makes it easy to collaborate with others. My son is now 10 and is taking a class in Java (because he wants to be able to do Minecraft mods).

    I haven't

  42. Program a robot like Sphero by FizzyP · · Score: 1

    Buy your kid a cheap robot like a Sphero or Ollie. These are adorable rolling robots. You can program simple macros with a drag and drop interface. If you want to go a little farther you can write BASIC programs as well. Both of these languages have access to all the good sensor information and motor/light controls. Something about actual physical feedback makes programming seem a lot more real to kids.

  43. chess by johnrpenner · · Score: 1

    play chess with them — it strips away all the semantic crap that will change from language to language, and gets it right down to developing the sort of critical thinking that is required to think logically and consistently in programming.

    just chess.
    that's all.

    2cents
    john p

  44. Two words - LEGO Midstorms by kosmosik · · Score: 1

    Two words - LEGO Midstorms - it would be so awesome if they were around when I was seven... but I am thirty four. Anyway - LEGO Mindstorms - I can't think about better way to show how seemingly simple drag and drop programing can influence real world objects (robots man!).

    1. Re:Two words - LEGO Midstorms by Anonymous Coward · · Score: 0

      34? You are a fucking faggot cock smoking shit for brains that acts 17 at best. You fucking nigger ass felching faggot puke.

  45. Download the Lightbox Jr app for iphone by Anonymous Coward · · Score: 0

    Download the Lightbox Jr app for iphone

  46. HEY YOU KIDS, KEEP OFF MY COMPILER! AND LAWN! by TiggertheMad · · Score: 4, Insightful

    The perfect tool is whatever the kid is interested in. If you try to teach them how to write a game with Minecraft, and they want to write spread sheets, they are going to hate coding. Now, as parent post notes, Minecraft will probably hold most kids attention.

    Figure out some fashion that code interacts with their favorite thing, and there is your in. Building basic web pages might be a start, or perhaps set up a command line application where they can play with string manipulation. There are many ways you can simplify complex tasks and projects with 'training wheels', ex: APIs and such to hide away complex stuff that isn't important to a beginner. Get them a really simple sandbox where they can change things and see the effects of their changes, and then get the hell out of the way. They will be better than you are in two weeks.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:HEY YOU KIDS, KEEP OFF MY COMPILER! AND LAWN! by khellendros1984 · · Score: 4, Interesting

      Ah, a "No True Scotsman" argument. From personal experience, I always skipped past the "program an elevator" section of the book and went straight to the chapters on graphics and sound. When I ran into something I didn't understand, I'd read the relevant section earlier in the book, but the "behind the scenes" stuff isn't what drew me in at first.

      I'll agree that eventually, someone who actually enjoys coding will take joy in writing whatever they can. An algorithm with a slightly better runtime complexity will be fascinating...but that's not necessarily what sparks the initial interest.

      --
      It is pitch black. You are likely to be eaten by a grue.
    2. Re:HEY YOU KIDS, KEEP OFF MY COMPILER! AND LAWN! by Anonymous Coward · · Score: 0

      Same; I'm 13

    3. Re:HEY YOU KIDS, KEEP OFF MY COMPILER! AND LAWN! by Marxist+Hacker+42 · · Score: 1

      I am informed by the people I interview with that algorithms are called patterns now, just like the Common Gateway Interface became REpresentful State Transfer. The only way to stay employed past 40 is to keep up on the jargon.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  47. Computercraft by circletimessquare · · Score: 2

    It's a mod where you get little consoles, you craft them

    then you can program them with the simple scripting language Lua to automate actions in Minecraft: mine, fight, farm, etc

    it's good because they are programming *in* the Minecraft world: you're piggybacking on their love of the Minecraft universe to get them into programming

    http://www.computercraft.info/...

    https://www.youtube.com/watch?...

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  48. Kodu Gamelab by Anonymous Coward · · Score: 0

    Introduces if...then... style logic and game mechanics without being so complicated that a 7 year old gets frustrated. Move on to Project Spark from there.

  49. step one: wait til he's 8 or 9 by eyenot · · Score: 1

    I think 7 is too early. The kid should be outside playing and using his imagination with real world objects at that time.

    I also recommend using C. It's simple and C-derived compilers typically support some version of it.

    I learned to program in BASIC for the Atari and the Sinclair ZX-80 when I was 8 and a half. I don't recommend using numbered line BASIC or any BASIC, at all. If I could go back and somehow influence how I was taught, I would tell my parents to find something that supports parameterized function calls instead of GOSUBS. C would be best. But if you're really intent on using BASIC for some reason, if you're on the PC I recommend Microsoft's QuickBasic as it allowed you to get away from the rather intimidating edifice of Visual Studio. You'll also have to sandbox it inside of something like DOSBox to get it to run on a Windows environment so there's a plus.

    If you opt to just get an old clunker instead of emulating DOS, I recommend a 486 dx4/100. The architecture is simple enough for a kid to learn into adolescence but powerful enough to show how impressively computers can complete some tasks very quickly. I also recommend an ATI "all-in-wonder" graphics card, because it features CGA, EGA and VGA so your kid can learn about legacy graphics as well as switching modes. You shouldn't use a CRT if you can help it, if the kid wants to get into the inner workings of the screen you'll have an armful of stuff to teach him about electricity safety first. So get a modern flatscreen and get a VGA/EGA plug adapter if you have to, to keep on the side for EGA projects. As long as the flat screen is unplugged he shouldn't die of electric shock touching anything inside of it.

    The great thing about older machines is that a lot of the components are visible on a macro-scale. It's a lot easier to differentiate between the resistors, capacitors, and inductors in older machinery. Now a days they'll all tiny little squares with little print designating what they are. It's also easier to work on older boards in terms of soldering and other "circuit bending".

    All that being said, I recall some hobbyists telling me back in the day that the Apple computers made the best projects. One guy said he had obtained a dozen Apple IIe's on the cheap and because apple computers are made to network easily, he was able to use a later Apple model to organize all the IIe's into parallel computing. An exercise like that could be fun, albeit space-consuming.

    If you're going this sort of computer-engineering route involving getting to know the hardware, I recommend also teaching the kid assembly. On older machines like the ones I mentioned, and using older operating systems, this is less of a headache. By comparison, I was looking into "high level assembly" for windows systems and the skeleton just to have a window open with a button to close it again was large enough to dissuade me from going much further. ASM in DOS was far more elegant, which is why these days if you mention writing something in assembly most people think you're crazy. Even though once again many popular compilers support inline ASM.

    When I was fiddling with old Sinclair or Atari machines the latest hardware was stuff like the 80286. And when I finally got an 80286 the latest hardware was the Pentium, and so on. Getting things done with older hardware gives you two special perspectives on everything: (1) getting to know how everything works because the machines and operating system aren't so enormous and bloated that it's overwhelming, and (2) having to make do with less memory and processing power forces you to learn things like optimization and paging. People use memory like it's crack today and talk all tough like their memory is infinite, but little do they know RAM is paging quite often in Windows because of programming practices like that. And those same people speak about memory management in their favorite object oriented languages like it's impossible to perform. Trust me, you would much prefer that your kid is one of those people who can do their own memory management. If you give them a shiny brand new computer to learn on, they'll have no incentive to do better than use it like crack like everybody else does.

    --
    "Stratigraphically the origin of agriculture and thermonuclear destruction will appear essentially simultaneous" -- Lee
  50. Turtle Logo by madseal42 · · Score: 1

    My first exposure to programmign back in the day was Turtle Logo in DOS, which I still think is great because as a kid I loved seeing a visual representation of my code. Another option which I'm biased towards (I co-wrote the code back in college with my advisor) is a package for MzScheme called plumming graphics for teaching programming conceps in a side effect free way while allowing easy visualizatioins (http://www.cs.unm.edu/~williams/cs257/plumbing.html) .

  51. How is his normal writing by Anonymous Coward · · Score: 0

    Personally I'm waiting until my son can easily write in a single human language before I'm going to try to teach him how to do it for a computer.

    But that is because I remember what it was like to be introduced to things I wasn't quite ready for.

    You know your son best, obviously, so whatever you want to do.

  52. Get a Kano by braindrainbahrain · · Score: 1

    Get a Kano. Yes, it's just a Raspberry Pi, but first off, your kid has to assemble it (hardware!), and it comes loaded with many of the products already mentioned here, such as Scratch, a Scratch-modifiable version of Minecraft, and a couple of others. I got it for my kid when he was 10, but it is really geared towards younger children. Age seven should be just perfect.

  53. Try MIT by Anonymous Coward · · Score: 0

    This http://newsoffice.mit.edu/2015/teaching-preschoolers-programming-0312 is very basic. But could give you ideas to develop your own way of introducing the kid.
    I like the ideas of tags and stickers.

  54. also: LOGO by eyenot · · Score: 1

    Also, I took a look at that list and: no.

    Don't teach him a useless joke / toy language like these ones on this list. It'll build a bad habit and the kid will be one of these losers saying "I don't know how to program but I got code::blocks and here's my console emulator, shouts out to the one guy who gave me that voo doo asm to build in line and make it work real fast, everybody please stop sending me e-mails about getting root kitted, this thing totally passes a virus scan."

    If you want something that has a strong visual appeal but teaches actual programming practices and has been actually used in industry, I suggest you teach LOGO. LOGO is super-super-super simple easy shit, and you can learn it yourself as you're going. Most LOGO primers and tutorials are practically on a child level any ways because the language is so simplistic. Of course, if you don't know a single thing about trigonometry or geometry you'll probably see it as a useless language.

    Over any single one of the weird "robots" and "kids oriented" languages on that list you linked to, I would recommend LOGO.

    I bet you can even find a "LOGO for kids" or some shit if you looked for it. For decades, LOGO has often been used as a first language for youngster so I'm kind of scratching my head how it passed you by.

    --
    "Stratigraphically the origin of agriculture and thermonuclear destruction will appear essentially simultaneous" -- Lee
  55. Don't. just, don't. by Anonymous Coward · · Score: 0

    "Professional programmer" here too that got into programming when I was a kid as well, difference being, when I got into it at 11 it was 1986. Nobody taught me, nobody pointed anything out for me, I didn't even know any programmers. I just wanted to do it. Got a CS degree and have programmed "professionally" for 15ish years.

    All these hipsters (and yes, hipsters, got into programming cause its trendy, I know a few personally) that want to teach their kids programming, just don't. Don't. If they don't like it, you will teach them to hate it. If they kinda like it, you will teach them to hate it. You will.

    I deleted a long tirade justifying the above because upon re-reading it I know that personal stories about anything "tech" will get the full well-your-wrong-because-autism.exe . So here's a different angle. Around the same time I also got into playing piano, was playing for hours a day, was teaching myself how to read sheet music and was getting pretty good at dumb, dumb easy songs. My parents shoehorned themselves into the middle and sent me to a piano teacher. After one miserable lesson I never ever played again. Totally ruined it for me.

  56. culture shock, anybody? by eyenot · · Score: 1

    the fact that LOGO is not on the list the author linked to kind of makes me feel a little perturbed. like, wtf is wrong with people? there's a mention of "brick logo" as a footnote in some other language's paragraph, and "c" is mentioned as "educational" (wtf?) but not one shout out to LOGO.

    did anybody else feel any sort of reaction to that? or did everybody just not even notice it?

    --
    "Stratigraphically the origin of agriculture and thermonuclear destruction will appear essentially simultaneous" -- Lee
    1. Re:culture shock, anybody? by eyenot · · Score: 1

      and i'm not suggesting that C wouldn't make a good first language, in fact I already suggested that in another comment. but it's not "an educational language". ...

      whereas logo actually was conceived of as an educational programming language

      --
      "Stratigraphically the origin of agriculture and thermonuclear destruction will appear essentially simultaneous" -- Lee
  57. People just love by Anonymous Coward · · Score: 0

    coming here to /. and playing all clueless, as if it's cute somehow, and throwing themselves in the readers' arms. Help me! If you as a programmer can't figure out how to introduce and teach programming to your kid, why would we?

  58. Honestly? Javascript. by Anonymous Coward · · Score: 1

    If you are as pro as you say you are, it should be easy enough for you yourself to create a simple learning JavaScript framework.

    Let it work with Canvas, DOM, SVG and CSS animations inside of an iframe so accidents don't break stuff. (iframe.open(), .write() are useful here)
    Create little tasks that he can work with and edit, live examples, simple stuff like moving a little smiley face from left to right, get him to jump (by hooking a premade gravity method to him), make another smiley, give him AI (you premake the AI of course! Things like "moveToPlayer", "attackPlayer" and others)
    Try to eliminate the confusing parts of JS initially, make it simpler, basic simple commands are key here.
    The syntax and features of the web world make it a very useful way to learn because it is so wide and varied.
    So over time, he can advance to more complex examples, and then eventually, full naked JavaScript, then more libraries..
    And the best part is JS is very similar to most common languages as well, so translating to those will be fairly easy as he is older.

    Or even Gamemaker. Gamemaker is pretty damn good from what I have seen these days. Not the extremely basic thing it was forever ago.

    As for the general naysayers, boooooo.
    Learning programming is an INCREDIBLY USEFUL thing. And it is not even for the sake of learning programming itself, oddly enough, it is for all the other skills you learn AS you advance in programming.
    Skills you tackle with programming are math, problem solving, planning, language skills, logical assignments, abstract concepts, algorithm design, animation, basic design, in addition to just learning the language itself.
    It is a very useful broad subject.

    Personally I started programming at the age of 9. I still do at 28. It is an absolute dick of a thing at times, I even get annoyed, but I still program to this very hour. (only stopped programming to check up on random stuff and take a break for 30 minutes before I get back to it. At 11pm. For no reason other than fun)
    If I never got in to programming, I'd probably have been a far shittier person. Or worse, probably ended up in art. The horror.

  59. CoderDojo and Scratch by Onetus · · Score: 1

    Firstly, I would look to see if there is a CoderDojo - http://coderdojo.com/ - in your area.
    CoderDojo is a global volunteer-led community of free programming clubs for young people. These young people, between 7 and 17, learn how to code, develop websites, apps, programs, games and explore technology. In addition to learning to code attendees meet like minded people and get to show off what they’ve been working on.

    Secondly, I would look at introductory language we use - Scratch - http://scratch.mit.edu/
    Scratch has lots of tutorials aimed directly at kids, and are far better than any of the "type this line and then this one" from various books.

  60. Board Games! by wikthemighty · · Score: 1

    Robo Rally is like a multiplayer boardgame version of LOGO...

    Robot Turtles is even better for younger players

    Micro Adventures were some of the books that I started with as a kid

    --
    "There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
    1. Re:Board Games! by Kinthelt · · Score: 1

      Mod parent up.

      --

      "Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)

  61. too bad.... by Anonymous Coward · · Score: 0

    your well hung oysters spit out the y instead of an x... with a daughter all you need to do is sit back and let disney princesses teach them how to code.org

  62. How to introduce a 7 year old into manual labor? by Anonymous Coward · · Score: 0

    Hi /b/ I work in construction and I want to introduce my son to the business so he can get a head start to everyone else...

  63. Eastman, is that you? by TiggertheMad · · Score: 1

    ...when I was a kid and we wanted to play with turtles in a maze, we went down to the fetid, stinking, polluted sewers and caught them ourselves! And built our own mazes out of barrels of toxic waste!

    ....and this how we end up with Teenage Mutant Ninja Turtles. Stop it.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:Eastman, is that you? by sconeu · · Score: 2

      You had sewers and barrels of toxic waste? You lucky, jammy bastard!!!!

      WE had to dig our own sewers, and then build the chemical plants to GENERATE the toxic waste!!! I'd have killed for barrels of premade waste!

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  64. Don't... by MetricT · · Score: 2

    I'm as geeky as they come. Most of a Ph.D. in theoretical physics, and have spent over a decade working in high-performance computing.

    When I was 7 years old, I was wandering through the woods, looking under rocks for creepy crawlies, playing hide-and-seek, and playing baseball with my brother and cousins. Not only did it *not* set me back in anyway, but it is some of my fondest memories of being a child.

    Let kids be kids for goodness sake. Take him to a science museum, and let *him* tell *you* what interests you. When I was a kid and hyped about computers, my dad thought computers were a fad only used to play Pac-Man. Not only do I have a good-paying career, but any time dad can't connect to the internet, I get an emergency telephone call.

    Let your child steer his future. He's the one who has to live it.

    1. Re:Don't... by havana9 · · Score: 1

      When I was 7 years old, I was wandering through the woods, looking under rocks for creepy crawlies, playing hide-and-seek, and playing baseball with my brother and cousins. Not only did it *not* set me back in anyway, but it is some of my fondest memories of being a child.

      Let kids be kids for goodness sake.

      When I was 7 years oold the only computer I've seen were the ones on books or on sci-fi tv serials, that I watched on a black-and-white televison, with only two programmes that started at 5 pm. I wandered in the woods or went to the library to read. I remember that when I was a niner I visited a fair, there was a Commodore dealer. I stayed all the afternoon watching these machines and typing on the keyboards. Not that changed by child attitude. By the way I think that a Raspberry PI with mouse and keyboard could be a nice test to see if a kid is interested on programming.

    2. Re:Don't... by Jesrad · · Score: 1

      When I was 7 years old I learnt Basic on a Ti99/4A, and that didn't stop me from running through the woods, climbing trees, riding bicycles, etc.

      --
      Maybe we deserve this world ?
  65. Same question with a plus by Anonymous Coward · · Score: 0

    How to introduce to programing an 8 y/o child who doesn't speak english.

  66. RoboRally first by dltaylor · · Score: 1

    It's a program AND it teaches how to deal with Murphy (nothing worse than getting bumped and watching the rest of your program walk you into a pit or heavy laser fire).

    After that, it depends on the child's interests. Robots? Mindstorms.

    "Real" computers? Pick up an old Apple II or Amiga and use the Basic to access the display.

  67. Scratch. by RealGene · · Score: 1
    --
    Mission: To provide products that consume time and energy as entertainingly as permitted by the laws of thermodynamics.
  68. The 7 yo will introduce us. They grow up with code by Anonymous Coward · · Score: 0

    See subject.

  69. Question Frequency by flopsquad · · Score: 1

    I think it's an admirable goal to get your kid interested in computers and coding. But it seems like /. gets this question every week, sometimes multiple times a week. You can't swing a dead cat around here without hitting some variant of "How can I teach my [son/daughter/nephew/[2-/3-/4-/5-/6-/7-/10-]year-old/3rd grade class/nation's kindergarteners] how to code?" Can we just sticky this to the sidebar somewhere?

    --
    Nothing posted to /. has ever been legal advice, including this.
  70. Re:How to introduce a 7 year old into manual labor by cowdung · · Score: 1

    Try a human trafficking shop.. they seem to specialize in this field.. (he might miss school though)

  71. Start of a FAQ for /. by UnknownSoldier · · Score: 1
    1. Re:Start of a FAQ for /. by gmack · · Score: 1

      Add http://codecombat.com/ to that list.

    2. Re:Start of a FAQ for /. by UnknownSoldier · · Score: 1

      Already got it. :-) It's the 7th entry, right below pragprog ...

      * https://pragprog.com/book/ahmi... [pragprog.com]
      * http://codecombat.com/ [codecombat.com]

      Thanks for the suggestion though!

  72. Interesting subject - image manipulation by stdarg · · Score: 1

    This may be what you want. http://web.stanford.edu/class/...

    To give you an overview, it's an intro to programming using Javascript and a little image manipulation library. Each page has a series of problems with boilerplate code that you edit and click a button to run.

    Head straight to Week 2's lessons (http://web.stanford.edu/class/cs101/image-3-loops.html) and go through it with him.

    Kids find it pretty cool that they can change some numbers and that will have an effect on the picture. I did this with my nieces (8 and 10) just a few weeks ago and they both LOVED it. I was showing it to them to gauge their interest for a totally unrelated reason, and we ended up going over it for about 3 hours in one sitting.

    Give your kid little challenges and provide most of the code. They just edit the code. It'll be a while before they add their own lines of code (about 2 hours for my nieces). One of the big points of interest was one of the problems that introduced an "If" statement based on the pixel's X coordinate. We made many changes to that block of code and ended up making stripes of different colors across the image, first vertical, then horizontal, then mixed. They thought it was just the coolest thing.

    Then there's code that changes pixel values based on the average color of the pixel. So it's doing stuff like taking a picture with a red stop sign in it, and making the stop sign blue without altering the rest of the image. It's really neat, and it's the kind of stuff they've seen in movie special effects (they'd heard of green screens and I related how similar this is), and it's just a few lines of code.

  73. I've had some success with these and my son by Anonymous Coward · · Score: 0

    Starting out:
    - MIT Scratch (https://scratch.mit.edu/) - great for understanding high level abstractions we need in development without too much details.
    - Lightbot (http://lightbot.com/) - Kind of a cool app that teaches high level basics, my son picked up recursion in like 10 minutes and was just using it. Getting the high level concepts are simple with tools like this.
    - Code Combat (http://codecombat.com/) - fun gaming way to learn especially if they tend to lose patience easily, this might get them engaged or might get them expecting entertainment as part of it... don't know yet ... could be double edged.

    As they get older:
    Choose an area they are interested in, but first give them a tour... show some mobile stuff, some web stuff, some Minecraft modding, etc.
    I would send them down more traditional and less gaming paths but find ways to make actual programming more like a game. This can be done in many ways. I would recommend coming up with a system that rewards them for completed tasks and rewards more for harder achievements (Think MMO style questing system). I actually plan to start a business doing this soon in the Austin area.

    And then from there if they've got the bug they will pretty much want to sponge it all up... hello google search for tutorials of their interest.

  74. Program: "Teaching Kids Programming" by Anonymous Coward · · Score: 0

    Early exposure to programming concepts, easy experimentation, and in a integrated development environment!

    http://teachingkidsprogramming.org
    (The language used is Java.)

  75. Easy.,.. by Anonymous Coward · · Score: 0

    Give them a buglist and a deadline and just start screaming about him messing up the SKU plan with late check-ins. That'll cover it.

  76. Python by codetricity · · Score: 5, Interesting

    I have researched this subject extensively over the last several years. Most importantly, I have exposure to children between ages 6 and 14 that can program successfully with a text editor or IDE. The short answer is go straight to Python. You can read about my personal experience with my own children here: http://pychildren.blogspot.com... The main child is now 10 and using Python with IDLE and PyCharm. Also suggest you research this site: http://www.learningtech.org/wo... which I also have experience with by sending my own kid to the class. Note the Minecraft plugins from grade 4. Definitely wish I had started my eldest kid earlier as I think that age 8 would have been fine. There's a kid in my daughter's class that is 6 years old and completely killing it with PyGame. I think that I'm going to drop down from PyGame to Python Turtle (logo) with my daughter for a while. Good luck. Feel free to send me a note with your progress. I love hearing from parents with children under age 14 that are using text editors or IDEs.

    1. Re:Python by dotancohen · · Score: 1

      I wish I saw this post, I just posted above about my eight year old daughter's experience with Python. It is a great language for children, very easy to use and none of the confusing (for kids) brackets to explain. We're writing console applications such as hangman and having tons of fun. Kids don't need all the attention-grabbing flashy graphics that markets lure them with like candy. They do need something intellectually stimulating, and seeing for the first time that you can call your sister cute with this is just too much fun:

      >>> def is_cute(name):
      ...   print(name + " is cute!")
      ...
      >>> is_cute("Maayan")
      Maayan is cute!

      Sorry for the font, changing my posting settings was the only way to get the code to display properly.

      --
      It is dangerous to be right when the government is wrong.
  77. Software developer/Software engineer by Anonymous Coward · · Score: 0

    Programming is a form of engineering, get your kid to play with their toys - include stuff they can build things out of lego, mechano etc. When they get a bit older introduce them to software. The Bottom line is they're a kid let them play.

  78. LOGO by Anonymous Coward · · Score: 0

    There are lots of free LOGO implementations out there, with a handful of feature-rich UIs. That's where I'm going to start with my kid, probably followed by minecraft.

  79. More Minecraft by Anonymous Coward · · Score: 0

    My six-year-old is pretty obsessed with Minecraft. Modding was the obvious on-ramp. For a six-year-old, I anticipated needing a programming experience with a very gradual learning curve and a fast feedback loop. That isn't full-on modding in Java: there's the abstract syntax, the agony of typing a lot with little hands, and the slow compile-deploy-debug cycle. There are programming languages for kids, like Scratch. So I went looking for a way to apply that kind of graphical programming in a dynamic way (no compilation, no server restarts). I was ready to jury-rig something, but found that LearnToMod dot com was way ahead of me. They are using Blocky as the programming language which seems like a Scratch variant. Mods are written in a web browser and with a button press your mod is dynamically bound to a spell book -- a good metaphor in the minecraft world. This is running on a server instance hosted on their servers but private for us. This is a service, not software that you download. The code-deploy-debug cycle is fast enough that my kid's gnat-scale attention span isn't over-taxed. Oh yeah, and the site has what looks like a pretty extensive curriculum of micro-lessons in programming (hundreds). My kid has been doing one or two per day and I think the self-paced, gamified format is very effective. So far so good ... I had low expectations, so the fact that it is still being used a month later is a pleasant surprise. Cost is $30 per year.

    As others have said, I don't recommend forcing your kid. One technique I'm using is an allowance of time on the computer ... but then I don't count time spent programming against that allotment. You catch more flies with honey.

  80. code.org by csumpi · · Score: 1

    My 7 year old daughter really enjoys code.org. The puzzles are fun and the site works great on her HP Stream that she got for xmas. Having her very own computer also helped and that laptop was well worth the $200.

  81. Spot on. Spot-Spot Spotty-Spot on! by Peter+(Professor)+Fo · · Score: 2
    Tech is an ANSWER not a QUESTION.

    Tech is for older kids. Challenge and experiment at this age. Lego to make a bridge that the cat can cross . Draw a picture that Auntie thinks actually looks like a Badger not a [insert vague animal here] Create a birthday invitation card that has fizz. Ask 1,000,000,000 questions you don't know the answers to.

    1. Re:Spot on. Spot-Spot Spotty-Spot on! by Anonymous Coward · · Score: 0

      Tech isn't for an age. My son is a tinkerer, he enjoys modifying things and seeing how it plays out. He does this socially as well as physically. If programming could be a fun 'game' type of entertainment that he could do instead of playing lego batman or minecraft, then I think that would be better for him. I'm not saying that's all he does, but he does have his game time, and if that game time gave him better analytical ability through something he may actually use one day, then he's better off. No matter his age.

  82. Sketch by Citizen+of+Earth · · Score: 1

    Sketch is a very visual system for learning to program.

  83. Scratch by Anonymous Coward · · Score: 0

    I just looked through the scratch gallery and found something he would be interested in. It was pokemon angry birds or something. I started playing it and got him interested. We moved on from there. Scratch is simple for young ones to grasp.

  84. Show him... by Anonymous Coward · · Score: 0

    ... open sourced games like Doom and all the cool things other programmers have done. He can play the games and look at the possibilities then if he wants he can go from there.

    Freespace 2 SCP (where modders/coders/community updated the entire game and graphics over 10 years)

    Video

    https://www.youtube.com/watch?v=xhAR8rWPluQ

    Site

    http://scp.indiegames.us/

    Brutal Doom

    http://www.moddb.com/mods/brutal-doom

    http://doom.wikia.com/wiki/Brutal_Doom

  85. Why would you do that? by hyperar · · Score: 1

    If you're not on a first world country, don't you dare on ruin the poor kid's life. Signed: A third world country developer.

  86. Think of the children for Gods sake by Anonymous Coward · · Score: 0

    Simple answer: DON'T DO IT!! Unless you want your child to become a future H1-B casualty. Teach him how to think instead. Ideas and creativity rule not execution. Just like we can get monkeys to write Shakespeare you can always find a code monkey.

  87. Hack 'n' Slash by Anonymous Coward · · Score: 0

    There's this game called "Hack 'n' Slash" on steam, where hacking the game is an implemented game mechanic.

  88. Khan Academy by mbuimbui · · Score: 1

    Not to toot the horn of my employer too much. But Khan Academy's CS platform is a great way for kids to learn and create stuff.
    https://www.khanacademy.org/co...

  89. Simple as playing with blocks by eyepeepackets · · Score: 1

    Make learning programming fundamentals a blocks toy. Kid can stack program blocks a certain way, the physical block pattern gets scanned into the computer, turned into code. Point is to make it an interesting hands-on toy which makes the obvious connection between what the kid does with the toy and what happens on the computer. Once the kid makes the connection to building with pieces, they'll want to go directly to building on the computer, by-passing the simple to use but less powerful blocks.

    --
    Everything in the Universe sucks: It's the law!
  90. Khan Academy by Khomar · · Score: 1

    My son is just about to turn nine, and he is really enjoying the programming section on Khan Academy. The site was originally designed as a math curriculum but is rapidly expanding into other fields. It is free, and it uses JavaScript with immediate visual feedback while teaching them the basic concepts of programming. There are step by step instructions and helpful hints to help guide them through the concepts, but having some occasional parental help is sometimes required. Overall, though, I have been pretty impressed with it.

    One thing though: I would make sure they learn how to type first as that will greatly help their ability to program.

    --

    I believe in de-evolution. God made the world perfect, man fell, and its been going downhill ever since!

  91. Scratch from MIT by Fnord666 · · Score: 1

    Point them at the Scratch website and then tell them to never look at it again because it's naughty. Just kidding about the second part, but Scratch is a good way to get them started.

    --
    'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
  92. basic by Anonymous Coward · · Score: 0

    Give them an atari 400

  93. Basic by mlheur · · Score: 1

    Give him one of these books and tell him if he wants to play a game he has to transcribe the code first:
    http://www.atariarchives.org/b...
    http://www.atariarchives.org/m...

    That's how I got started, and around the age of 7 too.

    Oh, and wait a year or two before you teach him how to save the code onto audio cassette... Ya know, cause you don't trust him yet not to overwrite a previous save.

  94. The turtle moves! by dbIII · · Score: 1

    LOGO is still around. I didn't get to see it until my early teens but if I'd had access to a computer before then I'd say LOGO would have been a much easier way to start than Applesoft BASIC.

  95. I taught children to program for 4 years by Anonymous Coward · · Score: 0

    My program used GameMaker. It's got a Lego-like building blocks method for making games, it's easy to learn and I've used it successfully with children as young as 6.

  96. Check out my book by jgordon510 · · Score: 1

    Might I suggest you check out my CC-Licensed book of 4th grade mathematical programming lessons in Scratch:
    http://goo.gl/pHF6Hd [goo.gl]
    I teach 4th grade, and the book follows the math curriculum as it progresses during the school year. In my experience, a mathematically precocious 8-year-old will be able to grasp much of it.

  97. CS unplugged by Anonymous Coward · · Score: 0

    CS unplugged (http://csunplugged.org/) or something similar first, and then code.org or codecombat.

  98. Tell them to run far far away... by Anonymous Coward · · Score: 0

    We already have far too many retards in this profession already. We don't need more.

  99. be sure to follow the correct order of things. by clovis · · Score: 1

    I didn't read beyond the article's title , but I'm sure that tells me everything that is needed.

    How to Introduce a 7 Year Old to Programming.
    Using "Kevin" as a sample name, you do an introduction like this:

    Hello, Programming, may I present my son, Kevin?
    (assuming yes)
    Programming, I would like you to meet my son, Kevin
    Kevin, this is Programming.

    The rule is the senior one receives the first introduction.
    Remember to make eye contact with each person as you speak to them.

    You should have prepared your son to make eye contact with whomever he is being introduced to, and he should be prepared to handshake if one is offered.
    Your son should not offer his hand first; the higher status person does that.
    Also, I recommend that you check and remove any boogers from his hands and face before initiating the introduction.

  100. You don't by Anonymous Coward · · Score: 0

    Programming is a bad career choice, it's like grooming your kid to be an accountant. As a hobby it sucks and it turns you antisocial. And what horrible parents force their own pet hobby on their kids? Let them play. Let them interact with other kids. They will learn valuable social skills that will serve them for life. Good physical activity will help their looks. Why do you want your kid to be an outcast, shunned nerd? Aren't you ashamed of yourself? You should be.

  101. Kids love graphics by solid_liq · · Score: 1

    I was 7 when I learned to program. I was taught how to draw graphics in BASIC on an Apple ][. Not having to draw every point manually was a great motivation to learn loops. The rest is history. Kids love graphics and quick results. These days, I would teach a kid programming in Swift, if you have a Mac, because the instantaneous results in the other pane and the graphics and animation capabilities will make it fun. If it, I'd use Python, because I've been calling it the new Basic for years. All the beginner programmers immediately get defensive when I say that, while the more experienced ones chuckle. Proof enough that it's the new Basic? Remember, it doesn't need to be writing a game to make it fun. That's a little too tough at age 7; not because the programming for a simple game is tough, but because kids that age usually can't yet wrap their heads around what makes games fun. Because of this, they have a really hard time coming up with something fun, and they can end up disillusioned from the experience of doing a lot of hard work just to make something boring. Also, remember that what makes programming fun is the reward from figuring out how to make something work, so at this age, resist teaching data structures and algorithms. Instead, just give some trivial examples and let them play.

  102. Just don't chase him away by rastos1 · · Score: 1

    As others said, don't force your hobby on him. But a child always mimics its parents. If you are coding at home and your son sees you and sits next to you and watches you, just don't tell him to leave you alone because he disrupts your focus. Answer his questions, try to explain what you are doing, ask what would he like to make, do a first few projects for him and with him. It may take time until he shows the initiative but it should be up to him how fast and how far he wants to go. Your role is to support him.

  103. Minecraft mods by Anonymous Coward · · Score: 0

    Get him interested in minecraft mods, there is a lot of educational stuff there. Java is a fairly horrible language, but you can make a small mod fairly easily and the ability to quickly see the fruits of your effort in game and get gratification from playing with the results is incredibly helpful to the learning process. Or you could go the whole crazy redstone computers route, where you can teach stuff like binary addition and low level concepts.

  104. Challenges by kubajz · · Score: 1
    Apart from deciding on a coding environment, does anyone have suggestions on a simple set of challenges to address in the programs we create? My kids are a bit older and love Scratch but I have not seen a nice progression of problems to solve that would gradually address major programming concepts.

    Other than that, to those saying kids should not program at this age - nobody says they will do it more than say 2 hours a week with Dad, where is the loss of social skills in that? And second - if you do not get kids inspired and excited about a bunch of things, something will. Opening up options for your kid is one of your tasks as a parent.

  105. Lightbot by gshegosh · · Score: 1

    Take a look at Lightbot. It's an educational game where you program a robot to turn on lights on the board. It's very nice. My 4 year old daughter loves it and is able to solve simpler levels by herself. I introduce more complex ideas (procedures, loops) when we have some time to play together. It reminds me a bit of LOGO and turtle graphics - that's how I got started and I thinkg turtle graphics in one of modern editions is also one of good first steps.

  106. Constantly adjust to keep her interest, use Logo by jdc_slashdot · · Score: 1

    This has to depend a lot upon the kid. My 6 yo really wanted to learn to program, so we did it over spring break one year.

    I sat with her for a 1-3 hours a day for a couple of days, individually teaching core concepts. During this time I let her operate the computer exclusively. I watched, gave advice, drew pictures on paper, and didn't use my phone. I think being hands-off but present and engaged is critical. When I was a teenager I used to tutor grownups on PCs and found that having them drive the computer was the most effective way to ensure I wasn't losing them. After the first few days I found I could teach her something, make sure she was doing OK with it, and then go away for a few minutes to do something else and return to answer questions.

    I had drawn up a list of concepts I hoped to teach, and shared that plan with her and used that as a general direction. Nonetheless, what we actually did was directly guided by her interest level and enthusiasm each day. I aimed to keep her engaged and focussed and adjusted speed and content to do so.

    I opted to use a fairly old language environment, Logo. Drawing pictures is directly appealing to kids, and using a text-based programming environment exposed her to syntax and learning to edit actual code right from the get-go. I don't think drag-and-drop learning such as one gets with Scratch or Blockly translates very cleanly to other programming environments because you're only learning procedural concepts, not that commas and quotes and other kids of precision matter. For instance, because she needed to know syntax I showed her how to access and read the docs. That led her to discover that the specific Logo we used, ACS Logo (Mac), has speech synth support. Then she started using the speech synth to narrate her drawings. That was pretty cool and a big success she could claim for herself.

    We did not make it through my whole list of concepts, but she did attain independent fluency with a subset of Logo and programming in general. A bit over a year later she periodically updates/extends her programs. And I recently watched her independently learn 2 other programming languages, one via watching videos, and another via an online course. So it's clear she is able to apply what she learned to new contexts.

    In a telling comment that seemed to me to confirm my choice of Logo, she learned quite a bit of Python and then complained the language couldn't do anything she cared about. Of course that's naive, but it illustrates that you need to pick an environment with features that will appeal to your child early on, not in some far-off land after one has learned the basics. In this vein, you might also consider introducing a kid-oriented robotics microcontroller like the Hummingbird Duo. These have the appeal of making physical things light up, move, and sense. This will likely rate much higher on a kid's priority scale than building a website or crunching numbers. My daughter is now learning to build simple robots with a Hummingbird Duo and a bunch of sensors and servos and likes it. And even though this too is programming, it's a very different set of complexities than what she did before.

    Good luck!

  107. OpenSCAD by ErroneousBee · · Score: 1
    I think OpenSCAD might be a pretty useful jump off from MineCraft. Its still building things, but with the possibility of 3D printing them.

    It has variables, loops, functions, etc.

    --
    **TODO** Steal someone elses sig.
  108. What about Cubiverse? by Anonymous Coward · · Score: 0

    It seems like a fairly new crafting "game" but it offers a web (WebGL) based MineCraft style world but uses JavaScript to control the world?

    The guy building it has created a zombie escape world and old "snake" style game in it.. www.cubiverse.net

  109. Scratch is best by Anonymous Coward · · Score: 1

    From my experience absolutely best is Scratch: https://scratch.mit.edu/
    Start with scratch (IMHO for any age ;-)
    When the child is hooked and wants to "type" on keyboard try python.

    This is from my experience with my son (BTW: he likes minecraft too).

  110. I made Cubiverse for such a thing.. by TheRealKillerJim · · Score: 1

    Hey, I wrote the Web based game crafting system Cubiverse for bridging the gap between voxel style games (Minecraft, etc.) and "real programming". Basically Cubiverse gives you the ability to create cube worlds, but add Javascript to control them - you can make lift, teleport players, control the time of day, spawn items, etc.. Having said that it's still very much in BETA but I'm keen on hearing opinions on what to do :) Check it out at http://www.cubiverse.net/ James

  111. Instant Gratification is the Key by misterduffy · · Score: 1

    Does anyone program for programming's sake? Can you lead a horse to water AND make it drink?

    Show a kid what the possibilities are first, which means learn what you want to teach them. Also, instant gratification is key - no kid wants to be there writing what seems like arbitrary lines of code so that they can see the Fibonacci sequence rendered up to n terms. My top 3 suggestions as a computer science teacher:

    1. Scratch: free, online, massive community, tweak stuff before you make your own, instant gratification. There's some complex stuff out there so try to restrict examples to simple ones, stuff that they can try to emulate themselves. Kids will typically have very high expectations of what they can achieve without appreciating the complexities involved. Code is built using drag and drop. It's not immediately intuitive but you can get results very quickly once you pick it up.

    2. Minecraft Pi: get a Raspberry Pi. The Raspbian distribution comes with a special version of Minecraft that has a Python API attached to it, and there are some very simple examples on the RPi website that can get you rendering all sorts of cool stuff in the Minecraft environment within minutes. Pixel art made from blocks, a digital clock floating in the sky, hunt the diamond, Midas touch, the list goes on. You can tweak the existing code after copying it out (like we used to do from coding magazines) before trying out your own programs. Also exposes him to an operating system other than Windows.

    3. Spirograph: technically I mean 'turtle'. It's a great way for kids to learn about randomness, iteration, geometry and efficient coding tecniques. Scratch, Small Basic and Python all have a turtle module built in so you can draw shapes on screen very quickly and easily.

  112. Minecraft? Redstone! by Anonymous Coward · · Score: 0

    Create basic things in redstone.

    Use that as a reference for something in another concept, be it visual programming, or written programming, block programming or whatever.

  113. Don't. by Qbertino · · Score: 1

    He is SEVEN! He want's to hear farytale stories, wander around, stop every 5 meters to look at something interesting.

    He'll sit at a desk long enough in his life. I'd say 9-12 is the earliest to start progging - and only if he wants it/shows serious interest. He'll be a prodigy fast enough if that's his cup of tea.

    --
    We suffer more in our imagination than in reality. - Seneca
  114. Roblox for the win by Kieveli · · Score: 1

    Roblox is your best bet! Play to your son's interests rather than starting from scratch. They have a scripting language which implements in Lua code into the games. He can start out by making his own items / weapons, and then move on to constructing a new game for Roblox. Get yourself an account and try it out! It's juvenile, but a little bit of fun at the same time.

    Minecraft mods are a little more complicated, and do not offer the same level of ability to start small, and gradually build skills.

    Show him your lack of Lua knowledge, and show him how you learn - he won't be very interested at 7, but seeing that you don't know is an important realization that will likely help him become a self-reliant tinkerer within a few years. If his interest is there, he will try to do things on his own eventually, but at first, copying what you help him with will be the majority of what he will do.

  115. Teach how to create by YoungManKlaus · · Score: 1

    Seriously, he will ask you if he is interested. Also programming is just a tool, so rather teach him how (and why) to create (in whatever way) than one specific way of creating things without a purpose.

  116. Python by Anonymous Coward · · Score: 0

    I told my son that when he got his first computer he would have to learn to code. I myself am a professional developer, so, no matter what he wants to do with his life, I think knowing something about codeing would be beneficial. He was given a laptop at 7, so I gave him "Python for Kids". There is a free version on the web if you search. We are going pretty slowly through it, but he is enjoying it very much. I would highly recommend it for any parent wishing to teach a child to write code. He also has a lego mindstorm, and we will soon be working with it with Python as well. Good Luck.

  117. Khan Academy by Anonymous Coward · · Score: 0

    Khan Academy works really well for my kids (8 and 11).
    https://www.khanacademy.org/computing/computer-programming

  118. School? by Big+Hairy+Ian · · Score: 1

    Over here in the UK children from the age of 7 are being taught coding in school. This will of course suck everrything that's cool about coding out of coding for ever.

    --

    Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

  119. Scratch again by lengel · · Score: 1

    Yes. Scratch is what I would recommend also. My children love it and have moved on to more advanced things after enjoying scratch. Turtle was another early "programming" language they were introduced to and enojoyed. LEGO Mindstorms is a good next step, but expensive to use. I would not start there because you have sunk money into something that may not ultimately be an interest.

  120. infiniquest.org by Anonymous Coward · · Score: 0

    The scripting engine at infiniquest.org uses point-and-click programming to create adventure games ... this may be less overwhelming for a 7-yr old than trying to learn a syntax.

  121. Basics first by paradox11 · · Score: 1

    Personally I learned programming fundamentals in Logo, and by the age of 8 was programming in basic. I picked up a Kano for my 5 year old, who is fanatical about Minecraft, and I'm hoping Kano Blocks gives my daughter the same passion for programming that I got from Logo. (Plus she is learning Linux & about computer components) http://www.theguardian.com/tec...

  122. Use google by houghi · · Score: 1

    Seriously, please use google to find the answer to this question as it is posted extremely often here on /.

    It happens so often that it starts looking as if it is some sort of homework question.

    If you can not even able to use google to find the answer, you will not be able to teach a kid anything.

    --
    Don't fight for your country, if your country does not fight for you.
  123. Board game by Anonymous Coward · · Score: 0

    Before latching on to one particular language or another it might be worth familiarizing him with programming concepts without even touching a computer. Robot Turtles is a brilliant board game that captures the concept if instructions and how to efficiently group then into functions. My 7 year old loves it and really enjoys the challenge of optimizing his code into as few instructions as possible.

  124. The Hollerith Method by tverbeek · · Score: 1

    Introduce him the same way I was: set him down in front of a keypunch machine with a big stack of blank cards.

    --
    http://alternatives.rzero.com/
  125. Scratch + Makeblock by Lordy2001 · · Score: 1

    So I have an almost 7yo at home. My brothers and I are all programmers to one degree or another. I have introduced him to programming in two steps:

    1. Robot Turtles
    Best board game for programing ever. Not only does it not require batteries, but it provides great quality time and encourages them to think logically and linearly.

    2. Scratch + Makeblock
    Once he learned to read he was able to pick up scratch incredibly easily and understand it. To make it more fun I picked up a Makeblock starter robot which had a bluetooth connection and allows him to program his robot to chase his little sister around the house.

    Honorable Mention:
    Lego Mindstorms EV3
    He also has a Lego EV3 mindstorms kit. The Lego / labview environment is still a bit overcomplicated for him to use I'm thinking he will be more ready for it in a year or two.

    Best of luck

  126. SpaceChem by Anonymous Coward · · Score: 0

    If you want to teach programming ideas and thought processes (as opposed to a specific language or syntax) I'd actually suggest taking a look at the game SpaceChem. It's about setting up a machine to move chemicals from a start point into specific configuration and then deliver them to an end point. It sounds unrelated, but there is a ton of "programming" there. Effectively the movement lines you make are programs and the chemicals are data objects you are manipulating to reach an objective.

    You need to resolve race conditions, figure out orders of operations to manipulate the data correctly, deal with an open-ended problem with no specific goal (do you want to optimize for speed of execution, program size, etc), forecast how data will interact, repeatedly "compile" and test your machine to find problems and refine the solution, and other features of programming. It's clearly a puzzle game, but I'm sure other people with software development background who play it can see the strong connection to "real" programming.

    It even has a free demo so you can get a taste of the game to see if it is something they like and which meets your desires.

  127. You know what they say... by Anonymous Coward · · Score: 0

    Spare the rod, spoil the child.

    This old adage tells us that to become good programmers, we must have proper indent style beaten into us. Corporal punishment is the only effective means to insure discipline in commit messages and proper identifier names.

  128. what about playing? by Anonymous Coward · · Score: 0

    How about introducing your kid to playing with other children instead?

  129. When I was 7 by Anonymous Coward · · Score: 0

    I had to introduce my parents and teachers to computing.

  130. Hour of Code by FatAlb3rt · · Score: 1

    My 9-yr old did the Hour of Code series. Good stuff and he got the concepts. It's drag and drop, so he never was at the keyboard doing it "by hand", but it's a great introduction.

    1. Re:Hour of Code by rhyous · · Score: 1

      My 7 year old just finished an Hour of Code on http://code.org/learn too.

      Hey loved it. It felt like a game to him. He wasn't overwhelmed. He was excited. He said, "I am going to be a computer worker like you daddy" afterwords.

  131. Invent With Python book by Anonymous Coward · · Score: 0

    I would suggest the Invent With Python books, from http://inventwithpython.com/

    They are available both as paper books and as free e-books

  132. Creepy by Anonymous Coward · · Score: 0

    Submitter dubbed THE_WELL_HUNG_OYSTER writing about his 7 year old son kind of creeps me out. I know that was not the intention. But still...

  133. Modify Existing Code by Anonymous Coward · · Score: 0

    I learned to program by making changes to existing game code and observing the results. Of course In my day it was line-numbered BASIC, but substitute
    java or something else modern. I'm sure source forge has lots of game code to play with. Not sure how much would be 7 year old friendly as I started as a teen
    modding spacewar/star trek. Also 101 BASIC computer games by Ahl. (really old school stuff...) But take tic-tac-toe, and mod it to be 3D or something like that.

  134. Logo for sure ! by guilherme · · Score: 1

    I started Logo when I was 6, and 30 years later I still have a IT job :-) So I can only recommend Logo language.

  135. Khan academy is great tool by Anonymous Coward · · Score: 0

    https://www.khanacademy.org/computing/computer-programming

  136. MicroAdventure books by Anonymous Coward · · Score: 0

    I learned in 1st grade by reading MicroAdventure books. It was the early eighties so it was all in BASIC. But the books all follow a kid with a computer on his wrist and at various points in the book you're given source code and generally you have to find/fix the bugs so you can continue.

    1. Re:MicroAdventure books by wikthemighty · · Score: 1

      I had some of these too.

      I also had some Marvel Superhero 'Computer Fun' books, but couldn't find a link to them anywhere.

      --
      "There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
  137. an oldie but a goodie by Anonymous Coward · · Score: 0

    I recommend the Big Trax rover. Thinkgeek had a "mini" version a couple years ago, I bring mine anywhere I expect bored young relatives at family gatherings.

  138. DragonSpeak in Furcadia! by Anonymous Coward · · Score: 0

    Try the DragonSpeak scripting language in the free game Furcadia. It's very kid friendly & easy.

  139. KTurtle by Anonymous Coward · · Score: 0

    KDE Kturtle is very fun, even on Windows....

  140. use AgentCubes to make 3D games by Anonymous Coward · · Score: 0

    supported by the National Science Foundation and Google. Comes with the Scalable Game Design curriculum used all over the US. This is a movie made by Google showing how it is used in schools:
    https://www.youtube.com/embed/wStwKAVqSbY?autohide=1&cc_load_policy=0&hl=en&cc_lang_pref=en&autoplay=1

  141. If all you have are an iPad and PlayStation by tepples · · Score: 1

    giving a kid a cheaper computer isn't going to be helpful unless they don't have access to another computer.

    It turns out that a lot of kids are in just that situation, with parents having only locked-down devices in the house. They have an iPod, iPhone, or iPad, and actually making apps for those requires an eighteenth birthday, a Mac, and a $99 per year recurring fee (source: Apple.com). Or they have a game console, and console makers won't let anybody make programs for those unless the developer is an established company with a few commercially successful PC or Android titles under its belt.

  142. 10 LET M$ = "Microsoft" by tepples · · Score: 1

    The correct way, in classic basic, to designate type was with a suffix- such as "A$" for a string variable named a

    So LET M$ = "Microsoft" was correct code? That might explain people calling a well-known publisher of BASIC interpreters "M$".

    1. Re:10 LET M$ = "Microsoft" by Marxist+Hacker+42 · · Score: 1

      Yes , that is the correct Syntax.

      Will this post without Slashdot requiring me to be human? What is up with slashdot randomly logging me out while I'm typing a post?

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  143. Minecraft can be a good start by chewtoy-11 · · Score: 1

    If you have a Raspberry Pi handy, you can install the latest Raspbian which comes with a free version of Minecraft (creative mode only) and Python programming interface installed and ready to go on it.

    If you don't have a Raspberry Pi, you can always install CanaryMod and use the RaspberryJuice plugin to setup a Python programming interface in Windows/other environments.

    Both use the same mcpi Python library, which is easy-to-use and documented here: http://www.stuffaboutcode.com/...

    --
    C. Griffin
    "Can I keep his head for a souvenir?" --Max from Sam 'N Max Freelance Police