Jump to content

Teaching children how to program.


Akula

Recommended Posts

I was looking for some simple languages to teach my 9 year old because he's really good with computers and math etc... I started with basic HTML but I wanted him to learn a language that would actually make an executable program. He is digging QBasic.

 

Anyone else have suggestions?

 

http://www.tedfelix.com/qbasic/

Link to comment
Share on other sites

QBasic is awesome. I went way beyond what you learn in college about it in my teen years and did some really cool stuff.

 

Really its probably the best and easiest for a kid to learn. Its very straight forward though I'm not in the loop as to whats out there now days.

 

If you see he's really enjoying QB you should try VB. It'll get more complicated, but if he likes it he'll learn it.

Link to comment
Share on other sites

Here's a single triangle screen saver similar to the one that came with WINDOWS 3.1

I always had fun making variations of these. Once you get down how it works and some

input commands you can make some simple arcade style games.

 

THIS WON'T WORK IN A WINDOWS ENVIRONMENT. It probably has to do with the video memory allocation being so different. You'd likely have to boot to a true DOS 6.2 command prompt.

 

SCREEN 12

CLS

RANDOMIZE TIMER

x = INT(RND * 640)

x1 = INT(RND * 640)

x2 = INT(RND * 640)

y = INT(RND * 480)

y1 = INT(RND * 480)

y2 = INT(RND * 480)

DO

x = x + -1

x1 = x1 + -1

x2 = x2 + 1

y = y + 1

y1 = y1 + -1

y2 = y2 + -1

 

LINE (x, y)-(x1, y1), 14

LINE (x1, y1)-(x2, y2), 14

LINE (x2, y2)-(x, y), 14

 

IF X < 0 THEN x = x + 1

IF X > 640 THEN X = X - 1

IF X1 < 0 THEN x1 = x1 + 1

IF X1 > 640 THEN X1 = X1 - 1

IF X2 < 0 THEN x2 = x2 + 1

IF X2 > 640 THEN X2 = X2 - 1

IF Y < 0 THEN Y = Y + 1

IF Y > 480 THEN Y = Y - 1

IF Y1 < 0 THEN Y1 = Y1 + 1

IF Y1 > 480 THEN Y1 = Y1 - 1

IF Y2 < 0 THEN Y2 = Y2 + 1

IF Y2 > 480 THEN Y2 = Y2 - 1

LOOP

 

I can't remember how I used to make the LOOP break. I used a tricky combo of STRINGS to make it reliable unlike the way it shows in the manual and help files.

 

Blah can't sleep, remembered the STRING though. I used something like this;

 

S$ = INKEY$

DO

PRINT "Press "ESC" to exit"

LOOP UNTIL S$ = CHR$(27) `esc key

 

For some reason making S$ = INKEY$ made the code pay closer attention to key presses so you didn't get lag on slower systems (hehe 80386 processors)

Link to comment
Share on other sites

I would say it doesn't much matter what language you teach him. At this point it's less about learning syntax than it is about learning the processes involved in writing a program. If you can show him how to make a simple flow chart to see how the program will work. Now is the time to start building good habits (like planning a program before you sit down and start hammering away at the keys).
Link to comment
Share on other sites

VB or C++

 

Combine that with the html knowledge and then move on to .NET. I'd hold off on object oriented stuff until he's a little older and has a good understanding on the other things.

 

+1

 

It is a nice start to a future in programming as well, as a hang of a lot of software jobs are looking for .NET with C#.Net or VB.Net. Then combine some SQL down the road. But who knows what the future will bring :confused: I started out with Turbo Pascal and C, man do I feel old :(

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...