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?"
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
How do you get a kid into coding? Guess.
Mind altering drugs?
"Never let your sense of morals prevent you from doing what is right" - Salvor Hardin
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
I may be too old, but I think the father can test the waters with his kid in a similar fashion to how I was introduced to programming: simple programs in simple programming languages. In school I was walked through "Hello, world" in BASIC and found it interesting. There's something there in the quick feedback between coding and running the code that will either trip something in the kid's mind where he is interested in this or he isn't. I say start with BASIC, Pascal, or Java, something relatively easy. Start with simple, pre-done programs that offer a quick reward for the beginning programmer. If it sticks to the point where the kid starts reading and experimenting on his own, then great. If not, hopefully the father will be open enough to explore other possible interests with his child.
I would be worried that the father would try and throw the kid into the deep-end of the pool right away, in which case the kid is going to develop an aversion to programming. Start simple with some basic flow-charting and some basic programs. Maybe get some electronics kits to see if hardware appeals more than software.
One note. As the youngest of three sons, I programmed on my own and in conjunction with a few friends. Generally speaking, until the news media starting hyping programming as a great career opportunity none of our parents seemed particularly interested in what we were doing so long as our grades were decent and we weren't getting in to trouble. Whether its programming, playing basketball, or anything else, so long as the father takes the time to participate in the activity with his child and encourage the child to pursue his interests (other than pro-gamer), I think good will come of it.
How do you get a kid into coding? Guess.
Take them outside, throw an exception to them and ask them to throw it back?
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)"
Calm down already, it's a 14-year-old. Give him a chance to try it at least.
10 PRINT "FUCK"
20 GOTO 10
SJW: Someone who has run out of real oppression, and has to fake it.
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.
If he's the type to play games, nothing can compete with the fun of a video game. You don't know what you're up against. People literally, literally, abandon their lives for World of Warcraft. Life isn't very fun you know, especially for a teenager (treated like second-class citizens, zero assets and completely dependent on parents, most available jobs border on psychologically unendurable, plus all the stresses of trying to figure out what the world is all about etc).
Give him the choice between: A. Writing pseudocode to mow a yard and see if *you* can "execute" it; or B. Mow the yard himself. Bonus: Either one can generate a living wage.
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
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
Tell him under no circumstances is he allowed to program. Should work with most teenagers.
I have the same issue, with 12 and 13 year old sons. programming is a unique frame of mind and not everyone finds it as pasionate. I recently taught the oldest how to create domains and gave him access to a webserver and he is obsessed with coding html. ( www.kirkster.ky and www.simster.ky ) Dont know how much of it is original or just cut and paste but it looks impressive. With the other, being a bit more focused and detailed, i started building a graphics engine from scratch, and included him in the entire process, with the intentions of adding physics, collision, joints etc for a virtual robotic workbench, the trick here is to merge programming with something the kid finds rewarding, not just raw programming for programming sake. Its not structured but it does jump start the process.
NOOOOOOOOOOOO! "GOTO" is EEEEEEVILLLLLLLLLL!
while (1) {
print "FUCK";
}
This is the age where boys seem to be "lost" the most, and parents seem to get the most concerned about them.
I work with boys (save the jokes), and I've seen it happen in several cases, right around this 13-15 age range. They suddenly find something they're interested in, and they just DO it.
In one case, it was a kid who just suddenly found video games boring, and moved on to photography and writing. He's very creative, and he found this very rewarding.
My own son; was a Guitar Hero monster. And I told him (joking): "if you spent this much time playing a REAL guitar, you'd be a really kick ass guitarist, instead of just beating your friends at a video game that will be obsolete in 2 years. Which do you think you'll be thankful for, when you're my age?"
He sold his xbox360, and all his games, (I miss Halo 2. . . ) and instead of spending 6 hrs a day playing video games, he plays his guitar for 6 hours a day. And he's pretty amazing. Even if his dreams of rock stardom don't work out, he's going to have a skill and a developed talent he's going to use the rest of his life.
So - don't "push" him in any direction. But DO expose him to other things. (I think it helps if some of the exposure happened before video games came in). He'll push himself in whichever direction works for him.
My armchair-psychologist idea of why this happens, is they're still searching for an identity. They're trying to figure out who they are. You can also make them somewhat accountable for the decisions they make too. (ie. there are consequences to spending all your time on video games. . . failing at real life).
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
I'm unclear on whether this dig at the end of your otherwise reasonable post is flamebait, or if I misunderstand what you mean be 'a lot of time', or if I just completely disagree with your premise. I'm far past 16 years old, and I still play games on my PC and consoles. Not every evening, not every weekend, and not the number and variety of games that I played when I was much younger. But still, regularly enough that I consider myself to be a 'gamer' when I buy PC hardware. I look forward to certain releases, like Fallout 3 or Assassin's Creed 2. I've got plenty of interesting, important things to think about. I have a full-time job in software development, and I'm starting graduate school in the fall. For me, gaming can be a fun way to relax in the evening. I don't feel compelled to think about interesting, important things at every waking moment. Do I need some help growing up, or can I spend my free time on the pursuits of my choice?
Lesson The Second:
10 INPUT "What is your name? : ", U$
20 PRINT "Fuck you "; U$
30 GOTO 20
It's a free and open-source Quake-like FPS. Usually the progression goes like this: Playing -> Mapping -> Scripting -> Coding. I've seen that progression played out several times in the community and myself (full disclosure: I moderate the forums and Quadropolis.us, the primary source for maps, mods, etc.).
Mapping is done in real time and in-game. A mere tap of the E key will switch between editing and playing, so you can see and test what you're doing immediately.
It's also designed to be light on resources. I use the (very underpowered!) open-source radeon driver to drive my Radeon X1600 Pro, and I can get a consistent 30 FPS with the eyecandy barely dialed back.
For a little more detail, here's the description from cubeengine.com:
NOOOOOOOOOOOO! "GOTO" is EEEEEEVILLLLLLLLLL!
Just the opposite. Far more kids were interested in science and programming back in the days when the chemistry set could burn or blow your fingers off, and the use of unprotected GOTO's, peeks, poke, and global variables could crash your computer a zillion different ways. Choosing safety has taken all the fun out of play.
Teach the kid how to program in BASIC. Bill Gates and Woz can be his role models. What teenage kid has heard of or wants to be Djiskstra?
I think anyone who spends a lot of time on games past about 16 years needs some help growing up.
Which, presumably, would not be true of people who spend their time reading books, watching films, playing golf, etc..
The old "my leisure activity is superior to your leisure activity" nonsense, eh?
The need to play so much indicates (to me) that they don't have enough interesting, more important things to think about.
Oh. So is this more the "leisure activities are a complete waste of time" variety of nonsense?
Mod parent up. Not everyone has the mindset for programming.
Having said that - if you can't build your own engine - maybe get him started on modding?
Wait! Whats a sig?
Okay, so I see your post above, talking about how you'd rather be a 'maker' than a 'consumer'. And that's fine. Obviously, you can't be a maker all the time. You probably live in a house that someone else built out of materials that someone else produced using machinery that someone else made... etc. And that's fine. Most of us don't make everything we have from basic principles. Relatively few people probably make anything at all, outside of the requirements of their job. But it's not a bad goal to have, to be creative and productive in your free time.
What I take issue with, though, is saying that reading a fiction book is 'just' entertainment. Is there nothing we can learn from fiction? I studied creative writing as an undergraduate student; required to be a good writer is to be a good reader. In that sense, as I consume fiction, I'm strengthening my own base of experience for composition. And I'm not a writer who thinks that genre fiction is necessarily all rubbish. I certainly think we can learn from, say, a Dan Brown book, even though he doesn't have the canonical blessing of Dickens or Thoreau or Homer, or whoever. It doesn't mean we should emulate him, but any experience is an opportunity to learn.
And that's really my point: it's not about whether or not fiction is a frivolous use of time, it's that there are a lot of things out there that people scoff at as being 'just' entertainment, but all of these things have something to teach us. Consuming and experiencing the works of others, even in areas that we don't traditionally think of as high art, are vital parts of the creative process.
Would any of us remember Warhol if not for his inspiration by such otherwise utterly mundane things as Campbell's Soup? Where would Lichtenstein have been without comic books, which are, even today, derided as a waste of time?
Entertainment is only 'just' entertainment if you learn nothing from it and refuse to be creative, yourself. Like it or not, video games and fiction are a large part of our culture. Our immersion in this culture informs our creative choices. If we spend too much of our time consuming, it interferes with our own expressions of creativity, and that's a problem. But I don't think you should feel guilty for spending an afternoon at a book, as long as you possess the analytical ability to take something from the experience. And if you don't have that ability, you probably wouldn't feel guilty about it, anyway.
You know....I think once you start being concerned with "So much time wasted" when you were younger, you may be taking yourself too seriously (unless you seriously had a gaming/other problem). In my high school/college years I spent a lot of time playing video games, playing D&D/strategy board games, playing basketball, fishing, and getting fucking wasted. None of those activities are really helping me succeed in life, but I ENJOYED them.
I guess if you intend to be the worlds greatest coder/golfer/singer/whatever you need to start early and spend an inordinate amount of time focused on your goal. The rest of us who just want to enjoy life and work at a halfway decent job are going to have time to fritter away. If I had spent my youth simply preparing for adulthood I would be a lot more disappointed in myself.
You and TFA are talking about completely different things when you say "beginner programmer". You mean someone with maybe 6 months university-level tuition - hell, in my course we didn't cover Dijkstra's algorithm and A* until I think third year. TFA is talking about 'beginner' as in 'a program is a series of instructions'. Speaking as someone who wanted to learn to program since I was about 12, I made several attempts to get started and found it way too boring each time. Once I typed some old games into our BBC Micro from a magazine but I had no idea what the code meant. It wasn't until I was about 16 that it 'clicked' and I started understanding how to code.
As for teaching yourself to program as a teenager, that's the one common aspect among all the people I know who are truly good, 'natural' programmers. We all taught ourselves. And that's what I'd say to TFA: Don't try to 'make him interested', let him develop his own interest. Don't stress if he's not writing FPS games at 12. The absolute best way to make anyone hate ANYTHING is to nag them into doing it.
Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.