My 11 YO wants to learn to program

Discussion in 'Programming & Software Development' started by g@z, Apr 3, 2016.

  1. orangepeel376

    orangepeel376 Member

    Joined:
    Feb 17, 2016
    Messages:
    60
    If you try and start with C++ it will turn people away from coding, especially 11 year olds. I would start with Python, then upgrade to Java and THEN learn C++.
     
  2. Jazper

    Jazper Member

    Joined:
    Jul 28, 2001
    Messages:
    2,668
    Location:
    Melbourne Australia
    The exercises in the aforementioned book are very simple to start with, and slowly get more complicated, there is a lot of hand holding. If a keen 11 yo can't work it out, then there's a problem.
     
  3. Madengineer

    Madengineer Member

    Joined:
    May 27, 2011
    Messages:
    14,420
  4. wwwww

    wwwww Member

    Joined:
    Aug 22, 2005
    Messages:
    6,230
    Location:
    Bangkok
    Get him to play around with HTML first, then onto JavaScript.

    It makes for a much easier route into Java/C++/etc

    someone's copying my avatar!
     
  5. philscomputerlab

    philscomputerlab Member

    Joined:
    Sep 29, 2014
    Messages:
    1,843
    This is one resource I would recommend a beginner:

    https://groklearning.com/courses/

    It's a shame the blocky course isn't ready yet, but this site is excellent for self-paced learning.

    A lot of resources will just overwhelm a beginner and teach too many concepts at once.

    Scratch gets my vote, but without a course, instructions, exercises it's not got either.

    You can find a YouTuber that does tutorials, that might help.

    Code.org has a bit of everything, it's more filler activities IMO, but a lot of the activities are free. Lightbots is also cool.

    So yea, my tip is to start with visual languages (blocks).

    I use Construct 2 for various reasons, for programming Game Maker is actually a little bit better. The way Construct 2 lays out code is a bit different and might confuse. Construct 2 is good at learning about game mechanics rather than coding. Selection and iteration is not as nicely presented as in Game Maker.

    Again, with Game Maker you got to find a tutorial, that has the assets (images, sounds, whatever) and step by step instructions ready to go.

    Another one is App Inventor 2, that one might be a bit too hard at first, but it also uses blocks and has lots of tutorials. The one with the cat is very easy and gets you a working App in no time.

    You might have to help Setup the emulator, or real phone (Samsung works without fuss).

    An Arduino inventor kit can also be great because it comes with a booklet that he can follow. The programs are all written out, but they don't really explain you anything. So it can just end up in building the circuit, typing the program, fixing the code but without understanding what's going on. Still, that alone can be a good start.
     
    Last edited: Apr 26, 2016
  6. wraith666

    wraith666 Member

    Joined:
    Jan 17, 2013
    Messages:
    1,767
    Location:
    QLD
    Awesome thread. So many ideas. I got my 9 year old into Scratch from the tips in this thread. She's picked it up so well she's even bought in projects to teach her teachers (spot the subtle proud dad bragging :p)
     
  7. Foliage

    Foliage Member

    Joined:
    Jan 22, 2002
    Messages:
    32,088
    Location:
    Sleepwithyourdadelaide
    I tried to learn C when I was about 16 and gave up also after only having experience writing batch files prior. I found Java much easier to pick up and then went back to C when I was older.
     
  8. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    42,789
    Location:
    Brisbane
    We were taught Java 1.0 pretty much weeks after it came out, by a guy who was the biggest Java zealot you ever saw. He was a complete buffoon who spent more time gushing over the language and the vendor than he did teaching the actual subject matter.

    Everyone in the class who had C++ experience breezed through it, and commented on what an idiot he was. Everyone else failed. Not even kidding - 75% fail rate that year.

    Little did I know the buffoon was stepping in for an older guy with decades of both programming and teaching experience. On his return, the older guy threw out the Java course, replaced it with Smalltalk, and went back to teaching the fundamentals of OOP in a sensible way. 90% pass rate.

    I've never used Smalltalk again outside of that one theoretical subject, but I can tell you now it taught me more about programming than anything I did before or since. It was an amazing language for learning how to program, and thanks to that I went on to pass other programming subjects (including C and MIPS Assembly) with flying colours.

    Scratch (the language I mentioned in this thread) is based on Smalltalk, but aimed squarely at kids. Like Smalltalk, it aims to teach the fundamentals of programming rather than just throwing confusing syntax at newbies. You'd never use Scratch (or Smalltalk) for anything practical, but that's not the point. The point is getting your head around the basics of what you're trying to do in a programming language (particularly so in OOP, which is another jump again from dumb scripting).

    I honestly cry a little inside when I hear people tell me kids should learn things that are in use in industry as their first exposure to programming. What a way to make sure they'll never do it again! Kids want something fun, and to learn complex things through quick feedback (typically visual). There's so many great languages and environments out there for kids to do this sort of thing in. Most of them allow some sort of basic but rapid game development, for obvious reasons (even if it's as simple as moving a character around a screen, and doing something with an action button).

    Great to hear this sort of thing. :thumbup:
     
  9. theSeekerr

    theSeekerr Member

    Joined:
    Jan 19, 2010
    Messages:
    3,530
    Location:
    Broadview SA
    Absolutely - most "real" languages come with the baggage of history, and are thus riddled with overloaded semantics, redundant features, and nonsensical idioms.

    That tends to buy you power and expressivity, but it's confusing to learn.
     
  10. elh9

    elh9 Member

    Joined:
    Feb 28, 2016
    Messages:
    107
    Location:
    Perth NOR
    Hey OP, when I was about that age I got into HTML and PHP.
    I think these are a really good language to start learning about programming.

    My reasons are:
    + What you are creating is instantly viewable in a browser
    + And is also visible to the world if you have a webserver setup on the development rig (or alternatively get him some server space so he can upload each set of changes and have them instantly live) ----- This also provides GREAT motivation for continuing to learn, because you know people can use the site straight away.
    + You can look at websites that are similar to what you want and look at their html or css
    + There are an infinity of tutorials and guides, from simple to difficult.
    + Php is a nice language, and in my opinion, you can start learning to code with any language, because the first step is getting your mind into thinking the programs logic, once you have your mind thinking the write way, you can swap to most of the common languages, with only the semantics of the language to deal with (ie. the various way the language lays out it's various control structures [if statements, loops, cases etc. etc.] and build in object types [variable types; incl. arrays 'n such]
    + Dealing with websites will introduce him straight away to a variety of languages; PHP, HTML as mentioned, CSS for styling, SQL for databases etc.
     
  11. theSeekerr

    theSeekerr Member

    Joined:
    Jan 19, 2010
    Messages:
    3,530
    Location:
    Broadview SA
    Frankly, I couldn't disagree with this post any more vigorously.

    PHP is an ugly, poorly designed language, and most of the sample code available is of extremely poor quality. To suggest it to a beginner borders on the cruel and unusual. It's the fast track to developing a "programmer" whose skills extend primarily to copying from StackOverflow.

    Throwing a beginner at the web will also mean exposing them to JavaScript, and I wouldn't recommend that to a beginner either.

    Also:

    HTML: Hypertext Markup Language (not a programming language)
    CSS: Cascading Style Sheets (not a programming language)
    SQL: Structured Query Language (not, in itself, a programming language, although I'll grant there are vendor-specific extensions that are)

    I'm not saying they aren't useful. Just that they aren't programming, and conflating programming with a bunch of declarative syntax that merely looks a bit like code is ALSO confusing to a beginner.
     
  12. Foliage

    Foliage Member

    Joined:
    Jan 22, 2002
    Messages:
    32,088
    Location:
    Sleepwithyourdadelaide
    Suggesting php is up there with c and c++ as a great way to ensure they do not continue coding.

    Might be fine for an 18 year old at uni but a 12 year old is not going to be interested.
     
  13. miicah

    miicah Member

    Joined:
    Jun 3, 2010
    Messages:
    7,046
    Location:
    Mount Cotton, QLD
    C# is pretty easy?
     
  14. doug81

    doug81 Member

    Joined:
    Jul 18, 2005
    Messages:
    4,665
    Location:
    Cambodia
    if they can't see much int he way of results quickly, they'll lose interest (like most people on the planet) - I like the idea of starting building something like a basic game regardless of the language. some of the stuff they do will stick, a bunch won't, but it will get them on the right path. Think of any exceptionally good programmer, and what their first step into programming was, and it probably wasn't ideal. Fundamentally it's teaching abstract concepts more than specific code/activities/structure at that age and game dev isn't a bad way to get and hold interest, especially if it's a game they can share with friends/family on iphone or whatever
     
  15. Foliage

    Foliage Member

    Joined:
    Jan 22, 2002
    Messages:
    32,088
    Location:
    Sleepwithyourdadelaide
    Yeah, I think Elvis is on point with his suggestions though, much better to start off with something fun. They can move on later to C#, Java, Python etc.
     
  16. Braininator

    Braininator Member

    Joined:
    Nov 8, 2007
    Messages:
    635
  17. Sico Music

    Sico Music Member

    Joined:
    Nov 14, 2009
    Messages:
    574
    The way I learnt programming was more or less from playing games (the best way IMO) and not them silly programming specific games. I started with a game called Empire Earth which is a RTS that I played for years, and then found scenario editing which had triggers and basically taught me basic logic stuff and all the fun stuff that I could do to make things happen in a game I had been playing for so long. Then I moved onto garrys mod which just opened a massive can of worms when I discovered Wiremod/Expression 2 which was an in game scripting language that was hugely powerful and popular on many many servers, that along with spacebuild lead to well over 1000 hours of gameplay most of which was scripting, designing life support and weapon systems as well as automating tasks. After that I picked up vb.net quite easily and went from there.

    Generally minecraft is very popular and I reckon that combined with the mod computer craft would be a good way to learn, as I remember the language for that was very simple and you get real in game results and benefit from making the programs (by being able to automate tasks), in the end through it all depends on perseverance. I was always very determined to make my programs work in gmod and would spend countless hours trying everything until they did work.

    I agree with the others in this thread, don't drop him in the deep end. I remember when I was quite young I told my dad (whos an engineer) that I wanted to program and he dug a book out on writing code for machinery (CNC type stuff) and said read that. I lasted 2 pages and never went back to it. Wasn't until I had my own computer and Empire Earth that I got back into it.
     
  18. OP
    OP
    g@z

    g@z Member

    Joined:
    Jul 27, 2001
    Messages:
    2,164
    Location:
    Melbourne
  19. OP
    OP
    g@z

    g@z Member

    Joined:
    Jul 27, 2001
    Messages:
    2,164
    Location:
    Melbourne
    He plays Garry's Mod a bit, and was into Minecraft for a while. I'll ask hm about the mods you mentioned. Thanks :)

    And thanks everyone else for their input. I pointed him at scratch and he didn't like it. I'll see if small talk is any better. He's a little slack when it comes to effort so I'm a bit worried about that, but I see how he goes!

    Thanks again, cheers!

    Regards,
    g@z.
     
  20. Sico Music

    Sico Music Member

    Joined:
    Nov 14, 2009
    Messages:
    574
    Unfortunately when Gmod when to version 13, wiremod went dead and so did most other mods like spacebuild and it just turned into a prophunt/trouble in terrorist town game. Its rare to find a sandbox server, little lone one with wiremod, impossible with wiremod and e2 enabled these days. Used to have a lot of run on roleplay servers making abusive gate set ups that would make me invincible due to floating blocks.

    That's why I mentioned minecraft because it's going quite well these days, especially with the feed the beast modpacks.
     

Share This Page

Advertisement: