Page 2 of 4

Re: Where should an 11-12 year old Start?

Posted: Sun Jun 14, 2009 4:06 pm
by eatcomics
XianForce wrote:
programmerinprogress wrote:Throw him in at the deep end!

I'm being serious, explain to him WHY you use code to program, and what it leads to, tell him to learn the fundamentals of programming, coach him if you will, let him play around with the console and them drop him into the world of a programming library ;)

when it comes to programming, almost all programming languages follow have similar/the same constructs, I find C++ constructs to be raw and flexible, so I would suggest that you teach him that.

But that's just my opinion, all i'm saying is, I would have LOVED to have had someone to tell me how to set up a C++ compiler, and get me started at age 11, I was very confused about how to actually get started until I was about 14, so being given some simple advice would have been super :)

Well he's used GameMaker stuff. I explain programming to him, but if I throw him in at the deep end, I don't want him to think it's too hard for him at that age, because it's not. Then he'll wait til he's my age to start, then he'll be like me, wishing he started earlier. It's all about him learning the basics to set him up for more difficult stuff like C/C++, C#, Java, etc.

I was thinking maybe a game making language (I think Blitz is one?) But I'm not sure on how difficult that is, never even seen it.

Anyone know how difficult Blitz is? (I think that's the name of it, but I doubt it is, it's probably something similar...)
Blitz is super easy, but it teaches some bad habits, and it's not OO which he might want to learn, I still struggle with OO though... I'd say give him c++ console stuff let him learn the syntax, get comfortable, then throw him into api, if it's too hard then go to blitz it will teach a lot of the theory behind game programming specifically, and after that he will know about c++ and it should be quite easy to start :mrgreen:

Re: Where should an 11-12 year old Start?

Posted: Sun Jun 14, 2009 4:08 pm
by eatcomics
XianForce wrote:Well the goal is to get him used to the basics. He has passion for it, I set him up on Game Maker because I thought it was a good place to start at such a young age (he was like 8). Now he wants to start the actual programming, but Python/BlitzBasic (thanks for the name Innerscope, couldn't remember it for the life of me). Python/BlitzBasic should get his feet wet and teach him the basics, and start getting used to the dev process. I was thinking he could start something that will be more worth while like C/C++, C#, Java, etc.

I'm thinking of just showing him some real real basic stuff in C++, just so he can get an idea of what's going on, and if he handles it well, keep going, but if it's too much for him, take a step back to Python or BlitzBasic.
Yes exactly what I thought :) refer to post above :)

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 3:23 am
by Netwatcher
Most of the people i know don't like BASIC(Blitz BASIC is a BASIC compiler), and what I heared one of them say was exactly what eatcomics just did: "it teaches bad habits".
I am yet to expirience BASIC so i have no personal opinion about it, just giving some info...

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 9:24 am
by programmerinprogress
I have to admit, my answer was a little biased, BASIC was never going to do well when I answered this question :lol:

I just think it's important to show how all of the parts of a program come together, I know for a fact that DarlBASIC somewhat "shields" you from setting up anything, if the person you're trying to teach can set up his own compiler and get a basic program working, just from practice at age 12, he's going to be set for life!

A slow progression from the console to a library sounds to me like the ideal approach (of course you could write him a couple of routines for him to play around with, to get him into the spirit of things, and while he's playing around and implementing your ready-made routines, he's lerarning iteration, control structures and operators)

I'm sure that C++ would be the right option, just as long as the learning was 'supported' i.e. you are there to explain things, and you could write a few "friendly" functions that will get some results (this would allow the user to gain the higher level control that something like blitz would offer, but teaches a middle level syntax because you'll be doing it in C++)

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 9:40 am
by XianForce
Yep. I asked him what HE wanted to do, cause I don't wanna like force him into something he doesn't want to do... But I'm just gonna show him around some basics, and in a couple of days, I'll have him choose/set up a compiler on another computer.

Thanks for all the input guys =D.

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 1:17 pm
by Innerscope
I have to admit, my answer was a little biased, BASIC was never going to do well when I answered this question :lol:
I don't see why that is. BASIC is Beginner's All-purpose Symbolic Instruction Code.

An 11 year old, new to programming = a beginner.
Understanding the basics of symbolic instruction code = not a bad practice.

I'm not trying to be pessimistic or discouraging, but there's going to be way too many roadblocks for this kid to create anything worthwhile in C++.

I guess if the kid doesn't mind making pong and breakout clones for the next couple years, he'll be ok. :roll:
I'm still in favor of giving him tools he can just be creative with and not have to worry about all the technical garbage.

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 1:33 pm
by speewave
if you want to learn programming i really recommend a few things:
[*]Visual Studio Express. Really Visual Studio is the best tools ever
[*]Learn C++! Work your way up, from writing your name in a Command Prompt Box to getting User Input in a 2D Game
[*]Learn Allegro - Allegro is a Programming Library for 2D Games, i've seen 3D games, but not many, Very Easy and a big user base to help you out!

-Later On When your good at programming :
[*]Irrlicht Engine - Powerful 3D Engine ( Very Easy to Use ) - This is a bit later when you Learn things like User Control

Also Some Tips When Programming C++
[*]Read Documentation, and Use Visual C++ ! Trust me this makes understanding code easy (You know what function does what, and how to use it)
[*]Look At Code, Mostly example code (because most example code is small because it is meant to show a specific feature in the code

these last two tips are the tools that will help you become a better programmer!

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 2:15 pm
by XianForce
Innerscope wrote:
I have to admit, my answer was a little biased, BASIC was never going to do well when I answered this question :lol:
I don't see why that is. BASIC is Beginner's All-purpose Symbolic Instruction Code.

An 11 year old, new to programming = a beginner.
Understanding the basics of symbolic instruction code = not a bad practice.

I'm not trying to be pessimistic or discouraging, but there's going to be way too many roadblocks for this kid to create anything worthwhile in C++.

I guess if the kid doesn't mind making pong and breakout clones for the next couple years, he'll be ok. :roll:
I'm still in favor of giving him tools he can just be creative with and not have to worry about all the technical garbage.
Yeah, that's why I'm throwing him into C++, it's the perfect solution to everything. the backup plan is Python. But jumping into C++ will be something where I'll just walk him through everything. I'll just teach him basics and have him create a few console apps. Then I want to give him a little taste of reality, show him that some of the concepts are really hard to grasp. Then I think once he realizes that, he can start learning Python + Pygame and start creating some games to help pave his way towards whatever language he wants to learn next.

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 5:56 pm
by eatcomics
Innerscope wrote:
I have to admit, my answer was a little biased, BASIC was never going to do well when I answered this question :lol:
I don't see why that is. BASIC is Beginner's All-purpose Symbolic Instruction Code.

An 11 year old, new to programming = a beginner.
Understanding the basics of symbolic instruction code = not a bad practice.

I'm not trying to be pessimistic or discouraging, but there's going to be way too many roadblocks for this kid to create anything worthwhile in C++.

I guess if the kid doesn't mind making pong and breakout clones for the next couple years, he'll be ok. :roll:
I'm still in favor of giving him tools he can just be creative with and not have to worry about all the technical garbage.
Why so when he gets older and more knowledgeable and wants to learn c++ he'll be hindered and turned off to the fact that he has to go back to making small pong and breakout clones, when he could make a sweet game in blitz in less time, yet never know he's missing a lot of power and career oportunities, I still use blitz cause I'm not very good at c++ and I now regret that because it's quite hindering...:cry:

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 6:40 pm
by MadPumpkin
i agree w/ InnerScopes first comment... and second for that matter
teach the kid BASIC (NOT Blitz in my opinion) and not Blitz i say, because it damages what people believe is possible in game programming.
For example if you teach someone blitz they're going to always think they can throw functions down at the bottom of the rest of they're code, which i had to get used to NOT doing after learning Blitz

just teach him BASIC its like... easy as hell and you can actually make some useful things in it

ANOTHER ALTERNATIVE, would be to just teach him XNA's C#. Although i don't recommend it over C/++ it is a bit faster (coding) in my opinion because in the 2 days it took me too make simple load, save, render functions for a tile based game in c++
i made the exact same programs... and i do mean the same (graphics) FROM SCRATCH not working off of the other c++ code
and it only took me 1 day

BUT! if you own Flash... teach em ASC its fun and amazing xD

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 6:57 pm
by eatcomics
MadPumpkin wrote:For example if you teach someone blitz they're going to always think they can throw functions down at the bottom of the rest of they're code, which i had to get used to NOT doing after learning Blitz
I know I HATE that... It threw me off so bad when I first started!

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 8:00 pm
by davidthefat
IDK bro, you have to be serious about it, I started at 11-12 too, but its still kind of on and off and start with Algebra and Geometry :lol:

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 8:23 pm
by dandymcgee
I completely disagree with BASIC. Every time I think back to starting off with programming I remember trying and failing to learn C++ at least 3 times. I didn't see a use for such a "complicated" language. If only I had had someone like you to guide me along.

I think with you there to help him through the rough spots in he'll be able to progress just fine. I'm all for you helping him to jump right into C++. If it's too rough or he can't find the patience required to see some really satisfying results, that is when you should considering trying him out with something like Python. How will you ever know his true potential if you don't present him with a problem difficult enough to challenge him?

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 8:34 pm
by XianForce
dandymcgee wrote:I completely disagree with BASIC. Every time I think back to starting off with programming I remember trying and failing to learn C++ at least 3 times. I didn't see a use for such a "complicated" language. If only I had had someone like you to guide me along.

I think with you there to help him through the rough spots in he'll be able to progress just fine. I'm all for you helping him to jump right into C++. If it's too rough or he can't find the patience required to see some really satisfying results, that is when you should considering trying him out with something like Python. How will you ever know his true potential if you don't present him with a problem difficult enough to challenge him?
Which is exactly what I decided to do :mrgreen: We started today, taught him real basic stuff... variables, and started talking about functions a little bit... Then I told him to make a program, and told him what the program should do/accomplish, and he made it. And when he made a mistake, I let the compiler tell him the problem, so he could see what he did wrong, and he did well. The only thing he's forgetting is that quotes go around text that you literally want in the variable/outputted to the screen. But when the compiler catches it, he instantly knows what to do... So he's doing well, his mind will probably explode when we get to pointers and references though xD

Re: Where should an 11-12 year old Start?

Posted: Mon Jun 15, 2009 9:18 pm
by dandymcgee
XianForce wrote:
Which is exactly what I decided to do :mrgreen: We started today, taught him real basic stuff... variables, and started talking about functions a little bit... Then I told him to make a program, and told him what the program should do/accomplish, and he made it. And when he made a mistake, I let the compiler tell him the problem, so he could see what he did wrong, and he did well. The only thing he's forgetting is that quotes go around text that you literally want in the variable/outputted to the screen. But when the compiler catches it, he instantly knows what to do... So he's doing well, his mind will probably explode when we get to pointers and references though xD
That's great! Just take it easy, and worry about it when you get there. It's awesome that he's listening to the compiler and understanding what it tells him instead of PMing the code and the copy/pasted compiler output to someone like Falco asking "Why does this code not work right?". ;)