My son, a ten year old is so like "I WANT TO MAKE SOFTWARE!!!!!I WANT TO PROGRAM!!!!!!!!!I DON'T WANT TO STEP INTO LANGUAGES LIKE http://www.simplecodeworks.com/website.html OR http://scratch.mit.edu/ OR http://www.alice.org/ !!!!!"He knows---

  1. Basic Python(for, while, variables, raw_input, readline)
  2. Extremely little about C++
  3. Quite a lot of Javascript(alert, prompt, *a little about arrays*, bgColor etc)
  4. Quite a lot of HTML(links, forms, buttons, headings, *embedding Javascript*, graphics)

What next?
Please or he'll literally EAT ME UP!!!!:@:@

He also knows
1.Basic Python(import, from, lists, turtle, random)

"I WANT TO MAKE SOFTWARE!

What kind of software does he want to make?

He wants to make interactive programs, such as games, feedback forms etc(You get my idea)

well I can't give a full opinion yet I want clear some things first
as I can see he has learned languages for web development and only basic knowledge of software devt languages yet he wants to make a software?

As for the program he wants to make are they for personal use? how long does he want to continue with a project(both in updating it and in usage)? Is it only to pass the time or is it something serious

as I can see he has learned languages for web development and only basic knowledge of software devt languages yet he wants to make a software?

Yes. He is so excited and he says that web devt is not what he'd like. He doesn't want to make a software now, but basically wants to learn AND make software.

As for the program he wants to make are they for personal use?

He wants to show it to the family.

how long does he want to continue with a project(both in updating it and in usage)?

He says may it take him a month or a year, he wants to do it.

Is it only to pass the time or is it something serious

The point is, he wants to do it for fun, but is EXTREMELY DEAD SERIOUS(I mean he is determined to do it).

Sorry, but those are a little complicated for him. What else?

how about pygame he might find an idea here and help in creating a game, they have tutorial,submitted games, etc...

I'm Sorry if i can't suggest anything more appropriate cause I'm not a python user I usually create programs in Java or c

pygame, he says, is what he would like, but as we together do not tutorials for his age, it doesn't do him any good.

I'm Sorry if i can't suggest anything more appropriate

That is perfectly fine! Plus not your mistake!

I'm not a python user I usually create programs in Java or c

Will he be able to program in java or c?

but as we together do not tutorials for his age, it doesn't do him any good.

You can't learn without em but since he liked it given time he might get used to it... eventually

Will he be able to program in java or c

Since he's 10 i'm guessing that he's self studying programming

Java and c I good for software development (you can search the net for more info)
but they're a bit more complicated than python
Here's a discussion about the Programming languages
Like all programming languages It'll take time to learn

Here's also a list of most used Programming languages(by usage) as a bonus
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

I guess it would be possible for him to learn how to program in a language like C or java, but (and there's a serious 'but' there) that 's only the case if he's first willing to spend quite some time learning the language (and I'm not talking 'a few weeks' here).

he won't be able to immediately start a project, rather he'd be spending a lot of time writing small applications learning how to develop software using those languages and the possibilities they provide.

if he's looking into making programs with interfaces or forms take a look at the Head First series of books. C# is a good language to use, it's fairly straight forward to learn and the chapters in Head First C# start off with a simple organiser application and gradually builds up to a full on game (a windows from game of moving jpg's not the like of call of duty).

. . . The kids got ambition !. People like your son usually go on to do well because they don't just do it for the money or "because it's job".

I guess it would be possible for him to learn how to program in a language like C or java, but (and there's a serious 'but' there) that 's only the case if he's first willing to spend quite some time learning the language (and I'm not talking 'a few weeks' here).

he won't be able to immediately start a project, rather he'd be spending a lot of time writing small applications learning how to develop software using those languages and the possibilities they provide.

He doesn't care, he's willing to learn. Any resources?

When I told that you said

. . . The kids got ambition !. People like your son usually go on to do well because they don't just do it for the money or "because it's job".

he told me to give you a thank you. Thank you!

You can't learn without em but since he liked it given time he might get used to it... eventually

Sorry, I didn't understand your language. No offense at all, but can you explain what you just wrote?

He doesn't care, he's willing to learn. Any resources?

when it comes to java, this link might be about the best place to start.

I assume he's already somewhat familiar with pseudo-code and the very basics of OO, if not, exploring that wouldn't hurt him either :)

if he's looking into making programs with interfaces or forms take a look at the Head First series of books. C# is a good language to use, it's fairly straight forward to learn and the chapters in Head First C#

I don't live in the US, live in India, so Head First C#(O'Reily) is out of hand. I am trying to download a PDF. Any other resources?

try this, and this. Have a look on amazon or other websites and purchase a copy of headfirst might be worth the hassle in the long run.

Al Sweigart has an entire site and a book dedicated for game programming for kids. You might find this and this worthwhile.

As someone who has mentored both colleagues, junior developers and "want to be programmers", I'd recommend against "industrial strength" languages like C#, Java, C++, C etc. unless the kid feels he is comfortable with them. The *most* important thing when it comes to teaching programming is to get them in the "groove" rather than forcing them to learn "popular" programming languages. If your kid craves for more challenging/unique stuff, there's always the "haskell for kids" series by cdsmith which your kid might find enlightening.

Languages come and go, it's the concepts which stay. BTW, as an Indian, it feels good to see that parents are taking the initiative to introduce their kids to the crazy and interesting world of computers. :)

I don't live in the US, live in India, so Head First C#(O'Reily) is out of hand. I am trying to download a PDF. Any other resources?

O'Reilly will sell you a PDF version of most any of their publications.

not to mention, it can be ordered online.
I don't live in the US neither, doesn't mean I can't get hold of books that are printed over there.

it's always possible to download the pdf's of those books, but in a lot of cases, it's an outdated version of the book, so my advice would be to go to the authors/publishers website and order the latest version.

Al Sweigart has an entire site and a book dedicated for game programming for kids. You might find this and this worthwhile.

We are currently reading it, but it doesn't TEACH programming. Thank you though, for your valuable response. We bought a PDF format of the book "Head First C#" and he is pretty comfortable with it. Reply.

I'm not sure why you say that it "doesn't teach programming" given that it helps kids create fun little games which *does* require programming. More importantly it stresses on "logic" which can help kids create games in any other languages they would learn in future.

But if he comfortable with the new C# book, more power to him. Good luck! :-)

If he's interested in game development or just general software development, C++ and C# are good places to start. For game development I'd suggest using XNA Framework (Available at Dreamspark to all students of colleges so if someone in the family is in college have them give you their information and get a couple more applications) it is also available all around the web so just do some research. XNA Framework allows developers to create games and applications for XBOX 360 and PC using advanced gaming techniques. For instance with Visual studio you're limited usually to a 2D software window that you can manage and develop or a command prompt terminal, class libraries, silverlight apps, so on and so forth. With XNA you can develop full 3D games with hallways and lights and cameras, and a lot more cool stuff. I'd recommend letting him read up on it to see what he thinks about it. It's the way I traveled with my programming knowledge and I can tell you it's a lot of fun. I mostly develop 3D applications for XBOX that have some sort of helpful function to them. Like calc.exe, weather reports, simple stuff but did manage a few games as well. It's really all up to him on what he really wants to learn. I'd look up articles on the advantages of different programming languages to see which ones I want to learn. In 3 years I've become advanced with C#, intermediate with C++, intermediate with java, basic with python, pearl, ruby, css, php, f# and .NET. So it's really just all about intentions and what you want to do. I wanted to learn something new and I did. Still am.

Jamie

depends on what he wants. there are colleges who use this book, but to start in it, you don't need to have any prior experience, so even though the most readers will be a bit older, there's no reason why he shouldn't give it a go.

> Is this kinda *odd* for his age?

Ouch, Java... If possible (unless your child is insisting on it), try to avoid Java. He'll get a lot more opportunities to be "enterprise" ready. Apart from Python (which I think you are already teaching your child) there are other better heavy weight languages out there.

try to avoid Java

He is... (of course, slowly) getting around the concepts, although doubts keep popping up.

In my opinion there are two main area to work at: learning programming and learning a language. While these two are similar and in the same category, they are different subjects.

First: learn programming. If your son is wanting to do some projects, this is key ( obviously )! To do this you need to understand programming terms and features ( Object Oriented Programming, etc. ). Also, you need a language that your son is comfortable with.

Second: a language! Like I said, you need a language that your son is comfortable with. For me it was Python. But other people have theirs ( Perl, Scheme, even some C++ ). But first, learn a language that your son is comfortable with! It will make or break his wanting to program! Based on your son's interests, I would suggest C#. It's used in application development, and game development. It has quite a few nice features, and is not too complicated to learn.

It seems ( pygame ) that your son is also interested in programming games. This is quite common with a lot of people, especially the younger programmers. I feel it's a good way to learn programming while having fun. I can't say about XNA as I've never used it, but it seems to me that it would be based on programming EVERYTHING. Something I've used ( and I have a friend who is making his living programming in ) is the Unity3D Game Engine. It is simple, easy, and free! Also, you can program in either: JavaScript, C#, or Boo. Which I think is great because your son already knows JavaScript, maybe has a little knowledge of C#, and Boo is a dialect of Python. Being a game engine it take a little of the work out of creating games, which will let your son focus on the programming aspect of it. Also, one of the best features of Unity3D is that you can make one game and port it to: PC/Mac Standalone, Web, iOS, and Android from the same game project! So if your son is interested in game development, I would highly recommend it!

Hope I've helped a little here,

- WolfShield

Visual Basic? I got a copy of VS 5.0 when i was about 9. Hated visual C++, but loved VB. Now im a programmer. (in C++)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.