Ask Slashdot: Professionally Packaged Tools For Teaching Kids To Program? 107
Binestar writes: I've been doing IT consulting for years, but I'm not a programmer beyond bash scripting, perl scripts to make administration easier, and batch files to make Windows easier. I recently found an online course for modding Minecraft that my 9-year-old daughter is really enjoying (she built a custom sword that shoots lightning). Does anyone have any recommendations on online courses that would be age appropriate and worth the investment? It's been easy to get her interested in the Minecraft modding course because, as any parent with young children knows, Minecraft is kinda popular...
The course she's taking now is teaching her Eclipse and Gimp, and I'm sure there are other tools installed that they haven't had her open yet. What other vendors have stuff worth introducing her to? I've also started looking at things like the Kano and Learn to Mod, but as a non-programmer, I'm not really sure which are most useful for introduction and which are accomplishing what they claim vs. being a waste of money/time.
Anyone have experience or suggestions to help sort this out?
The course she's taking now is teaching her Eclipse and Gimp, and I'm sure there are other tools installed that they haven't had her open yet. What other vendors have stuff worth introducing her to? I've also started looking at things like the Kano and Learn to Mod, but as a non-programmer, I'm not really sure which are most useful for introduction and which are accomplishing what they claim vs. being a waste of money/time.
Anyone have experience or suggestions to help sort this out?
Re: (Score:2)
Hard to beat MIT's Scratch. Free and graphical. (Score:5, Informative)
http://scratch.mit.edu/
Re:Hard to beat MIT's Scratch. Free and graphical. (Score:4, Informative)
I work with a lot of students at my school and I've purchased a few KANO kits. They are great and appeal to kids who want to program and kids who want to make cool cases in woodworking shop... Grab one and try it out. If it doesn;t work, donate it to a local school's computer club.
I also use RPG maker (There is a free version on sourceforge I think) which can be used to make some very elaborate 2d rpg style games.... At first the kids I work with love the mapping and simple switch oriented programming, but after a while, the kids are learning scripting and the logic behind all programming.
But, yeah, Scratch is great too.
Here comes a Karma hit.... (Score:4, Interesting)
I'm guessing that your kids doing this level of programming are not in elementary school, this guys daughter is 9! Good Grief!
Personally I would not even consider trying to get a 9 year old kid into programming outside of school (boy or girl). If she want's to mod Minecraft good for her, but don't pressure her or even encourage her beyond this. 9 years old is an age where kids should be learning social skills and exercising their imaginations. Motor skill development at this age is also important. Teach her chess and play with her, make sure she has social activities with friends her own age, let her get involved in school plays and be in the band, baseball and soccer are other great activities. Sculpting, painting, drawing, reading, Tai Kwon Do, anything but encouraging her sitting in front of a computer for hours at a time.
A game like chess can develop logic skills and planning abilities without the isolation of programming (I.E. Don't dump her off on chess.com and leave her there). Encourage what she should be learning at 9, not what is the most convenient for you to have her learn at 9. Here is a consideration: If your daughter was one of those rare geniuses ready to graduate college when other kids her age are in the 7th grade, you would not be asking the question. She would have picked up C on her own and been programming already, without your assistance.
Re: (Score:2)
We do game night every week. She's taking piano and plays the Trombone. She's in girl scouts as well doing yoga and joining ski club.
She's not isolated in any way. We engage with her every moment she wants to be engaged. I'm not asking her to go to college with these skills, I'm trying to find fun ways of challenging her even more with her current interests.
Re: (Score:2)
Just my 2 cents obviously, but I strongly recommend you keep that up and try to veer away from computers. (obviously computers have replaced libraries for research, and I'm not an absolutist). Challenge her to look at the stars and remember constellation names, challenge her to solve algebra problems on a white board for you, paint a picture of a pony, now in proper colors, now racing, now a lathered horse, etc...
There is this thing lately, a push, that all kids should be "connected" and everyone needs to
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
We limited my son's screen time, encouraged him to read, and I didn't try to push him into anything. He entered college thinking mechanical or electronic engineering. Then, in his first semester, he took an introductory C++ class (bad textbook, though), and immediately changed his major to computer science. Guess it's in the blood.
Check point starvation (Score:2)
As a rule we have limited screen time a lot (30 minutes/day is generous)
So how should people deal with video games that take 75 minutes just to get to the first save point, like Majora's Mask?
Re: (Score:3)
Re: (Score:2)
Re: (Score:3)
So how should people deal with video games that take 75 minutes just to get to the first save point, like Majora's Mask?
Is that seriously a problem for most 9 year olds?
I think the only thing my kids ever did at that age for 75 minutes without a break is sleep.
Re: (Score:2)
I think the only thing my kids ever did at that age for 75 minutes without a break is sleep.
Do you mean like sit (mostly) still for 75+ minutes doing problems in "work books"? The public elementary school my nephew attended required that most days for its first through fifth grade students (ages 6 through 10/11). (The school day was typically lecture/demo/group discussions from 8 am to 11:30 am, with a restroom break around 9:45. Then lunch, Then a review from 12:30 pm to 1:20 pm, followed by a restroom break. Finally, quiet study from 1:30 pm to 3 pm.)
(Additional restroom breaks were allowed, but
Re: (Score:2)
I grew up with computers, starting with BASIC on ZX-Spectrum at age 8. I also read tons of books and was a member of various scientific clubs. Computers are fun and challenging! Why do people think that limiting access to them is good?
Re: (Score:2)
Re: (Score:2)
I was programming at her age (BASIC on some 8-bit computer), and I turned out OK. My parents weren't very happy that I spent many hours a day in front of the computer, but that's what allowed me to have a great job as an adult.
I would just let the girl do whatever she is interested in.
Re: (Score:1)
My dad had a couple of books: "More Basic Computer Games" which is now 1 cent on amazon; and I cant find the name of the other one but I'm pretty sure it was just "Programming Basic". Around the age of 7 I started by transcribing some games, play them, mod them, learn fundamentals of variables and flow control. With nibbles and gorrilas on QBasic I started learning about subroutines. By the time I was 15 I had VB under control so I moved to Delphi which meant learning Pascal, learning about data types an
Re: (Score:2)
I would just let the girl do whatever she is interested in.
No, as a parent you need to keep some sort of balance in kids' lives.
Otherwise, they will just sit around eating junk food and watching a screen all day, and yes I know this is slashdot.
Re: (Score:2)
Otherwise, they will just sit around eating junk food and watching a screen all day, and yes I know this is slashdot.
My daughter did quite well at keeping a balance on her own. My girlfriend and I certainly had a lot of input to our daughter's schedule, but she was the one driving it, not us. She actively pursued out door and social activities, as well as solo activities. Though she tried various junk foods, her preferred snacks were/are "finger friendly" fruits and vegetables (and, sometimes, premium chocolate). She watched very little TV, though did use a computer a lot (mostly for homework, some programming and a littl
Re: (Score:2)
You will also condemn them to a professional life of being under perpetual pressure to overwork, perpetual blame for failing to do the impossible, and perpetual threat of being outsourced. ... Do you kids a favor and send them to get an MBA or license to practice law instead.
Every MBA and lawyer I know is very overworked and expected to do the impossible daily. While the lawyers might be a lesser risk of being outsourced, most of the MBAs tell me they are quite afraid of being outsourced.
Re: (Score:2)
Re:Hard to beat MIT's Scratch. Free and graphical. (Score:4, Insightful)
http://scratch.mit.edu/
Absolutely. And with the code sharing in Scratch 2.0 it also teaches concepts like community code, forking, etc.
Plus there are integrations with Arduino and the like for more comprehensive coding exercises.
Re: (Score:1)
I am sure I will get some kickback on this one, but Tynker [tynker.com] has been great for my 8 year old. It is basically a Scratch 1.4 clone with storyline, challenges and specific lessons/projects.
I'm kinda torn about it as it takes a free product and commercializes it, giving only some lip service to it. However, I figure the storyline and projects and badges system has some added value, and I haven't found similar interest building services available for Scratch. Though if you know of any, please let me know.
As a
Re: (Score:3)
Scratch is awesome, and I've worked with many dozens of kids on it.
The huge conundrum has always been where to go "after Scratch". Python isn't it, because you can't easily share graphical games unless the recipient also has pyGame installed. Javascript hasn't been it for a lack of appropriate on-ramp.
But there's now a free online tutorial system aimed at "Scratch kids" who want to take the next step. http://s2js.com/ [s2js.com] It tutors them through the bits of Javascript they need to know in order to write graphic
Use Gamemaker (Score:2, Funny)
Gamemaker is the only solution. Every True Programmer uses Gamemaker. Why aren't you using Gamemaker? Gamemaker is the best. Nothing's better than Gamemaker. With Gamemaker, nothing is impossible. Without Gamemaker, you are nothing; a mere husk unfit to exist. Return. Return, I say!
Return, return, return, return, return to Gamemakerdoooooooooooooooooooom!
hopscotch on ipad (Score:3)
hopscotch on ipad is aimed at teaching kids to program visually
Re: Don't teach them to "program" (Score:1)
... And see them lose interest before the end of the first sentence.
Re: (Score:2)
Re: (Score:2)
About design patterns: In my own experience, I learned about design patterns only after many years of programming experience. I had already encountered and/or invented all the patterns I later read about. But reading about them was good because it allowed for a common language to communicate with other programmers as well as a kind of self-reflection and ability to think about design patterns more conscientiously and methodically. I'm glad to have learned about these when I did, and not sooner.
It's just fin
Atmel and arduino (Score:2, Insightful)
I would (and will) use these cool chips to build programs that really interact with the world.
It is so easy these days.
Of course then I'm not answering your question at all. There are nice interfaces
to program these, but I haven't used any that are made for kids.
ALICE (Score:5, Informative)
ALICE from Carnegie Melon, http://www.alice.org/index.php [alice.org]
Lego Mindstorms (Score:5, Insightful)
They learn to code and they see interactive results in the real world instead of just looking at a display.
Re: (Score:3)
If she likes it, stick with it (Score:2)
Re: (Score:2)
Kano.me (Score:3, Interesting)
Re: (Score:2)
I do believe between this post and the others saying Kano is good has helped me choose one of her Christmas gifts this year. I'm glad so many here have had good experiences with it.
I actually had something similar happen, as posted in a different response, I have a couple of minecraft servers I run for the girls. One day I went through online minecraft schematics and tossed in a few castles, homes, a roller coaster and a pyramid maze and when they found them a few days later they were amazed. Even more s
It has to be entertaining (Score:3)
I'm afraid I don't have any specific suggestions, but if you want them to get interested in programming, it needs to be an environment that let's them build things that they're already interested in. Generally speaking, that probably means it should be relatively simple to create videogames in the environment you choose. I learned how to program in AppleBASIC on an Apple II+ as a kid, and the very first thing I tried once I reached a basic level of competence was to create a videogame. I've seen this pattern over and over. Even college students seemed to be a lot more enthusiastic about final projects if they had the option of creating games - nearly all of them opted to do so.
Modding existing games is a great place to start, because they're already starting out with something they like, and they can see results very quickly. The downside, of course, is that setting up a modding environment is often rather tricky (depends on the game, of course). Other good candidates are things which affect devices in the real world, such as controlling robotics. Lego Mindstorm comes to mind. Seeing real-world reactions from something you programmed is incredibly addictive.
I've long wished there was a quality multi-media / game development engine (2D would be fine) all in one development environment that contained a lot of sample art assets and an integrated language that's simple, robust, and safe. Many modern development environments are often too difficult to set up, unfortunately, and those "all-in-one game development" packages I've seen have been severely lacking in quality. Granted, maybe there are some good ones out there I haven't seen.
Re: (Score:2)
That sounds like 0x10c, but I know nothing about KSP.
Processing IDE (Score:3)
After being used to more powerful IDEs I was at first unimpressed with the Processing IDE [processing.org]. However, the more I mess around with it, it's not all that bad. It's what the Arduino's IDE is based on and where I was first introduced to it.
I could see it being a very good introduction to programming. Simple interface, easy to set up and tons of examples and tutorials. Write code, click "run".
What does *she* want to do? (Score:2)
Errrm, what does *she* want to do? Make a 3D thingie fly around and shoot hearts at ponies with it? Then Unity 3D is the way to go. Blender will be more useful to her aswell. There are courses for that. Does she want to draw cool graphics? That's easy: Processing. Does she want to build her own robot? Arduino. ... And so on.
Teaching her Eclipse sounds more like torture to me. But then again, maybe you have a fledgling business programmer here - who knows?
At the age of nine focussing on a neat useful interpr
Re: (Score:2)
Very valid question on her desires. Up until I got this course on modding minecraft what she wanted to do was "Play Minecraft". I am strongly of the opinion that my children need not only time to play, but that it's a good idea in general to make that play something that they can build on in the future. If she gets her "Play Minecraft" and I get my "She's learning a life skill at the same time" it's a valid redirection of her energy IMO.
Now Java itself may or may not be a useful skill in the future, but
Re: (Score:2)
Re: (Score:2)
Teaching her Eclipse sounds more like torture to me.
*Not* teaching people Eclipse is torture. It's the single biggest thing Eclipse did wrong.
Turtle Logo! wait, I mean Lua. (Score:2)
As you specifically mentioned that your kid's interested in minecraft, see if they'd be interested in ComputerCraft [minecraftforum.net] which that lets you build 'turtles' that can be programmed to do things using lua.
You can then give her challenges of increasing difficulty to teach her to break things down into steps, and to build on what she's already learned:
... it seems to not be a novel idea (Score:2)
ComputerCraft Institute :
https://github.com/squidsoup/c... [github.com]
http://blog.nocturne.net.nz/ed... [nocturne.net.nz]
https://www.youtube.com/watch?... [youtube.com]
Khan Academy (Score:3)
W3 schools (Score:2)
Program what? (Score:2)
Re: (Score:2)
In this case, anything engaging, which in general for a kid mostly means games. I've done board game design with my kids, having them design a board game that we all play on game night. That was fun, although I found is quite unfair that if you're over 20 years old you start with no rerolls and if you're a girl you get 3 extra re-rolls. The girls of course felt that was perfectly fair...
As I posted earlier in thread, my goal is to take what they enjoy doing and attempting to broaden their focus a bit int
Re: (Score:2)
vi, make, and cc - packaged well enough... (Score:2)
The tools were good enough for daddy, they should be good enough for the kid...
And I did try eclipse and other modern wonders — and have gone back with disgust. Disgust mild, but sufficient to want to wash hands — the shiny new shells smelled of mice, if you know, what I mean.
Some ideas (Score:3)
My first programming language (5 years old, 1985) was Apple BASIC. Online interpreter:
http://www.quitebasic.com/ [quitebasic.com]
When I was in 3rd grade, we programmed in LogoWriter. Looks like there is a web-based LOGO interpreter here:
http://turtleacademy.com/ [turtleacademy.com]
Next, I learned PASCAL.
http://www.compileonline.com/c... [compileonline.com]
None of that stuff is OOP (although imperative is still a very important paradigm).
Once you want to move past kiddie stuff, I'd set her down with a C# IDE (the free-as-in-beer Visual Studio edition or the free-as-in-really-free MonoDevelop) and some YouTube tutorials.
Ceebot series (Score:1)
Re: (Score:2)
I remember something about a package for Squeak called etoys.
Also I was wondering if a HyperTalk clone like LiveCode would be useful.
AgentCubes online for 3D design + programming (Score:2)
Really Excellent Professional Resources (Score:3)
The Mag-Pi, a magazine free to download (28 issues already) , has tutorials for games in both Scratch and Python, and Minecraft - anfd there's plenty of stuff in there that might fire YOU up! http://www.themagpi.com/ [themagpi.com]
Baltie (Score:2)
Pencilcode.net (Score:1)
Re: (Score:1)
Ask other parents in your area ... (Score:2)
If you live in the city, there's probably after school programs or summer programs geared towards kids and computers. Some are technical while others are creative, but most of them provide a mentor who guides groups of children through creative projects. Depending upon your child's personality, she may find it a much more appealing environment.
pygame (Score:2)
If you are willing to teach/learn yourself ...
I just started teaching my 8 year old how to write code. We started with regular python and wrote a text base high/low game (Game where computer picks a number and you guess. It tells you whether you are high or low or if you guessed it). Of course my son was thrilled to add a cheat where it always made him win when he entered his name as the player.
Next, I bought some graph paper, down loaded pygame and had him draw a tank, then figure out what polygons to u
Disney Infinity, Blockly, and Lego Mindstorms (Score:2)
My son, age 11, loves computers so I've wanted to teach him programming for awhile. He loves playing Disney Infinity 2.0 and there is a surprising amount of "coding-light" options in there. (If you step on this switch then this action happens.) He's also gotten to love Blockly [appspot.com] which is based on Scratch. He's also joined his school's Lego Robotics club so he's learning some programming there while using Lego Mindstorms.
Buy the kid a used Commodore64 (Score:2)
Buy the kid a used Commodore64
http://popular.ebay.com/comput... [ebay.com]
Google Sites with Google Apps Script (Score:2)
You can make a free google site at sites.google.com
You can learn Apps Script
https://developers.google.com/... [google.com]
So not only can kids develop in an IDE in a browser, they get their own web site and do whatever they want. I recently started using it and I figured out how to render a ghetto lightbox with images pulled from my flickr feed. I used nothing but google API stuff, UiApp, etc.
Problems not tools (Score:2)
if she wants to learn the web stuffs... (Score:1)