Advice on how to help an 11 year old start programming...
-
Lego Mindstorm?
Todd Smith
I agree with Mindstorm. Teaching kids about programming/technology HAS to be play-based. Legos are very play-based (if you like them, of course). I have volunteered with several classes that teach programming to kids and very few seem to grab their attention because they start with teaching "this is a variable, this is how you assign a value, and at the end of the class when you've slogged through all this stuff, you'll get to do something fun with it." Most of the time the end-of-class project was something the kids never wanted to do in the first place. It has to feel like you're playing the whole time you're learning programming. For myself, when I'm having the most fun programming, I feel like I'm playing with a computer, not working on it. If you don't start with PLAY, it feels like WORK, and if it feels like work, then I say go play soccer.
-
Python? Smalltalk (thinking of Squeak)? Smalltalk was originally designed (in part) to use in teaching children programming.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Oh
I think Logo or Turtle was the language used to teach children programmimng. That what was used when I was working at LHS at Berkeley during the mid 70's. Smalltalk was more of an instrumentation control language, however it would also could be used for robotics. RC http://en.wikipedia.org/wiki/Logo_(programming_language)[^]
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
Wow! Thank you all for your suggestions! I have until Monday to formulate a gameplan for her son and a lot of ideas to suggest. As always, you all really came through for me. - Matt
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
HTML, CSS and javascript. cheap as free and runs in any browser. tutorials at http://w3schools.com Basic game: Image object, move it around, give it behavior at some point in the playing field. For more (advanced) ideas, google Chrome Experiments
-
no offense here, IMHO, an 11-year old should concentrate on 11-year-old things like sports, fitness, reading, and playing outdoors with their friends. a child has only a limited amount of time to be a child there is plenty of time later on to start "programming". i am stunned how education professionals are pushing "technology" (i am using the term loosely here) into the classroom without any thought to the negative effects it has on education. for example, when i was in high school we learned chemistry using a slide rule. when i was even younger we learned to use tables to perform trig problems, square roots, and the like -- because these methods were not as easy as using a hand-held calculator (they were not invented yet), we had to learn even more math -- interpolation. my generation was responsible for the creation of many technologies you use today, and we definitely didn't have or even need to learn programming even in high school. everyone learned the fundamentals starting with assembly language, and we are still around writing code in ANY language and on ANY platform. this is not anecdotal. this proves that a solid foundation based upon reading, writing, mathematics, and science is essential and specialization at such a young age is unnecessary and takes valuable time and educational resources away from building the necessary foundation. we can't continue to water-down mathematics, physics, chemistry, and even our own english language in our schools -- and replace education with specialized learning topics that can be mastered much later in life when they are more necessary. i hope i didn't offend anyone here, but i am very passionate about this. where i live, for example, the geometry curriculum has been destroyed. kind regards to all,
David
The OP said the kid wanted to learn programming. So, to assume he is being "pushed" is a little harsh. I picked up my first C book when I was in grade 6 (exactly 11 years old, incidentally) because my friend (also 11) got into programming and got me intruiged. In 3 months I read two 1500 page C books and I was programming 3d games in DOS (in case anyone is wondering, the book was "The Black Art of 3D Programming" by Andre Lamothe, which was an AWESOME book). I was instantly hooked and I haven't looked back since. I'm a bit biased, but I'd say getting into programming early helped immensely in developing my brain in a direction that now enables me to soak in new technologies/languages/etc very easily. I'm not sure I would be as good a developer if I started when I was 18. With that said, I was an odd child. You can't expect a kid to have the same reaction to programming as I did. But if he ends up loving it, then great. And with all that programming, I still had time to do gymnastics, train in Karate and win 3rd place in the World Karate Championships, and socialize with my friends a-plenty. It's not always a bad thing, especially if the child is in fact "pulling" and not being pushed (although a gentle push is generally good for kids). I wouldn't trade my childhood for anything.
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
I wouldn't recommend any of the other solutions that have been suggested. You will have kids running screaming into the night, figuratively speaking. I have taught kids to program, with a lot of success. Start with something simple and free that is graphically oriented. Kids love making stuff happen on the screen. Currently, I'd suggest Microsoft Small Basic, which is designed as a first programming experience for kids. Adults like it, too, and it's free. If that goes well, then Lego Mindstorms is a good next step, at a cost of a couple of hundred bucks. Don't start a kid on it, though. Until they have some idea of what the programming 'game' is all about, it can be very daunting. Hope that helps!
David Veeneman www.veeneman.com
-
I agree with Mindstorm. Teaching kids about programming/technology HAS to be play-based. Legos are very play-based (if you like them, of course). I have volunteered with several classes that teach programming to kids and very few seem to grab their attention because they start with teaching "this is a variable, this is how you assign a value, and at the end of the class when you've slogged through all this stuff, you'll get to do something fun with it." Most of the time the end-of-class project was something the kids never wanted to do in the first place. It has to feel like you're playing the whole time you're learning programming. For myself, when I'm having the most fun programming, I feel like I'm playing with a computer, not working on it. If you don't start with PLAY, it feels like WORK, and if it feels like work, then I say go play soccer.
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
Get a Lego NXT so he can do robotics and programming. Join with (or start) a local FIRST Lego League team www.usfirst.org/what/fll. There you can use the mindstorms language (sucks) or RoboLab (LabView for Legos). Outside of FLL you can download all sorts of langauges for use C, Java, Logo, Forth... Go to a summer camp (FIRST, programming...) Download and use game programming tools from Intel and Microsoft, they're free and some are at fairly high level and suck the kids in because it's a game. Search for other kid tools online: www.alice.org There are tons of resouces available online but search locally too. Jay
-
Small Basic[^] is a good way to get started.
I didn't get any requirements for the signature
Good advice and he will be "brain dead" by 15. It's VB.Net for Dummies. Forget the language; He should learn the concepts of software development and then he can code in any language. Programming is like shoeing horses, once you learn how to do it properly, the horse becomes unimportant.
-
I am using the most modern one there is[^] and have no intention of installing additional ones.
Hey, Nemanja, here was I thinking you were an anti-MS zealot. :)
Kevin
-
Start him out with C. That's truly the best way to get the kid ready for real programming.
Totally unsuitable as a first programming language.
Adam Maras wrote:
get the kid ready for real programming
Rubbish. C is just a particular type of language (oriented to systems programming). Other languages are just as "real." Best to start with something higher level and more productive and then delve deeper later. That's also the approach Stroustrup recommends for learning C++ btw. Start from the high-level (in the context of C++) concepts then drop to the low level later on.
Kevin
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
I'd recommend a basic language, whoever suggested using 'C' must have been trying to put him of. There is a demo version of a programming language called Blitz Basic which has a very supportive community and comes with a number of example pieces of code for you to crib from. What more it allows manipulation of 3D objects from very simple commands, which is probably a little more gratifying than seeing "hello world" in a terminal window from C. Here is a link to the Blitz3D product: http://www.blitzbasic.com/Products/blitz3d.php ;) there is a product called Blitzplus which is a simpler version (no 3D element), both the products have demos available to download from here http://www.blitzbasic.com/Products/\_index\_.php Lego mindstorms can be gratifying, but I'd wait until he is 14 or 15 before opting for this..... I've used it in conjunction with a HNC in BIT and trust me, Blitz3D is a lot more gratifying for the level of effort that needs to be exerted.
Keep on coding
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
Maybe have a look at Alice[^] (from Carnegie Mellon University) as an introduction to programming concepts. "Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web." Demonstration videos showing the basics of what you can do with Alice are located here[^]
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
My son started with Lego and moved to Mods on YouTube for a Battlefield game and now creating his own games on Microsoft XNA with a USB connected controller. He reviewed Microsoft Popfly too. I think he got XNA through www.DREAMSPARK.com. Mary
Just Mary
-
Check out Scratch, from MIT Media Lab - it is a visual programming language that will quickly give them all the concepts. It's possibly targetted at slightly younger age group but even an 11 y/o is going to quickly get a lot of fun out of it.
-
I was talking to my sons soccer coach last night before their game and my vocation came up. She said that her 11 year old son wants to learn to program computers, and asked if I had any advice to help him get started. What would you have said? He has an interest in robotics and games. To my knowledge he has zero programming experience or training. Something cross platform and very inexpensive (free) would be best. Instant gratification with a simple 'install' process. (I may be underestimating his abilities. I think he's pretty smart.) Ideally, my involvement in this wouldn't extend past the initial push in the 'right' direction. Thanks for the advice!
-
Basic stamp kit[^] from Radio Shack. 11 might be a bit young for this but if he's motivated and thinks he may be in to robotics it just the ticket. You get a load of stuff for the money -- led display, blinky lights, sensors, switches and dials... I think you can also get it direct from Parallax via the web. The programming is plain Basic and the book it comes with it is really well done. After the first chapter you'll have a set of blinking diodes amongst a rats nest of wires and chips. Real mad scientist stuff. The initial setup will need some assistance to get the software installed and the com port set up (you will need a USB to serial adaptor if there isn't a serial port on his PC), but after that it is completely self contained. You should get one for yourself too :)
Robert Surtees wrote:
You should get one for yourself too Smile
I should too - I've been wanting to rediscover my electronics training of twenty years ago.
-
Basic stamp kit[^] from Radio Shack. 11 might be a bit young for this but if he's motivated and thinks he may be in to robotics it just the ticket. You get a load of stuff for the money -- led display, blinky lights, sensors, switches and dials... I think you can also get it direct from Parallax via the web. The programming is plain Basic and the book it comes with it is really well done. After the first chapter you'll have a set of blinking diodes amongst a rats nest of wires and chips. Real mad scientist stuff. The initial setup will need some assistance to get the software installed and the com port set up (you will need a USB to serial adaptor if there isn't a serial port on his PC), but after that it is completely self contained. You should get one for yourself too :)
Go and get [squeak](<a href=)[^]"> this is Small talk based. So fully object orientated. It runs as a virtual machine on the major three OS's (Win, Linux and Mac OS X). Running as a VM means your work in your PC should be safe ;) If you are new to Smalltalk (I guess many are) then I can really rocommend the book "Squeak: Learn Programming with Robots" from Apress. Just google it, as I think there is a free version somewhere on the net. my thoughts on other languages mentioned: If you go the BASIC or C route the kids will just learn procedural programming an then have a hard time if they have to understand Objects. Assembly: It's really good to learn this (but you really have to want to). On modern machines It is very hard to accomplish anything to get and keep an 11 year old's attention. Python is also a good place to start along with a few libraries such as Pygame. It is a small and powerful language, and easily understood, with a good level of programmer interaction, so you can easily take code apart. Also it is universal (Win, Linux and Mac OS X). But overall I would recommend Squeak, as it is very usable out of the install (aka box) and grows with the user to become what they want. Just remember if you were a kid starting out programming what would you want? I think something simple to achieve results quickly, so as not to get disheartened, but powerful to grow with you as you learn. ATB