How To Get a Game-Obsessed Teenager Into Coding?
looseBits writes "I have a friend whose 14-year-old son spends all his time gaming, like any normal teenager. However, my friend would like to find a more productive interest for him and asked me how to get him into coding. When I started coding, it was on the Apple II, and one could quickly write code that was almost as interesting as commercially available software. Now, times have changed and it would probably take years of study if starting from scratch to write something anyone would find mildly interesting. Does anyone have experience in getting their children into programming? How did you keep them interested if the only thing they can do after a week is make the computer count to 10 and dump it on the screen?"
Get them started on the classics.
Living With a Nerd
Coding isn't something someone else chooses for you, it's something you choose for himself. And it has NOTHING to do with him being a gamer. Relating "He likes to game" with "He will like to code games" is no less absurd than relating "He likes to game" with "He will like to be an electrician." Gaming and coding are two completely different things, only tangentially related by the thinnest of connections. At the very most, you might tell him that there is code behind his game. But if he is 14 and doesn't know that, he's probably too stupid to ever be a coder anyway (well, he might still be qualified to code for EA).
My advice? Politely tell your friend to ask his son what *HE* wants to do with his life. If the kid's answer is something reasonable (i.e. not "rap star," "sports legend," or "professional gamer"), then your friend should help the kid explore *that* profession, and not just assume that he's destined to be a programmer just because he likes to game. Programming is not the kind of thing you get into because some putz friend of your father's goads you into it.
Ironically, when I got into coding, my parents tried to goad me *OUT* of it (because I would code for hours at a time and they wanted me to at least go outside). Now that is how you know you're meant to do something!
SJW: Someone who has run out of real oppression, and has to fake it.
Find a game with good modding potential, and show them what they can do. The early ID games were where I started my programming, with simple scripts. Once you learn you can change things, the next thing is creating new things.
Velociraptor = Distiraptor / Timeraptor
I can't believe I'm doing this, but it has to be said:
Have you considered Crysis?
Android and iPhone OS's are the new Mac's and Windows back in the day. Get him an Android Dev Phone 1 (http://developer.android.com/index.html) or buy any of the cheapo androids out on ebay and have him start learning the API. It's awesome, easy, and he can create some really nice looking apps pretty quick. It's a great way to get someone excited about programming in this day and age.
Tell your friend to man up and be a father. My son and I are building a custom case for a file server for the house, I have no art skillz but he does. Keeps his appetite for tech up without him doing the brain drain in front of the tube.
FYI - normal teenagers do not spend all their time gaming
Self Defense - A Human Right www.a-human-right.com
Get him into game modding. If the kid plays WoW, the modding community is great, and it was the only thing that made me endure the game for a year. WoW uses LUA, which is a great and easy to use language, couple with XML for interfaces and data transfer.
Another option is creating mods and maps for Civilization IV. With Civ V coming this year, with even better modding potential, this is really worth a shot. Otherwise, try to check what is writable for whatever the kid is playing. Coupling the gaming experience with the more "productive" time codding, is his better shot.
--- "When you gotta do something wrong. You gotta do it right. (Fighter)"
Get him one. See if you can find local clubs where they have competitions involving mindstorm and what you can do with them.
If you can invoke the inner gamer's competitiveness in him while taking up mindstorm challenge, you have introduced him to first steps of coding. Next wipe mindstorms firmware off it and load the java firmware.
Writing software requires a peculiar temperament. One must enjoy solving puzzles, be relatively immune to repeated assaults by frustration and failure, and be willing to sink your teeth into a problem and not let go until you've solved it. Then there's the whole 'thinking logically' and breaking bigger problems down into a structure of smaller nested problems thing. Some folks just can't do it. Their brains simply do not work that way. If the kid in question isn't already curious about programming, I'd bet money he won't ever be. It's not something like encouraging him to take up playing the trumpet.
Calm down already, it's a 14-year-old. Give him a chance to try it at least.
I found the social alienation and awkwardness of adolescence was a huge factor for me, but that might be a bit old-skool. :-P
Lost at C:>. Found at C.
There's nothing "special" about a person who writes code. They've simply learned how to adapt their minds around the way that a computer solves a problem. Sometimes, having to go through this exercise means that you get new insights into the problem. That's why I'm a professional programmer. Other times, it's just a dull drag to get'r'done.
Until I went to college, I was "self-taught" in programming. I learned a lot of cool, new things in college, and I learned a heck of a lot more when I started producing code for money. I have the "knack" for it. But you know what? When I look back at code I wrote even a few years ago, it sucked.
Why?
For one: programming is an art, and well, practice makes perfect. That said, everyone sucks when they start.
But the other one, and Joel Spolsky says this rather concisely: it's easier to write code than to read it.
Discouraging people from becoming programmers because you don't want to fix their bugs is just about the lamest argument I've ever heard. Bugs happen, man. If we had a magic formula for writing software, guess what? We'd write software to write software. No one gets it right.
If he's been doing it for a week, and he's destined to be a coder, there's nothing you an do now to stop him.
OTOH, if he isn't going to pursue it and take it to the next level himself, he'll never be a coder. The most important point about good programmers is that they must be able to solve their own problems (that is, at its heart, what the job is), they have to be able to teach themselves, and they must do this continually for the rest of the their lives, or at least as long as they're still coding. If they don't have the ability and the drive to teach themselves, they will never be a good coder and it's a very bad idea to try to force them into it.
"Convictions are more dangerous enemies of truth than lies."
Part of being a parent and raising your child is making use of available resources, including discussion forums, to get information about your child's situations and possible ways of dealing with them.
When someone says, "Any fool can see
I really think that Borland C++ Builder is a great way to start, because you *start* with a GUI designer, and add event-handlers, and eventually extend funtionality.
It's a really easy way to lower the bar and you could get some simple UI-based games up & going with a minimal amount of (non-generated) code.
It's way too late.
The time to get someone interested in coding was when it was possible for them to sit down with a computer and a copy of Compute! magazine, type in a game program source code, and then play the resulting game.
Without the tie in between coding (work) and the reward (gaming), the coding doesn't become fun, unless you are already bent in that direction.
That level of game, where you are pushing 8 bit pixels around, is, frankly, no longer interesting. At the time, however, it was state-of-the-art, and you could get your head around it easily because it didn't require a lot of abstract complexity to modify the programs. In fact, you usually typo'ed typing in the program, and it didn't do what you expected, so you learned to compare the source with what you had put in the machine, and got some debugging skills out of it and a working game as the reward. Constant exposure to this type of thing, and you can't help but absorb some of the syntax and code flow understanding necessary to take the next step and make the bad buy look different than they way the original programmer intended. Or change the game logic to the point that the game play is different, or you're getting huge scores compared to your friends because you did the right button/joystick sequence early in the game and activated the "cheat mode" you built into it.
Those days are pretty much gone. There is a very large divide between a small amount of ability and an interesting result, because the state-of-the-art has moved on, and there's now a big divide.
I find it really ironic that the most valuable programmers you can hire these days pretty much come from places where their idea of interesting is one generation back because the hardware and software they had to play with is one generation back, and they have a decade difference between our "old school" and theirs.
-- Terry
I think anyone who spends a lot of time on games past about 16 years needs some help growing up. The need to play so much indicates (to me) that they don't have enough interesting, more important things to think about.
I think you may want to check the main target demographics for every $300+ console since the PS1.
Also, "important" is subjective. Unless you're the president, the pope, or a nobel prize winning physicist, chances are the stuff you're working on that you think is "important" is probably not worth a hill of beans to the rest of humanity at large.
It's a subjective argument, of course - but being a parent means trying to guide a child to make decisions that will give him or her a good, rewarding life.
Personally, I think I wasted far too much time in the 90's watching TV and playing games. I don't blame anyone for the decisions I made, but it really makes me think about how I want to approach the whole thing when I have kids. I love playing games, and I want to build an arcade machine and play more games. But I also recognize that games are killing my free time, even standing in the way of other things I want to do. For that reason, frogzilla's perspective resonates with me. As much as I like gaming I feel like it's unhealthy to get drawn into it too much. I don't want that for my kids.
As for "important" - I build models, and my wife is an artist. Neither pursuit is "important to the world at large" - and sometimes I wonder if what I do isn't even sufficiently personally rewarding. But I believe it's important to develop active interests as opposed to passive interests. Enjoying work that others have made is fun but I believe it's important to learn to make your own contributions as well. Otherwise, you're just a slave of sorts - hanging forever on that next episode, the next playoff, or the next new release. Making things yourself is more challenging - and probably more expensive - but the potential rewards are greater as well.
Bow-ties are cool.
Just because he plays on a computer doesn't mean he has any sort of knack for programming.
Better than coding might be buying him an X-acto set, some Duco Cement, some Testers paints, and some various model kits - a rocket, plane, boat, car, etc. Mix it up and get him a four-channel R/C setup and let him tear some s#!t up!
Building stuff you can play with is immensely rewarding and not confined to coding games (or other programs).
Hell, even something really useful like a carpentry class. My school system had them starting in 8th grade.
I enjoy my regular trips to the toilet thoroughly. Every time I feel relieved afterwards and I tend to go several times each day.
Doesn't mean I want to install toilets for a living.
Just because the kid wants to play games doesn't mean he wants to make them.
Quite honestly, if the kid wouldn't get excited about his first ever computer program counting to 10 and dumping it on screen, then perhaps he's not the type.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
You really think he spends all those hours in his room gaming?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."