My 11 YO wants to learn to program

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

  1. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    42,789
    Location:
    Brisbane
    Heck yeah. And that goes for any education.

    Play is a natural state of being for all mammals, and humans are no different:
    https://en.wikipedia.org/wiki/Homo_Ludens

    As mammals, we will actively reject boring/tedious things, unless they are directly required to prolong our life (like eating/sleeping). We want to play. Forced work and tedium are the complete opposite of what our brains crave.

    Procrastination is something we all suffer from time to time. And that's quite simply our brains looking for something fun to do instead of the boring thing we're supposed to do.

    Any satisfaction in life can be had by trying to have the most fun you can doing the things you need to do. A job can be fun if you enjoy it, and it triggers your concept of play. Same for schooling and education. Think about your favourite teachers/tutors/lecturers/mentors in life - the ones you think of most fondly are always the ones that had some sort of "fun" aspect about them (and I'm not talking about them being a clown necessarily, but rather they ticked that box in your head that piqued your interest).

    If you want to engage kids, make their learning fun. The moment you make learning something that's just rote and boring, you'll make kids switch off.

    Programming has a high barrier to entry. And honestly, fighting over syntax is boring. In the early stages, you want to get people figuring out how to solve problems through logic - that's all programming is. Whatever way you can do that and keep interest levels high (often through rapid visual feedback), generally will work better.

    High level languages like C/C++/C#/Java are all great and have their place in the world. But when you're trying to teach a primary school or early high school kid programming, you'll bore most of them to death. Sure, they can be tonnes of fun for seasoned programmers who've gotten over the initial hurdles of early programming challenges, but for newbies they're more frequently a complete turn off.

    Other suggestions in this thread - games that teach complex problem solving skills - are great too. I can think of dozens of games that involve complex resource management or building tasks that require the same sorts of problem solving skills we require in programming. I think Minecraft in particular has done more for this generation of kids than anything else, when it comes to getting them interested in computers and basic problem solving (much like Lego did for my generation, which helped lots of kids realise that engineering was a possible future for them).

    And the same goes for anything learned. Maths, science, art, history - make it fun. My kids learn so much from the British TV series "Horrible Histories" which they love, but also tell me how boring their history subjects are at school. Exactly the same stuff taught in two different ways. One works, one fails. Keep it fun!

    I've tutored, taught and mentored plenty of folks in my time (I did tutoring in uni for some cash on the side, have mentored people professionally, and have young kids of my own who are great little nerds in their own right). I try to make sure everything we do is fun, and always have a laugh while teaching. As someone who himself is easily bored by banality, I appreciate exactly the same in my learning.
     
    Last edited: Apr 30, 2016
  2. deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,601
    Location:
    Maitland, NSW
    I'll throw my hat in the ring and recommend Scratch over anything else mentioned on here.

    Why? The kid is 11 and probably wants to see amazing crap happen instantly... Given him python, C++, C#, whatever and seeing only various forms of "hello, world!" will literally bore the crap out of the poor kid.

    Best to give him something where he can actually make exciting stuff happen.
     
  3. @rt

    @rt Member

    Joined:
    Nov 30, 2005
    Messages:
    2,329
    I’d like to say C is glorified BASIC, but not quite.
    Any BASIC program can almost directly be written in C with slightly different syntax, although not necessarily vice versa.
    It’s probably going to be a particular platform that motivates a kid,
    and not a language or programming concepts.
    and you’ll likely have nothing to do with it other than providing the platform.

    It is now quite easy to write for a lot of older game consoles for example.
     
  4. Cpt.J.Sparrow

    Cpt.J.Sparrow Member

    Joined:
    Sep 14, 2010
    Messages:
    1,201
    Location:
    Melbourne
    I started programming when I was 8. Initially (for about three years), it was more of once-a-week extracurricular activity where I got to solve a set of fairly simple problems and spent more time learning about math, data types, [BASIC] keywords, and flow charting. Back then (80s), the most exciting part of programming was changing text colours and generating different pitch sound.

    Scratch would have been awesome, but the learning curve is still there.

    My 8-year-old twins like LabView; I do most of the programming for them and let them change.
     
  5. elh9

    elh9 Member

    Joined:
    Feb 28, 2016
    Messages:
    107
    Location:
    Perth NOR
    I don't agree with this statement at all, speaking from personal experience.

    Haha you guys are entitled to your opinions, but I learned php by myself when i was 12/13, alongside html, and they were the first languages I ever used, and it really wasn't that hard to pick it up at that age, 12 yr olds aren't as stupid as you think, and getting into the semantics of whether something is technically programming to back your argument up is kind of pointless, all these things gets your mind into the right frame for this type of thing.

    Also people are talking about instant results... i was coding while instant message friends, and every thing i made, i'd link them too, and they'd comment on it. The feedback was amazing and instantaneous.
    Also, you can get packages that already have a lot of structure and work off them to see what good code looks like and then modify or extend it.

    For example after php, i started on visual basic to make little useless apps, and that transition was ridiculously easy as you can imagine.

    I see where you guys are coming from, but I'm the type of person who learns best and fastest in the deep end, maybe i should have added that in my original comment so you fellas didn't get ya knickers in a twist. ;)

    and i wish i had learned javascript back when I had all the time in the world and a young brain that absorbed everything like a sponge. Trying to learn it now is a pita.

    I'm being a bit defensive because i think the responses to my post were a bit extreme given it was just a suggestion. It worked for me, I don't see why it wouldn't work for someone else.
     
    Last edited: May 2, 2016
  6. Supplanter

    Supplanter Member

    Joined:
    Jun 30, 2005
    Messages:
    559
    Location:
    Wobbies World
    They used Alice as a starter for our programming course. You learn the structural side of programming and use it to control animations.

    http://www.alice.org/index.php
     
  7. MiloVasic

    MiloVasic Member

    Joined:
    Apr 1, 2006
    Messages:
    527
    Location:
    SOR WA
  8. theSeekerr

    theSeekerr Member

    Joined:
    Jan 19, 2010
    Messages:
    3,530
    Location:
    Broadview SA
    Because, for some godforsaken reason, you suggested PHP. Of all the goddamn languages in the world, PHP!

    If you'd said "learn a web language because it's easy to get started fast and have instant feedback", I'd have said "yeah, that's not a bad idea".

    But you specified PHP. And aside from Visual Basic 6 (may it die a hasty death and soon) I can't think of a worse language to learn in. Bad languages foster bad habits.
     
  9. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    42,789
    Location:
    Brisbane
    Ah look, it's the same old argument that's been around forever.

    People hate Java because of bad Java programmers. Java gets a bad rep of being an enormous resource hog, but that's generally because people do dumb things in Java without thinking about problems at scale.

    Ditto for Node.js or NoSQL lately. I cringe when I hear people using them, but not because the languages suck. It just seems to attract people who love taking shortcuts.

    There's a hell of a lot of good PHP code out there. And there's a hell of a lot of stuff out there written in PHP that scales to enormous levels (Facebook, for example). But yeah, the language does allow for sloppiness. When lazy people take shortcuts, things break. Learning a language like that without grounding in something sensible does frequently lead to bad habits.

    PHP was probably in the first 3 languages I ever used in any depth. I wrote some largish projects in it, and witness said dodginess from people also working on the projects.

    Whether or not it's a "bad language" specifically for teaching, I dunno. I think with the right teacher it could be OK. But again, when you've got something like Scratch which is purpose built for teaching concepts and good habits to kids, it's probably wiser to go with the better choices intended to teach better habits.
     
  10. Elyzion

    Elyzion Member

    Joined:
    Oct 27, 2004
    Messages:
    7,432
    Location:
    Singapore
    Facebook hardly uses PHP anymore. It's pretty much used for markup of HTML and that's it. Using facebook as an example in 2016 is probably the worst example of PHP usage. Especially considering the lengths Facebook has had to go through to make PHP scale.

    The whole reason HHVM/HPHP was created was to solve the scaling issues of PHP, along with many other issues of PHP such as type checking.

    Please stop spreading this crap.
     
  11. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    42,789
    Location:
    Brisbane
    Righto, calm down. Facebook might not use it everywhere today, but they used it a lot for a fair whack of time. And that's not even the bloody point. The point is it's used by a lot of commercial places for large projects, and nobody coding up "my first website" is going to make something at Facebook scale.

    I guess the quoted post at least demonstrates for a second time that PHP really does get people riled up.

    And before anyone gets (more) upset, I'm not recommending PHP to anyone. Go back to page one where I said "Scratch". I'm merely explaining to the good fellow a few posts up why people get so upset about PHP, even though it's still prevalent (like Java, like COBOL, and even like bloody Fortran in the right circles).

    Gosh, this is all reminding me way too much of the "vi vs emacs" days. :lol:
     
  12. Elyzion

    Elyzion Member

    Joined:
    Oct 27, 2004
    Messages:
    7,432
    Location:
    Singapore
    I don't really care what people learn.

    Yeah PHP blows, but the joy of creating something is what gets people into programming. If learning PHP gets that joyment then they are hooked and can learn anything in their lifetime.


    I'm just sick of hearing the Facebook argument for PHP. Facebook should never be used as an example because they are solving scaling problems most of us will never come even remotely close to having to solve. They had to invent solutions to new problems and have changed their architecture so many times it's impossible to keep track of.
     
  13. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    42,789
    Location:
    Brisbane
    That's to be expected though. Google and Amazon would all be the same at their scale (or even the next tier down, like eBay/SalesForce/Uber/etc). Anything anyone would say about either of those companies, I would expect to be stale information 6 months later.

    My point was more that they used it at one time for something fairly large (at least, larger than I've ever been involved with in my career), not that it will continue to be an integral part of their infrastructure forever (or is even currently).
     
  14. Myst

    Myst Member

    Joined:
    Feb 26, 2004
    Messages:
    1,349
    Location:
    Hobart, Tasmania
    I used to love writing little projects in BASIC and then Visual Basic, then we were taught Pascal in year 12 and that put me off computer science forever, so incredibly boring!

    Some of the languages mentioned here look amazing, teenager me is incredibly jealous of what's out there.
     
  15. OP
    OP
    g@z

    g@z Member

    Joined:
    Jul 27, 2001
    Messages:
    2,164
    Location:
    Melbourne
    Update: I purchased the game suggested here, Human Resource Machine.

    Several reasons I did this. First was that he likes to game.
    Second was he didn't seem to want to try scratch. This game looked like he could make an easier transition into scratch once he finished it.
    Third was it cost money. Sounds like a negative but it actually was easier to get him to commit to trying it for a much longer period than if it was free. It's like an additional life lesson on top of programming where he sees someone making an effort for him and in return he has to decide to commit to it in return or not, and show he's at least giving it a go. And that's harder to get from free stuff.

    He's been playing for about 2 nights and first time managed to get through about 10 levels. It was hard for him but he was genuinely proud of himself and he wanted fist bumps, which he got :) He's done more levels and I think he might be stuck as it's now getting really difficult he tells me.

    Hopefully he'll get the hang of it and move onto bigger and better things once he's finished.

    Thanks everyone for their input, I really appreciate it!

    Regards,
    g@z.
     
  16. Elyzion

    Elyzion Member

    Joined:
    Oct 27, 2004
    Messages:
    7,432
    Location:
    Singapore
    Keep us updated, keen to hear how he goes.
     
  17. orangepeel376

    orangepeel376 Member

    Joined:
    Feb 17, 2016
    Messages:
    60
    Sorry!:eek:
     
  18. w0ng

    w0ng Member

    Joined:
    Dec 17, 2006
    Messages:
    126
    Location:
    Sydney
    Lol. Sorry I have nothing of value to contribute to this thread and don't want to argue with the hive mind, but this is not factual.
     
  19. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    42,789
    Location:
    Brisbane
    Makes me *very* happy to hear about this happening in Australia. :thumbup:

    At what age groups did you see this?
     
  20. evilasdeath

    evilasdeath Member

    Joined:
    Jul 24, 2004
    Messages:
    4,964
    nobody mentioned assembly :)

    I learnt early programming for my calculator

    another game i did like that is a bit more nerdy than Human Resouce, are hte games from zachtronics, spacechem/infifactory/tis-100 that are all about getting to an output from different inputs etc.

    There are different parts to programming, just knowing syntax is only a small part of it. Being able to conceptualise blocks and chain them together is where you get things done. Feeding from A to B to C building a logical method.

    even the games like http://www.factoryidle.com/ are about chaining stuff together. :)
     
    Last edited: May 26, 2016

Share This Page

Advertisement: