Programming for kids

  • (2 Pages)
  • +
  • 1
  • 2

16 Replies - 1822 Views - Last Post: 16 December 2009 - 02:47 PM

#1 JamesConley  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 19
  • View blog
  • Posts: 341
  • Joined: 09-March 09

Programming for kids

Posted 11 December 2009 - 02:48 PM

Hey everyone! I am posting this because I would like some help and insight on programming for kids. The reason being is my nephew (9years old) has taken a massive liking to video games (like all of us have). He approached me quiet some time ago and asked how he could make a video game, we talked about and i explained to him how the process works. So, now he would like to start somewhere (kids level) programming. I have an old Alice book from a course I took awhile back, but I would think there is something better out there for kids.

I would really like to find something, also it would be nice if I could give it to him for Christmas. Any help I can get I really appreciate it. I remember a few months back a really good article from either wired.com or lifehacker.com (can't remember) on programming for kids.

What I'm looking for: A book for kids, or and software for kids. (programming)

Again I appreciate all of your help!!! (I hope this in the right section, sorry if its not)

This post has been edited by jpconleyiv: 11 December 2009 - 02:49 PM


Is This A Good Question/Topic? 1
  • +

Replies To: Programming for kids

#2 Core  Icon User is offline

  • using System.Linq;
  • member icon

Reputation: 774
  • View blog
  • Posts: 5,097
  • Joined: 08-December 08

Re: Programming for kids

Posted 11 December 2009 - 03:05 PM

Moved to Corner Cubicle. :)

I would definitely recommend you checking out this resource:
http://www.squidoo.com/gamemaking

I always thought that Alice was a good choice for starting programming for kids, as it was showing progress in a dynamic way and kids like it. Also, have you ever heard of Kodu? It is a project by Microsoft Research and it is now available for the Xbox 360 (if you have one) and it allows the kid to work on some simple game making tasks, making it fun and educational at the same time.
Was This Post Helpful? 0
  • +
  • -

#3 JamesConley  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 19
  • View blog
  • Posts: 341
  • Joined: 09-March 09

Re: Programming for kids

Posted 11 December 2009 - 03:52 PM

Those are both very cool ideas!! I have given it more Alice more thought. I think I will get him a book for Christmas on Alice, but tell him about these sites first. Maybe have him go through the sites first then go onto Alice.

Thanks Again!!! :^:

Also is Kodu something I pickup at a store (gamestop) or is it a download?

This post has been edited by jpconleyiv: 11 December 2009 - 03:55 PM

Was This Post Helpful? 0
  • +
  • -

#4 Core  Icon User is offline

  • using System.Linq;
  • member icon

Reputation: 774
  • View blog
  • Posts: 5,097
  • Joined: 08-December 08

Re: Programming for kids

Posted 12 December 2009 - 02:00 AM

Kodu is a download from the Xbox Marketplace. More info about the project here:
http://research.micr.../projects/kodu/

Also, just on a sidenote, there is a project created at MIT, called Scratch:
http://scratch.mit.edu/

It is definitely worth a shot for kids trying to get into programming, especially game development.
Was This Post Helpful? 2
  • +
  • -

#5 Shane Hudson  Icon User is offline

  • D.I.C Technophile
  • member icon

Reputation: 343
  • View blog
  • Posts: 1,286
  • Joined: 06-December 09

Re: Programming for kids

Posted 12 December 2009 - 02:22 AM

It is great to start young in programming. Personally, I started VB when I was 6 and to this day I am still really glad I was able to do that as it probably shaped the rest of my future!
Was This Post Helpful? 0
  • +
  • -

#6 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Programming for kids

Posted 12 December 2009 - 03:42 PM

Honestly, I don't believe there is a proper language for kids to learn in.

I started learning in QBasic (was that ever a blast), but I had no help from anyone or direction (Summer break between kindergarten and grade 1 was typing QBasic.exe and Keen.exe). For the first couple years of my programming experience I had ancient (even for their time) books from the public library that were either too high-level for me to grasp at the time, or using a language I didn't have access to.

Facing things such as every kid in India offering to outsource their services for pennies on the rupee, what advantages will new programmers offer over other ones? We need programmers that understand what they're doing, not just how to type to their computer some C#. We need people who can communicate properly with business needs. We need people who can sit down and pick up another language if needed.

What we need to teach kids first is the concepts, what everything does. Hands-on should be a huge part of this-- and this is where the language comes into play -- but we need to focus on looking at the concepts and how to translate them into other languages and the world around them. Finding the balance isn't easy-- On just the topic of variables, I can tell you in 30 seconds or 5+ hours what they do. The learning must grow broadly across the concepts, then grow in complexity of the concepts.

What language should be used? Something that supports modern concepts, something that lets them make a few 'mistakes' because they don't know everything yet. Something that they can get access to easily without having to worry about IDEs, complicated installs, etc...

I don't believe this language exists. Learning should be done along these lines:

Concepts first. Now, apply it. Now that you understand it, lets look a little deeper.

What language? Change them as needed. Start with something simple and forgiving like Javascript, if you want to teach the concept of how memory works so they gain a very deep understanding, I would recommend assembly. OOP? Java sounds nice.

Learning is a big task; you can't use just a hammer to build a house.
Was This Post Helpful? -1
  • +
  • -

#7 Core  Icon User is offline

  • using System.Linq;
  • member icon

Reputation: 774
  • View blog
  • Posts: 5,097
  • Joined: 08-December 08

Re: Programming for kids

Posted 12 December 2009 - 03:49 PM

Quote

What language? Change them as needed. Start with something simple and forgiving like Javascript, if you want to teach the concept of how memory works so they gain a very deep understanding, I would recommend assembly. OOP? Java sounds nice.


You do understand that this is a 9-year old kid with no experience in programming? There is a chance he will somehow grasp the concepts of Javascript, but there is a bigger chance to get him passionate about programming by showing on some examples that what he is doing is looking pretty neat. The concept of how memory works, in my opinion, should not be presented at this time - this might scare the kid from the very beginning. And really, Assembly?

My recommendation would be to take it slow with some tools that are easy to understand. Later, if you see that your nephew picks stuff up and wants to go further, you can work with him on something more serious.
Was This Post Helpful? 0
  • +
  • -

#8 JamesConley  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 19
  • View blog
  • Posts: 341
  • Joined: 09-March 09

Re: Programming for kids

Posted 12 December 2009 - 05:16 PM

View Post0xFF, on 12 Dec, 2009 - 02:42 PM, said:

What we need to teach kids first is the concepts, what everything does. Hands-on should be a huge part of this-- and this is where the language comes into play -- but we need to focus on looking at the concepts and how to translate them into other languages and the world around them. Finding the balance isn't easy-- On just the topic of variables, I can tell you in 30 seconds or 5+ hours what they do. The learning must grow broadly across the concepts, then grow in complexity of the concepts.


Yea..... I appreciate your response, but again, this is a 9 year old. He just wants to have fun with and see what he can do. He is smart enough to understand that he isn't going to code "Gears of War" but he sure wants to do or try whatever he can. I would never sit him down and teach him the entire spectrum at his age, he would hate programming. This is for him to start, the basics, TO HAVE FUN.

Another thing IDK if you are in the states or India but it doesn't seem like you really enjoy your work considering your mocking your own outsourcing regime. If your programming by force and not because its what you love I suggest you get the hell out and start living your own life, not someone else's.

I do understand where you are coming and appreciate your input but its just not for 9 year old, not one that wants to have fun anyway.

Quote

You do understand that this is a 9-year old kid with no experience in programming? There is a chance he will somehow grasp the concepts of Javascript, but there is a bigger chance to get him passionate about programming by showing on some examples that what he is doing is looking pretty neat. The concept of how memory works, in my opinion, should not be presented at this time - this might scare the kid from the very beginning. And really, Assembly?

My recommendation would be to take it slow with some tools that are easy to understand. Later, if you see that your nephew picks stuff up and wants to go further, you can work with him on something more serious.


This is more or less my plan exactly. I think I will let him go through my ALICE book then we will focus on SCRATCH and SQUIDOO.

Again as always, I appreciate all of your time with this!

This post has been edited by jpconleyiv: 12 December 2009 - 05:20 PM

Was This Post Helpful? 0
  • +
  • -

#9 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Programming for kids

Posted 12 December 2009 - 05:33 PM

View PostCore, on 12 Dec, 2009 - 04:49 PM, said:

Quote

What language? Change them as needed. Start with something simple and forgiving like Javascript, if you want to teach the concept of how memory works so they gain a very deep understanding, I would recommend assembly. OOP? Java sounds nice.


You do understand that this is a 9-year old kid with no experience in programming? There is a chance he will somehow grasp the concepts of Javascript, but there is a bigger chance to get him passionate about programming by showing on some examples that what he is doing is looking pretty neat. The concept of how memory works, in my opinion, should not be presented at this time - this might scare the kid from the very beginning. And really, Assembly?

My recommendation would be to take it slow with some tools that are easy to understand. Later, if you see that your nephew picks stuff up and wants to go further, you can work with him on something more serious.


I wasn't listing optional languages, I was saying it depends on what they are learning and how deep the scope of complexity into the topic is.

My point was that for starting out you should be using something basic, and if you need to get advanced in how memory works, show them with assembly. What's wrong with that? Assembly shows you exactly how memory works, you can examine how the stack works, what data really is, arrays, everything. It's advanced, so teach it when the kid needs to know something advanced. I never said start off in assembly.

It shouldn't matter what age the student is, simply their level of understanding. This must grow before they can get more advanced. I learned QBasic when I was 6 by teaching myself, I knew how it worked, it was cool, and kept me interested. Today we have some schools using GameMaker to wow kids with software, which often ends up annoying them all because they really learn nothing and they know it.


Quote

Yea..... I appreciate your response, but again, this is a 9 year old. He just wants to have fun with and see what he can do. He is smart enough to understand that he isn't going to code "Gears of War" but he sure wants to do or try whatever he can. I would never sit him down and teach him the entire spectrum at his age, he would hate programming. This is for him to start, the basics, TO HAVE FUN.

Another thing IDK if you are in the states or India but it doesn't seem like you really enjoy your work considering your mocking your own outsourcing regime. If your programming by force and not because its what you love I suggest you get the hell out and start living your own life, not someone else's.

I do understand where you are coming and appreciate your input but its just not for 9 year old, not one that wants to have fun anyway.


If he wants to see something flashy to keep attention span, go for AS in Flash. Make the project pong.

I'm in Canada. I'm not mocking the outsourcing regime, I'm saying what I've seen. People are not happy over the quality of code they get from things like iGate. They're getting better, but if they can beat the cost, who will the mangers hire? Some guy in india who will be cost-effective, or some guy here who needs 50+/year? If you're writing the same low-quality code, why shouldn't they hire an outsourcing agency? I'm not poking fun, this is a serious trend. As it stands today, there are very few reasons to not hire them:

a) quality of code,
B) they don't understand the accent [I have first-hand witnessed managers say this]
c) "not sending money over-seas"
d) You want to have the guy in the same building

These agencies are getting better all the time, and what is your market value over them as a software engineer? I don't have any spite here, and I haven't lost a job to india. I know programmers who have because they can't deliver and their code is awful.

Back on the topic of having fun, you're right. Learning should be fun and I missed this point all together. I still think the concepts are important, but I haven't seen anything out there that is easy and fun.

QBasic was "easy" for me, and it was fun because I was a huge geek child. What's cool and hip for kids these days?

This post has been edited by 0xFF: 12 December 2009 - 05:34 PM

Was This Post Helpful? -1
  • +
  • -

#10 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Programming for kids

Posted 12 December 2009 - 07:44 PM

I don't really believe in teaching children to program. If they aren't yet competent enough to learn a programming language like Java, Clojure, C, or Haskell, I wouldn't bother trying to teach them anything yet.

I'll never really understand how dumbing down programming really helps anyone.

And for heavens sake, this is just my opinion. Let's not get into an interargument over this. :\
Was This Post Helpful? 0
  • +
  • -

#11 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Programming for kids

Posted 12 December 2009 - 08:38 PM

View PostRaynes, on 12 Dec, 2009 - 08:44 PM, said:

I don't really believe in teaching children to program. If they aren't yet competent enough to learn a programming language like Java, Clojure, C, or Haskell, I wouldn't bother trying to teach them anything yet.

I'll never really understand how dumbing down programming really helps anyone.

And for heavens sake, this is just my opinion. Let's not get into an interargument over this. :\


How are children learning different from older people learning? I know this one guy who just didn't get how to program, threw gotos around like some thing that throws lots of things. Emailed me every day after I quit asking me for help. Ugh. FYI, he was in his 40s and taught security standards.
Was This Post Helpful? -1
  • +
  • -

#12 JamesConley  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 19
  • View blog
  • Posts: 341
  • Joined: 09-March 09

Re: Programming for kids

Posted 12 December 2009 - 11:03 PM

Whoever's job it is can close this thread.

All the kid wants to do try some shit out. He is 9 so like any kid, other than you to geniuses he will not want to or be able to understand java or any other high level language.

Forget I asked for sources because it seem like its always a problem to ask a simple question without some bullshit opinions. You two couldn't even use your opinions to answer my question or send me in the right direction for this kid. You gave me your opinion on programming, which no one asked for.
Was This Post Helpful? 0
  • +
  • -

#13 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Programming for kids

Posted 13 December 2009 - 07:24 AM

I'm sorry you didn't like it, I just felt there isn't anything designed for young kids to keep them interested and keeping the right balance in learning. I had suggested QBasic, ActionScript, and Javascript.

I also suggested that GameMaker was awful.
Was This Post Helpful? 0
  • +
  • -

#14 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Programming for kids

Posted 13 December 2009 - 07:57 AM

Here,
http://www.hit.ac.il...36_projects.htm
Was This Post Helpful? 0
  • +
  • -

#15 Raynes  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 611
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: Programming for kids

Posted 13 December 2009 - 10:12 PM

View Postjpconleyiv, on 12 Dec, 2009 - 10:03 PM, said:

Whoever's job it is can close this thread.

All the kid wants to do try some shit out. He is 9 so like any kid, other than you to geniuses he will not want to or be able to understand java or any other high level language.

Forget I asked for sources because it seem like its always a problem to ask a simple question without some bullshit opinions. You two couldn't even use your opinions to answer my question or send me in the right direction for this kid. You gave me your opinion on programming, which no one asked for.


Well sir, you need to calm down. If you ask for opinions, guess what? You're going to get opinions. I just don't believe in teaching kids bullshit. I'd rather wait until they are old enough to learn something that isn't bullshit. If you want to teach the kid bullshit, go for it. I don't care. I was just offering my opinion.

I think the problem here is that you didn't get the opinion you wanted. I don't appreciate vague, unjustified insults.

You asked what the right direction for this kid is? I told you what I think the right direction for this kid is. Age and maturity, and THEN code. That's my opinion.
Was This Post Helpful? -1
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2