• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

beginning programming for a 7th grader??

shackelton

Junior Member
My 12 year old daughter wants to learn game programming. What would be a good starting point for her? My own experience is limited to beginning C# and HTML so I am not much help. Any ideas would be appreciated.:music:
 
Does she have any experience programming at all? Gotta get the basics first of course. I'd say it's important to start her off on C++ though, as if you have her start on something higher level like Java or C# she'll probably get lazy and not like dealing with C++ later 😀
 
You have a rarity, there aren't enough women in programming, you should encourage the interest. Is she interested in the workings of computers or does she just want to produce games quickly? The problem is that you need to do a lot of groundwork before you can write games, and a 12 year old might not care enough to do it... I know there are software packages which allow for drag-and-drop game creation, but nothing too complex is possible. Maybe you should get one of these and encourage her to learn the basics of real programming at the same time.

 
I would say things like BASIC or Python would be a good start. I used to copy BASIC games outta magazines and crap like that when I was that age. Not that thats programming but it definitely doesnt hurt to be exposed to such things at an early age. I also looked at HTML and wrote simple pages when I was 11-12. I don't know game programming but even getting her to make a simple webpage would be beneficial and at least see if she is interested in sitting in front of code for hours.
 
Theres a great book out there i think called "Game Programming for Teens" - it begins with the basics of 2d games and kinda delves into 3d gamnes as well. Its very basic imo and takes little to no knowledege of programming beforehand although a little bit helps.
I started in 5th grade doing hypercard and basic - now I'm a flash developer for one of the largest publishing companies in the world - go figure 😉

My sister who is in the 9th grade started to learn Flash recently and has taken to it really well. You can start out on many different tracks, between animation, or actual coding. Either way there are a TON of tutorial sites and a lot of books dealing with eitheraspect of flash.
 
Don't go for BASIC, it's crap. I can't recommend any particular current language, but get something that is properly structured. If this was 15 years ago Pascal would be one of the best choices as it's relatively easy to learn and is nicely structured, but I'm not sure what the current equivalent would be.
 
Well, as the other posters said, the unfortunate fact is that most non-trivial games require a non-trivial amount of programming knowledge. Here are a couple ideas. Neither of these are games per se, but both are designed to be highly accessible and engaging for beginners. And both are geared more to long-term education than immediate gratification. Also, both are gender-neutral. And free.

1) KarelJRobot. This is a simulator sort of thing built on Java. You write a Java program using classes and methods included with the package, and your program displays cute little robots following your program's commands. I've played around with this quite a bit, and think it's rather nice from an educational perspective (though I'm a math teacher, and not a programming teacher). The package is clearly focussed on teaching - a beginner can start with a drag-and-drop interface that requires no real knowledge of programming at all and progress to using standard Java IDE's to build increasingly complex programs (using inheritance, polymorphism, threading... the whole nine yards). The robot metaphor works rather nicely IMO for explaining most of the big ideas of OOP. However, the package does require a certain amount of Java knowledge to get things set up for the student - the parent/teacher will need to configure CLASSPATH's and such. Nice package.

2) Squeak. I haven't used this personally, but it's also an educational programming package, aimed more specifically at young children than KJR is. It looks like it might require less technical knowledge to set up than KJR. However, Squeak is based on Smalltalk, so compared to KJR it may not have as much to offer long-term. Again, I haven't tried it personally.
 
Have you considered JavaScript? I know it's not a common answer, but it's VERY easy to get started with (you don't need any compilers or stuff like that) and it's pretty easy to do graphical stuff early on. I've done a bunch of things in JavaScript (note that most require Firefox 1.5, some will work on Firefox 1.0, and a small number will work on other browsers - if you get the "slow script warning" on these, just hit continue a bunch of times):
Nibbles in JS
Missile Command in JS
Robots in JS [warning: VERY addicting to play]
Mario in JS (nowhere near complete)

Brute-forced puzzle solutions (4 dogs start on the corners of a square with side-length 1, each one always runs directly toward the dog counterclockwise from it -- how far do they travel before they meet -- watch the page status bar to see the answer)
Reimplementations of interesting screensavers - every so often, one person (square) randomly picks one of its neighbors, and changes its vote to match that neighbor (3 parties are Democrats, Republicans, Communists in the Linux screensaver this is based on.
Cool mathematical patterns - this one is also based on a Linux screensaver and produces results like these if you run it long enough.

I even wrote a simple 3d engine (for the coolest effect, I suggest reducing the quality a few times, picking "Manual Bresenham" and "Filled Polygons")

Starting with an empty HTML file can be difficult, but you could create some wrapper functions for your daughter that save her from writing "document.getElementById()" and setting up the canvas for graphics... I remember when I started learning C in elementary school, my dad wrote a .h file I included that gave me simplified functions to make it simpler to get started.
 
Back when I was in 7th grade (10th now) I started off with the C++ for dummies book and Dev C++. I learned alot. I would reccomend that book for her.
 
I've heard good things about darkBasic -- but have no firsthand experience with it.

I think c++ for a 12yo would turn them off.


I learned decades ago programming an Apple II and TRS80 by typing in short programs from books and magazines.
I think i learned a great deal by going through the motions -- fixing errors -- and eventually getting something that worked well. Then I'd make minor modifications to how it looked, or how things were computed -- and quickly saw the results.

Overall, I think it's important to get quick feedback on what she's working on -- and not get bogged down in the IDE or all the background work needed to get something working.
With that in mind, I kind-of like CTho9305's idea of javascript. There's no complicated IDE, no complicated "compiling" process, etc. If you could find a JS book with small/simple examples of games, that would be a huge plus.
My advice is: don't load pre-typed code from disk -- let her type it. (side benefit... she learns to type! -- which puts her WAY ahead in life.)
 
Originally posted by: CTho9305
Originally posted by: kamper
Originally posted by: CTho9305
Robots in JS [warning: VERY addicting to play]
My god man, you need to put an NSFW on that!
Huh? Why? There's nothing remotely offensive in it.
I know, but it doesn't do very much good towards my general goal of getting stuff done at work 😛

Edit: in fact, it did harm towards that goal today...
 
I personally recommend starting with assembly and working your way up. It's not nearly has hard as some would say it is, and it's a good foundation for windows programming and such.
 
Back
Top