Stop Imposing Programming Languages On Kids
the-reviews.appspot.com
the-reviews.appspot.com
My father gave me a bunch of Turbo C diskettes when I was 8 or 9, and said nothing other than "give it a shot" and smiled. There was no pressure there.
And after I "broke" his computer a few times (one time, I installed some fighter pilot game which broke autoexec.bat, primarily the PATH and PROMPT variables, so I couldn't find anything), he got me a computer of my own, and left me to my own devices. Throughout the years, he would give me random IDE installers (Turbo Pascal, Visual Basic, etc) with no expectations.
He still smiles.
He still smiles.
And he should. He did a good job there.I firmly believe in giving children room to explore, and never telling them that something is "too hard". But it's a long leap from "this is how I did it" to "we're doing it wrong".
I also question the idea that only some kids can/should learn how to code. A computer is not a saxophone or a snail. Today, computer illiteracy is a disadvantage; tomorrow it'll be a handicap.
And just like kid-sized pots and pans and screwdrivers, some languages are easier for kids to grasp. Going from DOS to QBASIC to C worked for the author; that was the stuff that happened to be installed. Nothing wrong with laying other "toys" around too.
- but I don't want to go... I'm busy with Ruby right now
"No excuse, we've discussed this before. And when you're done with your Java homework you can go back playing with your trains and Rails."
- awwww.... sob
I have a 10 y/o girl and she's learning Python (we're following the Hello World book - www.helloworldbook.com) and it's fun to follow, and she enjoys seeing the effects of the changes in the programs to see if they still behave as she expects them to.
I think it's much more important to observe that pattern rather than just discarding a particular language just because it may fix a specific mindset.
Why not let kids get into programming through curiosity or simply a desire to make things?
It's possible I never would have become a coder if a teacher hadn't given me a brief intro to Basic when I was 11 years old. I took it from there, and was self-taught until college.
With my own son, I introduced him to Scratch, helped him through a few lessons, and then watched as it became his favorite thing to do. I really can't say enough about Scratch as an introduction to programming. It gives kids a simple environment where they see quick results while learning the basics. Just as important, there is a social aspect in that they can easily share their programs with their friends. There does, however, seem to be a need to bridge the gap between Scratch and traditional languages.
So Game Maker is programming and I should have been careful in how I phrased it because I did not want to make Game Maker seem anything less than it is (I am buying her the new Game Makers Companion and a license if she continues with it because I would love to encourage programming in her)
I guess what really sparked my interest was being able to make games, the programs like rpg maker that come with point and click programming languages, all come from that. So I think rather than focusing on the programming language side of it I would focus on the results with kids, if they can script a NPC walking around the map or script interactions/ map changes and stuff, even though it's only a few lines of quasi programming I think that inspires more than simple text based program learning with a text file that can feel daunting, to may possibilities, not enough hand holding.
I could move move walls. Make a pit. Add monsters. Try and make the room outside rather than inside...(fast forward a few months)...combine the unenclosed sectors hack with the no-lower-texture-bleed bug and make passable deep water.
It was fun. And simple.
Fortunately I figured this out right about when people started giving me money to write computer programs. But I wish someone had told me earlier.
As for the interested ones, you 'impose' certain programming languages on kids because 1) they want to learn to program and 2) you need a standardized way to teach. If you want to develop the manner of thinking required to assemble and organize algorithms, making a turtle move around the screen is a fine way to do it.
When my wife was younger (I believe 10?), her father tried to force her to program in BASIC. She ended up hating computers and programming in particular.
It was only recently that I was able to get her semi-interested in programming, but I don't think she'll ever really be interested in it.
Personally, I had a similar experience to that of the original author. I inherited a Tandy1000 from my grandfather, and one of my father's friends was a programmer. He had made a version of Monopoly, and gave us the source code as well as the software. I was curious how the thing worked, and spent my afternoons changing the colors of dice, how much property was worth, etc.