Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How To Get a Game-Obsessed Teenager Into Coding?

Soulskill posted more than 4 years ago | from the apps-and-addons dept.

Programming 704

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?"

Sorry! There are no comments related to the filter you selected.

Same way you get your kids interested in gaming (2, Insightful)

Pojut (1027544) | more than 4 years ago | (#32380628)

Get them started on the classics.

Re:Same way you get your kids interested in gaming (1)

n1ckml007 (683046) | more than 4 years ago | (#32380998)

boot disks... that's how I got interesting in modifying files.

Lego Mindstorm (2, Insightful)

mrops (927562) | more than 4 years ago | (#32381058)

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.

Re:Same way you get your kids interested in gaming (5, Funny)

elrous0 (869638) | more than 4 years ago | (#32381148)

10 PRINT "FUCK"
20 GOTO 10

You don't (5, Insightful)

elrous0 (869638) | more than 4 years ago | (#32380630)

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!

Re:You don't (4, Insightful)

denmarkw00t (892627) | more than 4 years ago | (#32380796)

Or be qualified to run Activision?

But yeah, like OP says, you can't expect him to want to code just because he loves to game. Some of the best advice ever that I hope every parent/parent-to-be out there takes from the comment would be

Politely tell your friend to ask his son what *HE* wants to do with his life.

It took my parents years of coming around to this - they tried getting me into sports and music (I do love music, just not what I wanted to be doing back then) before finally realizing that I wanted to work with computers, both in hardware and software, and that their best bet was to support me so that I could grow up to do something I love, not something that they wanted me to do or hoped I would do. It's fine and dandy to explore different interests with your kids, but if you don't consider what THEY want then you're just being a jackass, no matter how good your intentions are.

Re:You don't (4, Insightful)

Max Romantschuk (132276) | more than 4 years ago | (#32380818)

Coding isn't something someone else chooses for you, it's something you choose for himself.

I wholheartedly agree. I've been coding for ten years now, and all my experience tells me it's a calling. Either you want to and you'll find a way, otherwise you'll never "see the light".

I've worked with coders who should never have been coders. They had the mechanical ability to produce syntax, but not the creative spart to take it to the level of art.

Re:You don't (4, Interesting)

elrous0 (869638) | more than 4 years ago | (#32381034)

I've worked with coders who should never have been coders.

I was in a programming class once and a fellow student asked me how I had solved a particularly difficult programming problem we had been given. I excitedly told him how I had come up with a clever solution that I was particularly proud of and about how I had awoken my roommate jumping up and down with delight when I did it. My fellow student just stared at me blankly, clearing not getting why I had been so excited at coming up with a unique solution to the problem. And that is when I knew that I was meant to be a programmer and he wasn't.

Re:You don't (2, Interesting)

Pojut (1027544) | more than 4 years ago | (#32381186)

I had a similar thing with cars. Figuring out how to fit this part onto this car, or trying to figure out what's making that weird noise, or bending a custom exhaust out of a straight piece of pipe for a car that didn't HAVE an exhaust system on it as a guide...the whole idea of figuring it out propelled me.

The same thing applies to my current job with mail merge programming. I absolutely love it when a client requests something that I not only haven't done, but something I never even considered doing. The challenge is what makes it fun. I dare anyone to name something as emotionally satisfying as facing a seemingly insurmountable problem...and then finding a solution.

Re:You don't (2, Insightful)

DeadDecoy (877617) | more than 4 years ago | (#32380826)

I agree with most of your post but I still think the kid could be fostered into coding if they were given some exposure rather than a generic 'what do you want to do with your life' question. My best suggestion along those lines is to see if the kid fiddles with map makers (e.g. from valve or blizzard) or show them some small programs in openGL or pyOgre where there's some immediate feedback to the work they put in. Again, the poster is right in one sense, coding is hard work, and if the kid doesn't have a predisposition to that, then it ain't going to happen in the near future.

Re:You don't (1)

Peach Rings (1782482) | more than 4 years ago | (#32381110)

A teenager probably won't have a predisposition to hard work, but fun exploratory studying while a student isn't supposed to be hard work. Contrary to TFS, it's easier than ever to get started programming, like in Python. If he's even remotely conscious he'll be a user of the internet, and PHP has a strong pull for new programmers because it can do cool things on a platform that everyone's familiar with.. the ins and outs are very easily inferred from what you see in the web browser. Fundamental stuff like GET/POST form requests and sessions being based on secret token IDs (implying the statelessness of HTTP, although he won't know it in so many words) show up right in the address bar. It's a quick jump to realizing that you can send Content-type:Image/PNG or whatever and discovering a world of wonders in procedural image generation with easy-as-turtle GD functions. All of this stuff is staring him in the face, and if he doesn't notice and explore it on his own when he's young then he "probably" doesn't have the curiosity to teach himself (be successful).

Re:You don't (1)

mlawrence (1094477) | more than 4 years ago | (#32380834)

I agree! If it takes him a week to code something simple, he either doesn't get it, or he is not interested. I had open heart surgery in 1983 (age 13) and I could do nothing for 12 weeks but read. I fell in love with computers and started coding like crazy. Gaming is fun, coding is work. Let him chose what he wants to do.

Re:You don't (0)

Anonymous Coward | more than 4 years ago | (#32380848)

This. Don't listen to everyone else below rambling about game mods and simple problems and the like. Just because they like to game doesn't mean they'll even remotely like modding games, let alone consider the programming aspect anything but a huge nuisance. I suspect most average game modders just copy and paste code anyway, and that's a great way to learn how to program the wrong way.

Re:You don't (0)

Anonymous Coward | more than 4 years ago | (#32380912)

Gaming can mean many things, as well. Politics is a sort of game, and the politicians we all love to hate are gaming the system.

Inevitably, true gamers do dabble a bit in coding because they want to understand more about what really happens behind the scenes, and yes, it is a healthy outlet to turn his natural talent into something constructive.

I say go for it, and try and get him to create a mod for half-life or hl2, that's probably the easiest and cheapest option and can be very fun.

Re:You don't (0)

Anonymous Coward | more than 4 years ago | (#32380976)

I got into programming because I liked to game. Many gamers admire the people who create the games that mean so much joy to them. But I was raised with a PC and had to solve all MS-DOS memory problems etc. myself. I cannot see console-gamers going my way.
My father wanted to teach me programming once, but instead of showing me a Hello-World, he gave me a rather boring book about Common Lisp in a foreign language I did not speak at this point in my life (English). That wasn't the best approach. A few years later, I started coding, teaching myself with resources found on the internet.

Super Mario Land, Monkey Island, those games made me. Back then, when I saw the credits starting with the Lead Programmer, I knew that's gonna be me someday.

Today, I am a Lead Programmer and enjoy my profession, although my software is rather boring.

Re:You don't (1)

BagOBones (574735) | more than 4 years ago | (#32381006)

I agree, you want it or you don't.

In my collage first year over 50% of the students left the program as they had no clue what they where getting into. Only those with real interest and understanding made it to the end.

Re:You don't (0)

Anonymous Coward | more than 4 years ago | (#32381022)

"Dilbert - The Knack" is appropriate here. http://www.youtube.com/watch?v=FlJsPa6UwcM [youtube.com] This video explains it so even said gamer can understand. Either you have it or you don't. Gamer-lamers playing WOW all day long sure don't have it!

Re:You don't (1)

ildon (413912) | more than 4 years ago | (#32381158)

I'd like to add that being a gamer and being a coder are completely independent. It's a bit like thinking a great football player could engineer a great stadium or come up with a great new sport. I'm not saying it's impossible, just not really any more likely than a non-gamer.

Re:You don't (0)

Anonymous Coward | more than 4 years ago | (#32381204)

Kids like funny stuff or making things move. Start with IF THEN statements that will make a monkey scratch its armpit if the number 7 is hit....?

How do you get a kid to play football? (1)

Spazmania (174582) | more than 4 years ago | (#32380646)

How do you get a kid to play football? You take them outside, throw a football to them and ask them to throw it back. If they like it, they do the same thing with their friends while you're not around.

How do you get a kid into coding? Guess.

Re:How do you get a kid to play football? (4, Funny)

Mordok-DestroyerOfWo (1000167) | more than 4 years ago | (#32380758)

How do you get a kid into coding? Guess.

Mind altering drugs?

Re:How do you get a kid to play football? (1)

Kjella (173770) | more than 4 years ago | (#32380930)

Only if you want your code on the daily WTF.

Re:How do you get a kid to play football? (1)

JonJ (907502) | more than 4 years ago | (#32380972)

Mind altering drugs?

Creating software while influenced of LSD could never be any.. Oh wait.

Re:How do you get a kid to play football? (1)

localman57 (1340533) | more than 4 years ago | (#32380994)

How do you get a kid into coding? Guess.

Keep him from interacting with girls?

Re:How do you get a kid to play football? (4, Funny)

El_Muerte_TDS (592157) | more than 4 years ago | (#32381008)

How do you get a kid into coding? Guess.

Take them outside, throw an exception to them and ask them to throw it back?

Re:How do you get a kid to play football? (1)

gstoddart (321705) | more than 4 years ago | (#32381180)

Take them outside, throw an exception to them and ask them to throw it back?

Well, you also need to teach him that you don't need to throw every exception you catch. ;-)

Re:How do you get a kid to play football? (2, Insightful)

gstoddart (321705) | more than 4 years ago | (#32381154)

How do you get a kid into coding? Guess.

I found the social alienation and awkwardness of adolescence was a huge factor for me, but that might be a bit old-skool. :-P

Well (0)

Anonymous Coward | more than 4 years ago | (#32380650)

Modding games, of course. Anything Unreal-based is a good start with principles of inherited member objects and such, which is all the rage these days.

However, don't ever go HL2. Source is absolute Hell. With a capital H. Anyone who tells you it's the easiest to work with has no idea what they're talking about.

Re:Well (1)

spazdor (902907) | more than 4 years ago | (#32380968)

Though I agree with the comment further up about how this whole thing is ill-advised and how a gamer is not the same as a proto-coder, I also want to second this.

Unreal coding is an excellent way to get your feet wet, in an environment where you can achieve cool, rewarding effects pretty early in the learning process(A simple 'gravity mod' is about four lines of code!). Not to mention Uscript's strong resemblance to Java makes the skills pretty instantly translatable to other applications.

Re:Well (1)

FrankSchwab (675585) | more than 4 years ago | (#32381184)

This.

I think most of the people in this thread don't remember well what they first did on computers. For me, it wasn't creating things from scratch; that's too hard when you don't have the foggiest idea what you're doing. That would be like saying you learn music by starting out with a blank sheet of staff paper and an idea for a symphony.

I believe that most programmers started out modifying something existing - for me, it was University of Texas Super Star Trek and Crowther's Adventure. Before that, it was Lunar Lander on my TI SR-71 programmable calculator. It was easy (once you found the code) to change it, modify it, and see instant results in a sophisticated environment. For others, it might have been typing in BASIC games on their Apple II or C64, and modifying them to make them work differently.

Once you have the background as to how programs work, it becomes so much easier to realize a program that you conceive and implement yourself.

Or, you find that you really couldn't care less about doing this kind of work.

Modding an existing, interesting game - two thumbs up.

Mods (5, Insightful)

apoc.famine (621563) | more than 4 years ago | (#32380676)

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.

Re:Mods (1)

Mordok-DestroyerOfWo (1000167) | more than 4 years ago | (#32380814)

I remember cutting my teeth on the Starfleet Command series, and of course the modders favorite the Civilization series. By kid's standards both series are playable today (I know some of us still bust out the old 8 bit consoles but not many 14 year olds do so).

Re:Mods (0)

Anonymous Coward | more than 4 years ago | (#32381026)

I suggest Neverwinter Nights. Not only is the whole game engine designed for the express purpose of allowing people to design their own adventures, but the coding language it uses is C. If he's going to learn to code, he might as well learn a useful and relevant language.

Re:Mods (1)

Zaphod The 42nd (1205578) | more than 4 years ago | (#32381036)

Mutators for the Unreal series of games are like mini-mods, and they're how I cut my teeth as a game programmer. I tried learning Visual Basic on my own, and at first I found the book I was reading to be WAY too slow, so I skipped ahead. Then there was all this stuff I didn't understand, because I skipped ahead. Finally I took a CS course in Highschool and they forced me to a fixed curriculum, and I will NEVER forget that first "eureka!" moment where I began to understand the true concept of object-oriented programming, and it was just off from there, I was hooked.

But I definitely wanted to program games, and 1 student simply CAN NOT program a modern video game. Thats like saying that a kid could build a house by himself; no, he can't. So build a shed or a birdhouse instead. I played lots of UnrealTournament, so I wrote some mutators that used unrealscript and just modified a few exiting things, rather than complete changes. It was easy, fun, and there was a quick turnaround to see what I did being used in-game. Thats awesome. Either do that, or try making simple games like pong and pac-man, thats fun too.

Re:Mods (2, Informative)

Xzzy (111297) | more than 4 years ago | (#32381092)

Wish I had mod points (har har, no pun intended), because this is the way to go.

Get him into a FPS that has an active mod community (TF2 would be my pick, but it's far from the only option). Even just making maps for these games is a start.. scripting game events with entities in Quake/Source based games requires a lot of if/else logic and it's a very roundabout way to get someone thinking like a programmer. From there, they'll probably want to make new guns. This will naturally lead into making mods, which require "real" programming.

Other games that might work is Civ 4, WoW, or X3. All three have great support for mods via a scripting interface.

Addons or Mods (1)

SillySnake (727102) | more than 4 years ago | (#32380684)

Try to get him pointed towards an addon or mod for whatever game he plays. If he writes something successful he'll start to spend more time maintaining that than playing. If he does it as a project with you or some of his peers it'll be more fun.

LUA scripting in WoW (0)

Anonymous Coward | more than 4 years ago | (#32380690)

Teach him how to write addons for World of Warcraft in LUA scripting

Give him a really crappy computer..... (0)

Major Blud (789630) | more than 4 years ago | (#32380694)

Back in my day, I had to hack up my underpowered 486 in order to get Doom to run decently.....knowing the ins-and-outs of what drivers to exclude from my autoexec.bat and config.sys files in order to have enough memory to run it. I learned a good bit about memory and learned quite a bit ;-) Of course, most hardware today is powerful enough to run most games without hacking....

Re:Give him a really crappy computer..... (2, Insightful)

DanTheStone (1212500) | more than 4 years ago | (#32380810)

I can't believe I'm doing this, but it has to be said:

Have you considered Crysis?

Re:Give him a really crappy computer..... (2, Funny)

Major Blud (789630) | more than 4 years ago | (#32380880)

I said "most" games.....Crysis is a benchmarking tool, isn't it? :-)

Re:Give him a really crappy computer..... (1)

SuperScott3000 (1324855) | more than 4 years ago | (#32380898)

Back in my day, I had to hack up my underpowered 486 in order to get Doom to run decently.....knowing the ins-and-outs of what drivers to exclude from my autoexec.bat and config.sys files in order to have enough memory to run it. I learned a good bit about memory and learned quite a bit ;-) Of course, most hardware today is powerful enough to run most games without hacking....

Same. My first real computer was a 486. I didn't have the required RAM to run Decent, my most favorite game of all time. I figured out how disable the memory checking and was able to run the game at home.

Re:Give him a really crappy computer..... (1)

localman57 (1340533) | more than 4 years ago | (#32381030)

Back in my day,

And whatever you do, for God's sake, don't start your attempt to get him to start coding with "Back in my day".

Dump it on the screen (0)

Anonymous Coward | more than 4 years ago | (#32380696)

"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?"

I would suggest starting with some potty-training.

Tackle an interesting problem (1)

vorpal22 (114901) | more than 4 years ago | (#32380708)

Find a problem that he likes, like Sudoku. Then help him think his way through and program a basic Sudoku solver: formalize the process of solving a Sudoku board in a way that a computer could do it, and take advantage of the opportunity to teach him things like backtracking. Work together in a language like Python where code is incredibly easy to write and readable. This will possibly not only get him interested in coding, but help him tremendously with his logic and mathematics skills.

MATLAB! (0)

Anonymous Coward | more than 4 years ago | (#32380710)

MATLAB is great for learning because you can graphical results can be easily produced and the syntax isn't as pedantic as something like C.

Alice (1)

Flea of Pain (1577213) | more than 4 years ago | (#32380722)

This is a great learning tool, uses interactive 3-D models right away, and introduces basic logical structures such as for and while loops, if/else statements, and objects. HOWEVER, this is a very, VERY, basic language and should be used only for teaching and acquiring interest. You can make basic games and movies with it, but as it isn't really text based this may not be a great representation of "real" coding but rather an intro to the concepts. The language is called ALICE [alice.org] , it's free to download, enjoy.

Please, don't do it . . . (0, Flamebait)

PolygamousRanchKid (1290638) | more than 4 years ago | (#32380734)

. . . I hate when I see folks who have no business coding, trying to code. It hurts them, when they realize that they don't have the knack for it . . . and it hurts me when I have to clean up the mess that they leave behind.

Re:Please, don't do it . . . (1, Flamebait)

localman57 (1340533) | more than 4 years ago | (#32381102)

At the risk of going all nationalistic, I believe that this is one of the advantages that companies located in North American and Europe have in recruiting people. In NA/Eur people pick engineering / comp-sci. In Asia, your parents often pick it for you. The result is that a higher percentage of people in the field here have "The Knack".

Re:Please, don't do it . . . (4, Insightful)

TorKlingberg (599697) | more than 4 years ago | (#32381134)

Calm down already, it's a 14-year-old. Give him a chance to try it at least.

Re:Please, don't do it . . . (2, Insightful)

raddan (519638) | more than 4 years ago | (#32381194)

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.

Game mod coding? (0)

Anonymous Coward | more than 4 years ago | (#32380736)

Maybe get him into coding game modifications? Seeing results of coding in games he likes and changing them as he likes. It worked well for me few.. erm.. ten years ago.

Think outside of the box (2, Funny)

aBaldrich (1692238) | more than 4 years ago | (#32380738)

If he is obsessed with games, then you don't have to teach him something he considers useful. Just tell him that coding a linked list will give him 200 exp points.

The way I got started into coding (0)

Anonymous Coward | more than 4 years ago | (#32380744)

It depends on the game that he plays, but if, for example, he plays World of Warcraft, you could start him off with some basic C++ coding and let him know that learning C++ makes learning LUA much more simple, and LUA is what is used to make the mods that he most likely has downloaded, such as threat meters, stat trackers, raid interfaces, etc.

Game Maker (1)

benbean (8595) | more than 4 years ago | (#32380754)

I've had great success with my teenager with Game Maker from YoYo Games.

http://www.yoyogames.com/ [yoyogames.com]

Windows only unfortunately, but excellent. It'll teach simple variables and loops to start with, with instant results, before leading into more advanced coding as his skills and ambition increase.

Logo? (1)

Loki_1929 (550940) | more than 4 years ago | (#32380762)

You can find some logo implementations online. And when he's tired of drawing things with it, move him on to something like Pascal or even Python. And if he's more into the visual stuff, throw C# at him. He'll have working applications in a few hours that can do more than the super basic stuff and there's tons of videos out there to teach him how to do even more.

It'll give him a chance to show his friends something he did. If the games he's playing have APIs, maybe he can throw together something to utilize those APIs to do something that helps him and his friends with whatever game they're into. Eve Online makes a ton of information available security via their API and I know WoW has all sorts of third-party add-ons.

In other words, link coding to what he already enjoys and show him how coding can be useful for doing what he already does, but faster and more efficiently.

Not the correct question (0)

Anonymous Coward | more than 4 years ago | (#32380764)

If they aren't getting a kick out of getting a computer to simply print out some numbers, programming is not for them. Give up yesterday...

Here's an opportunity (1, Informative)

Anonymous Coward | more than 4 years ago | (#32380802)

Try this head fake:

http://www.alice.org/

Basketball... (1)

HockeyPuck (141947) | more than 4 years ago | (#32380806)

I love playing basketball, but I have no interest in working for Spalding, Nike, Reebok or Adidas.

Re:Basketball... (0)

Anonymous Coward | more than 4 years ago | (#32380902)

That's because they'd relocate you to a third-world country. :)

LÖVE is all you need :P (1)

Johann Lau (1040920) | more than 4 years ago | (#32380820)

it's down right now, but when it's not, it's a very easy way to get results very quickly without, you know, wasting your time learning crap:

http://love2d.org/ [love2d.org]

(mod as you wish, I'm posting this now since I might forget later)

Modding. (1)

unity100 (970058) | more than 4 years ago | (#32380824)

Buy him moddable games and show him a few good mods.

Try Flash... (0)

Anonymous Coward | more than 4 years ago | (#32380830)

Ok, so not only do I have experience with kids coding, I am working with a high school kid now as the intern at our office, and I have succeeded in getting him interested. First advice, work with Flash and AS3. Syntax same as Javascript, easy to parse. Tons of books and resources. In 2 months, coming in 2 days a week for 4 hours at a pop, the kid (with my help) wrote a pretty good first game. 2nd point: approach it like the suzuki method. Learn with your kids.

Flash Sucks (0)

Anonymous Coward | more than 4 years ago | (#32380928)

That'll certainly kill any interest in coding. Flash is a piece of shit.

Mobile Programming (2, Insightful)

dakrin9 (891909) | more than 4 years ago | (#32380832)

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.

Re:Mobile Programming (1)

EvilIdler (21087) | more than 4 years ago | (#32381104)

A cheaper option, if the kid actually wants to code, is to just start with a game engine. Unity, UDK are free. Some games can be modded freely (any Valve game, Epic's desktop titles).

Same way you get better lock-pickers: (1, Funny)

Anonymous Coward | more than 4 years ago | (#32380836)

Lock him out of his games with a script that will require his learning to code in order to circumvent.

Smalltalk (1)

fusiongyro (55524) | more than 4 years ago | (#32380862)

Depending on his skill level and interest, I would try Squeak [squeak.org] . Scratch [mit.edu] and Etoys [squeakland.org] work well with younger kids.

Someone else said you can't force someone to program. I agree with that, but people don't always know what they're going to like. Give him things to explore and maybe he will become interested. Try not to be offended if he doesn't.

From someone who's been there (1)

yelirekim (1371387) | more than 4 years ago | (#32380868)

My dad sat me down when I was eight years old with the "Turbo C++ Bible" and had me copy the first example out of the portion dealing with graphics, this changed my life forever, but had very little to do with my dad and everything to do with the fact that I became immediately enraptured with my ability to make the computer do what I wanted. If that facet of programming doesn't have any sway with your son, there is probably a slim chance that he'll self educate (as is mandatory for anyone who wants to program professionally) but there is a trump card that I can think of that might help you out here: mobile development. I bet if you got your son an android device under the condition that he would learn how to develop applications for it it would turn out well for both parties. The main advantage here is that Android development is easy, and you can immediately interact with something on your phone that you've coded, which is way, way, way more engaging than white text on a black console, which is how most people start out. As a parent I'd say you don't have the ability to force your son to be a programmer, you do have the ability to enable him though.

Python ? (1)

parallel_prankster (1455313) | more than 4 years ago | (#32380872)

I am trying to get my nephew starting with programming ( okay not exactly programming but scripting ) on python. Very english-like syntax and very practical uses like auto sending emails for different tasks, logging in to websites etc etc Maybe at some point he will pick up and learn Java/C/C++ etc etc!!

Re:Python ? (1)

ArmyOfFun (652320) | more than 4 years ago | (#32381170)

Speaking of python, check out Panda3D. It's a complete game engine written in c++ and has a nice python API that exposes pretty much everything. It's totally open-source as well (very liberal BSD license).

It ships with a large set of examples, some of which are games.

http://www.panda3d.org/ [panda3d.org]

XNA Game Studio (1)

joggle (594025) | more than 4 years ago | (#32380874)

You can try getting him to install XNA Game Studio (free). You can write some simple games with the first couple of tutorials.

However, if he doesn't really want to program he'll quickly get bored and go back to gaming. But of course, not everyone is destined to be a programmer.

Stop suggesting a plethora of programming language (0)

Anonymous Coward | more than 4 years ago | (#32380876)

Have him start on a game creation suite, like Game Maker, Game Editor, RPG Maker, Construct, etc.

He can make a passable game without any coding, but once he wants to make it more interesting, he'll be throwing scripts in. That will teach him functional coding, which is easier for a novice to sink their teeth into. Afterwards, they may get proficient enough at that that they'd be willing to take a crack at more complex stuff.

Seriously telling him to just "learn python" is about as useful as telling an athlete to just "win the match".

good question for nerds with kids.. (1)

greywire (78262) | more than 4 years ago | (#32380878)

I too grew up with Apple II's and C64's and programming had a certain allure that it just doesnt have now. How does a kid get into this today? I don't know.

The only thing I can think of is that my kid(s) will see that I am doing it for hours a day and wonder, what is so interesting that daddy spends all day doing it?

They have to have their interest sparked first. It has to start with a question.

Kid: What are you doing?
Dad: Well, I am programming. I'm telling my computer what to do.
Kid: Can you make a game?
Dad: Yes. It takes a little while though.

Yes, its likely that games are going to be what gets a person into programming these days. Heck, its what got me into it, even though I don't make games now. Making games is like being a rock star -- very few people get there, but there's plenty of other things you can do.

The fact that a kid likes games doesn't mean they have any interest in making the games. But if they ask, hey how does this work? Then you have something.

Present a surmountable task (1)

eison (56778) | more than 4 years ago | (#32380888)

What worked for me was my dad gave me a copy of Zork and a copy of Quick Basic.
My thought process went:
"This is fun, and doesn't seem so hard I can't even imagine where to start."

If text adventures hold insufficient appeal, some more modern versions of surmountable tasks are:
WoW mods
Neverwinter Nights module
Get the kid hooked on Eve and then make him learn VB to build profit & loss spreadsheets in Excel

Your friend needs to man up (3, Insightful)

birukun (145245) | more than 4 years ago | (#32380890)

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

Re:Your friend needs to man up (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#32381052)

FYI - normal teenagers do not spend all their time gaming

They also need to do "sexting" and masturbate.

MIT SCRATCH (0)

Anonymous Coward | more than 4 years ago | (#32380894)

Look at the MIT Scratch programming lanuage. Free environment for various platforms. Over 1 million projects posted now by kids worldwide.

http://scratch.mit.edu/

Scratch (1)

erik.erikson (1821660) | more than 4 years ago | (#32380908)

The following has been useful in a classroom setting: http://scratch.mit.edu/ [mit.edu]

Re:Scratch (0)

Anonymous Coward | more than 4 years ago | (#32381072)

This is what I've been using to teach "logic writing" to my girlfriends kids.. Aged 7 and 5. It's pretty easy to interact with sprites, so without having to code all of that from scratch you can show how programming logic works.

I don't expect them to be programmers, but I do hope to teach them that like creative writing, there's a way to write using logic.

Karel the Robot! (0)

Anonymous Coward | more than 4 years ago | (#32380920)

Just like the intro high school courses.

Well, sourceforge has a list of 1000+ games (0)

Anonymous Coward | more than 4 years ago | (#32380926)

Well, sourceforge has a list of 1000+ games, and you can easily find a project where work has halted.
Like phaos for example. If you don't get a reply from the maintainer at all, just fork it.

choose an interesting problem to look at (1)

roman_mir (125474) | more than 4 years ago | (#32380934)

Maybe the way to do this is to choose a problem that can be seen as interesting and then to go through coding up a solution for it together, concentrating on the algorithm of-course.

The problem surely is finding an interesting topic. When I taught myself coding I didn't have anything better than doing it to create computer games, the kinds of games that people played on Atari or Commodore or Sinclair or Spectrum computers about 25 years ago (goddamn, that was long ago).

I didn't have anybody to pose a more worthwhile problem for me to solve, so it progressed for me from simple games (which I wrote on paper, since I didn't have a computer), then I got my hands on a great Assembler book and became interested in doing the same thing but better, with my own graphics libraries, low level interrupts etc. Then I wrote tools to manipulate files, to cut them, to sew them back together etc. Then I wrote my graphics editors, text editors, calculators, language tutors even a rudimentary spreadsheet to keep track of the spending in the family, we even used it.

I think you need to choose a subject, be it an engineering problem, a physics problem a math problem, something about learning languages or writing tools, I don't know what kind would be interesting for a child that old, then build a solution together.

My experience (1)

marianomd (1518677) | more than 4 years ago | (#32380946)

When I was 12 I asked my dad to buy me a ColecoVision [wikipedia.org] to play games, but instead he bought me a Spectrum clon, which shipped with BASIC.

It wasn't until my first BASIC lecture at school that I got attracted to programming. After it I went home to try the code I had just learned. I think you can't force him, he already has the tool... what about the lecture?

Get him hooked... (1)

Jaysyn (203771) | more than 4 years ago | (#32380954)

Get him hooked on a game that has it's scripting system exposed to the user.

Just off the top of my head:

Any Infinity Engine game (i.e. Baldur's Gate)
Neverwinter Nights &/or NWN2
Dragon Age
The RPGMaker series of tools

The thing is, if the kid doesn't have an urge to create as opposed to just consuming, it doesn't matter what you expose him to. If you don't have the creative urge, you just aren't going to be interested in coding.

Commodor 64 emulator (1)

RichMan (8097) | more than 4 years ago | (#32380964)

A game in one line. Clear the screen go to the bottom, type RUN. Use shift to move your ship left and right and avoid the rocks scrolling up from the bottom.

0 poke 32788+pos,65; pos=pos+2*(peek(151)&1)-1; print tab(rand(36)),"XXX"; if peek(32788+pos) ==32 goto 0

Actual constants and statements may be slightly off, it is years since I went into stores and typed this and and quickly played games on the sterile display model. It was practically the same code on TRS-80s as well.

Another good short one is the animal guessing game. But a C64 emulator and box of old Commodore or Computes magazines should keep them busy for a while.

Test the Waters (3, Interesting)

KantIsDead (976477) | more than 4 years ago | (#32380990)

As others have said, if a 14 year old kid is forced to do anything they will hate it. However, I think it would be fairly easy to test the waters to see if the kid might develop a genuine interest in programming.

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.

Game Modding (4, Insightful)

Leafheart (1120885) | more than 4 years ago | (#32381038)

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.

VPython (1)

wanerious (712877) | more than 4 years ago | (#32381040)

My 14-year-old has expressed a mild interest in programming, so I'm going to load up VPython for him to try. The language is easy to learn, and he can make things "happen" on the screen very simply. It's a first introduction to watching what happens in loops, conditional statements, and then graphics terms like textures, polygons, and lighting. Sounds like a perfect introductory mix. I would have loved such a thing when I was getting started.

10 REM Hello World in BASIC (1)

PNutts (199112) | more than 4 years ago | (#32381054)

10 REM Hello World in BASIC
20 PRINT "Hello World!"

Also, please teach him to hate Java and Flash. I'd consider it a personal favor.

You do not choose software. Software chooses you. (2, Insightful)

gregor-e (136142) | more than 4 years ago | (#32381084)

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.

scratch (1, Informative)

Anonymous Coward | more than 4 years ago | (#32381090)

I would try introducing him to Scratch http://scratch.mit.edu/

getting teenagers into codeine is easy (0)

Anonymous Coward | more than 4 years ago | (#32381098)

If you leave it in the medicine cabinet, then they will find it and start to do it unexpectedly quickly.

- Emily Litella

Reciprocity (1)

XiaoMing (1574363) | more than 4 years ago | (#32381120)

A lot of people who are 'obsessed' or 'addicted' to gaming are in it for the reward system. It's almost arguable, but also pretty obvious considering how so many games have managed to successfully up their replay value simply with the addition of "achievements" that reward a player for doing random crap.
Of course, life has its own reward system as well, but those that are more responsive (read: susceptible) to instant and simple gratification generally take to games very well (especially RPG's).
If those are the types of games he likes to play, I would suggest looking for programs/contests that reward a person for learning writing programs.

A great *dip the toes* example are those "hack this website" type games, where you keep getting more and more links, with progressively more intricate and involved puzzles to get either a password or a link to progress in the game. Some levels involve tweaking a Flash program, some involve looking at the HTML, and some levels you're trying to find a bug in some javascript or something.

http://www.hack-test.com/ [hack-test.com] is an example of such a game.

The next step would be to integrate this artificially constructed rewards system to better align itself with reality. Look for an event similar to google's Summer of Code program, but maybe on a more local or attainable level (once again, it would have to be a relatively simple task with a reward involved, not yet something every other coder on earth knows about and wants to win). (Hell, given how much programming he's learned, this might be where you'd have him look for something called a "job". Money is a ridiculously good bonus reward if you already enjoy the puzzles you get to solve on a daily basis).

Essentially, you might have to put in a bit more effort to make programming look like a game, but ultimately once programming becomes easier, the tasks become more effortless, and the rewards become more self-motivated and possibly even... "rewarding".

Anyway good luck! And don't forget to work some exercise into it too ;)

Gaming vs Programming is like Apples vs Oranges (1)

houbou (1097327) | more than 4 years ago | (#32381132)

Playing games and wanting to program are 2 different things. Heck, using a computer and wanting to program are certainly NOT related. So, if you want to know what is a good way to get to introduce your kid to programming, see if he's even willing to learn to program and if he had a choice, what would he want to do? (meaning what type of program he would want to write) so, if it's a no, stop wasting your time. Truth is, in my honest opinion, all kids should know some basic form of programming, at least the concepts such as loops, conditional statements, etc.. You never know when it can useful, but anyways, I digress here. Try and get him to do something cool in JavaScript at least, as a starting point, tons of online tutorials, all free! :) Assuming he truly is interested in programming, then then let his ambitions dictate which path he should take. Once you know what it is, then research to see the best way to get there (meaning the topics to learn and the order in which he must learn them). But don't assume that playing games is the way that leads to programming.. That's like saying that because I love to drive a car, I also love to fix them and/or build them. So wrong :)

Maybe start from MIT's "Scratch"? (2, Interesting)

j-beda (85386) | more than 4 years ago | (#32381136)

If he has any interest in creating something (game, interactive story, animation, etc.) it might be worth having him check out "Scratch" from MIT.

My pre-teens have played with it a bit - it can be pretty fun, and one can see how it introduces a lot of coding thoughts.

http://scratch.mit.edu/ [mit.edu]

"Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.

As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively. ...."

XNA Studio 3.1 (1)

willtate (1821672) | more than 4 years ago | (#32381150)

I would look into installing Visual Studio C# Express 2008 and XNA Studio 3.1. This is a completely free setup for a Windows environment that has some incredibly easy examples and walkthroughs. http://creators.xna.com/en-US/ [xna.com] Your child can have their first 2D game up and running in a day. This will help build confidence and make them want to learn more on their own.

"It's too hard now to do anything interesting" (1)

Gorobei (127755) | more than 4 years ago | (#32381174)

I'm fed up with this lame argument. Sure, you can't create a commercial quality game in a week, but you can write cooler, better, software than at any time in the past.

Hell, yesterday I wanted to explore some ideas about optical flow and motion tracking. Downloaded ffmpeg, wrote 120 lines of python, and now I'm making movies that pretty clearly show if my ideas are good or bad. In the old Apple II world, I'd still be at the "get a sprite on the screen" stage after 48 hours.

If the kid wants to write code, find him some hackers to talk with (user groups, local uni, etc) they'll show him the tools and he'll go wild. If he doesn't want that, well, bummer, let him play video-games (most people are not hackers.)

Gold Farming (0)

Anonymous Coward | more than 4 years ago | (#32381188)

Gold farming.. or grind-scripting or whatever the kids call it this day. Making bots.

Anon

cheat (0)

Anonymous Coward | more than 4 years ago | (#32381196)

show him he can make hacks to troll people.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?