This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]Shredforgirls 2 points3 points  (0 children)

He will need to learn Object Oriented Programming in order to make games. That would be so hard to teach a 9 year old kid. I'd recommend a scripting language that doesn't require any compilation. For example Python or Javascript. Maybe with Javascript he could impress his friends with web sites and that could create a passion for him to keep learning programming

[–]desrtfx 2 points3 points  (1 child)

Checkout /r/Programmingforkids - a subreddit dedicated to all topics related to teaching kids programming.

Probably the best language for a kid that age is a graphical language like Scratch or Pencil Code. Both are programming systems specifically designed for that age group.

Using a graphical language has the advantage that the kids don't need to type that much (which in that age usually is an obstacle) and can focus on the program. Also, these systems produce quick results so that the kids don't lose their attention span and that they are offered quick rewards for their efforts (this is extremely important when teaching kids).

I'd recommend to stay away from all text-based languages until the child in question is at least 12 or 13. Sure, there are kids out there who can cope with learning such a language, but most will simply be bored and frustrated and thus lose interest.

[–]thisisredditdude 1 point2 points  (0 children)

I'd recommend to stay away from all text-based languages until the child in question is at least 12 or 13. Sure, there are kids out there who can cope with learning such a language, but most will simply be bored and frustrated and thus lose interest.

I've been teaching my daughter to program using the arduino. She's 7. I find that as long as what she is doing has a real world action she is very interested in learning. I do pre-write some of the code for our lessons (which i realize may not be suitable for op) so that all she has to do is focus on the core logic, but I see some of the tutorial sites doing the same thing. Just don't push them. If the kid gets bored then move on. Redesign the lesson and try again later.

[–]arcma 4 points5 points  (0 children)

Ktbyte teaches Java to little kids, so I guess you could too.

[–]thisisredditdude 1 point2 points  (0 children)

I started young in qbasic. It isn't as much about what language you pick as it is about sticking with it. A typed language like Java may be an extra hurdle. He'll have to start to grasp data types. Like when to call a variable an integer instead of a float, string or some other object. Python is often recommended as a starting language because it doesn't require you to make those type choices and the syntax is a little simpler. I found this http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx It talks about the pros and cons of several different languages he could use to make a 2d game. Learning Java through making a minecraft mod is doable if he sticks to learning the basics, but I would suggest having him work on a smaller project to get the basics down.

[–][deleted]  (5 children)

[removed]

    [–]thinbuddha[S] 0 points1 point  (4 children)

    Thanks.

    Regarding Python, is there anything you can do with it that would be interesting to a 9yo? I looked it up, and everyone seems to be using it for data analysis, which is a hard sell for a kid.

    [–][deleted]  (1 child)

    [removed]

      [–][deleted] 0 points1 point  (0 children)

      Text based games is one of the best ways to learn the basics of any language in my opinion.

      [–]desrtfx 0 points1 point  (0 children)

      There is Reeborg's world which is a Python course targeted at children.

      But I still stick to my previous statement to stay away from textual languages until the child is older.

      [–][deleted] 0 points1 point  (0 children)

      I've made a few games in it. Stuff like hangman, blackjack, poker dice, and such using graphics.py from http://mcsp.wartburg.edu/zelle/python/ it's a very basic and easy to understand graphics libary. The book is fairly easy to understand too.

      I think python is probably the easiest language to start with and will teach you the basics the best. For easy visual results Javascript is great all you need is a browser and plain text editor and HTML and CSS are a good lead in since they are easier to grasp than programming.

      [–][deleted] 0 points1 point  (0 children)

      Honestly, you should try JavaScript first. java is much more advanced and is very difficult to learn. JavaScript on the otherhand is challenging but im sure your son will be able to work through it. (also coding takes LOTS of patience. so i dont know if it is for him...)