Results 1 to 11 of 11
  1. #1
    SurfMan's Avatar
    SurfMan is offline Godlike
    Join Date
    Nov 2012
    Location
    The Netherlands
    Posts
    926
    Rep Power
    2

    Default Have you taught your kid to program?

    Hey peeps,

    This is a question for those of us who have kids, or are somehow connected with kids and IT education.

    TL;DR: What is/are the best programming language(s) for kids to start with?

    My son (12) wants to become a developer ("I want to do what daddy does"). Great! Would love to see that happen. So what do I do? I can teach him Java, general OO, (anti)patterns, the lot. I can give him a copy of IntelliJ IDEA, an Android phone and an Android SDK. I can have him create stuff for Minecraft which he loves.

    What is useful and easy enough for kids to learn? Java? Scala, Haskell or even Swift? Or should I be looking at the "educational programming languages", like Greenfoot, Scratch. I could go a step further and get him a Lego Mindstorms set?

    Has anyone here taught their child programming and using what?
    "It's not fixed until you stop calling the problem weird and you understand what was wrong." - gimbal2 2013

  2. #2
    gimbal2 is online now Just a guy
    Join Date
    Jun 2013
    Location
    Netherlands
    Posts
    3,843
    Rep Power
    5

    Default Re: Have you taught your kid to program?

    I don't have kids, but I do have a sister-in-law which needed to learn some programming fundamentals as part of her high school education.

    KevinWorkwoman always recommends Processing, so this time I'm going to steal his opportunity to sell it. Muhahahahahaaaa!

    Processing.org

    I think it is a good idea to start with something like this since its visual; kids need that extra dimension to be able to grasp it. Here is another piece of alternative advice I'm stealing from he-who-must-not-be-named: I'd start with Basic and not something as complex as Java. Minecraft is also out because, well, just do a search for "minecraft" in this forum and that will be 'nuff said. You're not going to get anywhere hacking minecraft code when you don't know programming properly.

    Perhaps even a little HTML, CSS and Javascript. No need for additional tooling (perhaps your IntelliJ or a copy of Webstorm, a tool which I fell instantly in love with and am soon going to marry) and he'll be cool enough to be able to do some web stuff himself.
    "Syntactic sugar causes cancer of the semicolon." -- Alan Perlis

  3. #3
    SurfMan's Avatar
    SurfMan is offline Godlike
    Join Date
    Nov 2012
    Location
    The Netherlands
    Posts
    926
    Rep Power
    2

    Default Re: Have you taught your kid to program?

    The visual aspect does appeal to me. It's a tremendous help when learning new stuff. He's already doing HTML and CSS. Besides it being structured in certain ways, I do not consider that programming. What Basic flavour do you think of? Will I be dusting off the C64? :)
    "It's not fixed until you stop calling the problem weird and you understand what was wrong." - gimbal2 2013

  4. #4
    gimbal2 is online now Just a guy
    Join Date
    Jun 2013
    Location
    Netherlands
    Posts
    3,843
    Rep Power
    5

    Default Re: Have you taught your kid to program?

    You're ignoring the javascript bit which IS programming ;)

    I'm not familiar with Basic myself, I'm sure there is some epic Windows version that can even compile to an executable.

    EDIT:

    what do you know, our friends at Microsoft to the rescue: http://smallbasic.com/default.aspx
    Last edited by gimbal2; 06-17-2014 at 12:45 PM.
    "Syntactic sugar causes cancer of the semicolon." -- Alan Perlis

  5. #5
    kneitzel is offline Senior Member
    Join Date
    Feb 2014
    Posts
    447
    Rep Power
    1

    Default Re: Have you taught your kid to program?

    Hi,

    I think it is very important to find out what your son is really interested in. Simply "doing what his father is doing" is maybe not, what he really want. At least from my experience, software development is really theoretically and I never met kids who really liked that.

    So you have to find a field that is interesting but not to complex. When I started programming, I mostly created applications for my school. So I wrote applications that was solving my math homework for me (Which was much more complicated than simply doing it on my own. And because it took longer I always had to the the homework quickly myself) ...
    But today there are a lot of different options that you might want to check:
    - robotics are a great field. That could be nice if your son is also interested in electronics.
    - game development can be nice. But I fear that this is the part with biggest chance to fail. Developing a game is hard work and it covers a lot of different topics e.g. game design, creation of graphics, creation of animations, a story, music and sound, ... I spend some time in game development (and started a little bit with an old project) and I read a good book about it which simply told me again what I already knew: It is just to much work for a single person (what I had in mind).

    Important: Everything is possible. But it is really important to help him to get forward. Maybe you want to talk to some teachers so you learn how your son could start.

    And maybe you want to even switch to some kid like language / environment. I saw some kind of "robot" stuff with java. That might be useful. We had something like that with Pascal when we started our course at school on Apple Mac Classic systems :).
    (But all that is not really needed. I started slowly with 8 years when I wrote my first application in pascal on an Apple II+ without understanding what I was really doing ... but I got an application that way playing some xmas music :) )
    But I also know some Smalltalk stuff for children and schools. Something like that might be useful, too.

    So in my eyes it is important that you find any way that has small steps with a lot of small results that keep sure that he has fun. Sorry that I cannot tell you more but I hope that my personal view was of little help.

    With kind regards,

    Konrad

  6. #6
    SurfMan's Avatar
    SurfMan is offline Godlike
    Join Date
    Nov 2012
    Location
    The Netherlands
    Posts
    926
    Rep Power
    2

    Default Re: Have you taught your kid to program?

    Thanks for your reply, Konrad. My first steps in programming were games and an addressbook in BASIC on the C64. Then, as my dad upgraded the computers, some QBasic on the 8088 and 386's. A little side step in DBase III where I made the same addressbooks but with forms and all. Incredibly fun stuff to build but "back in the days" (I was 11 at the time :)) there were no fancy graphical environments to deal with, so a fancy form in DBase III was as good as it would get.

    He mentioned how he wanted to make a game for his iPhone. Since I don't know any Objective C or Swift, that would be a fun exercise for the both of us :) And as we go along, he will encounter all the areas of game-programming and his interest in any of those subjects might be sparked.

    Thanks for the feedback. All good ideas are welcome :)
    "It's not fixed until you stop calling the problem weird and you understand what was wrong." - gimbal2 2013

  7. #7
    gimbal2 is online now Just a guy
    Join Date
    Jun 2013
    Location
    Netherlands
    Posts
    3,843
    Rep Power
    5

    Default Re: Have you taught your kid to program?

    IMO: objective C is a real bitch. I'd go for Swift then ;)
    "Syntactic sugar causes cancer of the semicolon." -- Alan Perlis

  8. #8
    KevinWorkman's Avatar
    KevinWorkman is offline Crazy Cat Lady
    Join Date
    Oct 2010
    Location
    Washington, DC
    Posts
    3,923
    Rep Power
    8

    Default Re: Have you taught your kid to program?

    Hahaha, I was about to suggest Processing, but Gimbal beat me to it. Am I really *that* predictable?

    Processing is great because it's built on top of Java, so you're already familiar with its syntax, but it makes it extremely easy to get something visual (like a ball bouncing around or following the mouse or something) without all the Swing and Java2D boilerplate code. Processing can be deployed to Android as well. Once you get through the basics, you can transition pretty easily to pure Java, and from there, you can go on to frameworks like libGDX (which can also deploy to iPhone).

    And even more predictably, here is some blatant self-promotion: I've written a series of Processing tutorials that take you from the very basics and into Java, available at StaticVoidGames.com. Even if you don't use the tutorials directly, they set up an order that seems reasonable (Processing makes it easier to talk about functions first, then variables, then if, for, etc). I'd love to help any way I can.

    Processing also has a series of beginner tutorials that are part of Code.org's Hour of Code: Processing Hour of Code | Home

    If you want to go even more basic, you could check out Game Maker or Scratch. Game Maker isn't really programming IMHO, and Scratch is built for younger kids in mind, but it might be a nice stepping stone that's worth checking out.

    Also, I'm not the only one who recommends Processing as a first language. Googling something like "using processing to teach programming" returns a ton of resources that are worth checking out.

    Edit: Coincidentally, a similar discussion is being held over at JGO: http://www.java-gaming.org/topics/te...3555/view.html
    How to Ask Questions the Smart Way
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

  9. #9
    SurfMan's Avatar
    SurfMan is offline Godlike
    Join Date
    Nov 2012
    Location
    The Netherlands
    Posts
    926
    Rep Power
    2

    Default Re: Have you taught your kid to program?

    Interesting thread you pointed to at JGO. I'll keep an eye on that discussion. After reading some of your excellent tutorial work, I might actually give Processing a go. The Pong game will be hilarious to play together. :)
    "It's not fixed until you stop calling the problem weird and you understand what was wrong." - gimbal2 2013

  10. #10
    gimbal2 is online now Just a guy
    Join Date
    Jun 2013
    Location
    Netherlands
    Posts
    3,843
    Rep Power
    5

    Default Re: Have you taught your kid to program?

    Quote Originally Posted by SurfMan View Post
    Interesting thread you pointed to at JGO. I'll keep an eye on that discussion. After reading some of your excellent tutorial work, I might actually give Processing a go. The Pong game will be hilarious to play together. :)
    Did anyone ever create a game of pong where the size of the paddles randomly changes I wonder? Now there's a challenge.
    "Syntactic sugar causes cancer of the semicolon." -- Alan Perlis

  11. #11
    KevinWorkman's Avatar
    KevinWorkman is offline Crazy Cat Lady
    Join Date
    Oct 2010
    Location
    Washington, DC
    Posts
    3,923
    Rep Power
    8

    Default Re: Have you taught your kid to program?

    Quote Originally Posted by gimbal2 View Post
    Did anyone ever create a game of pong where the size of the paddles randomly changes I wonder? Now there's a challenge.
    Or how about a pong game with realistic physics? Your paddle has to overcome gravity, can be knocked sideways by the ball, etc. I'd play that!

    Edit- Oh! I meant to say: you mentioned being interested in lego robotics. You can install Java on a lego robot and write Java to control the motors and read from the sensors. Pretty rad. http://www.lejos.org/
    Last edited by KevinWorkman; 06-17-2014 at 05:44 PM.
    How to Ask Questions the Smart Way
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

Similar Threads

  1. Replies: 6
    Last Post: 12-15-2013, 06:40 AM
  2. help i wasn't taught this yet
    By chins4tw in forum New To Java
    Replies: 10
    Last Post: 06-08-2013, 05:06 PM
  3. Replies: 4
    Last Post: 11-21-2012, 01:19 PM
  4. I taught Java 1 ...
    By livingdog in forum Introductions
    Replies: 4
    Last Post: 01-15-2010, 10:59 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •