Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.


1680 posts

Uber Geek
+1 received by user: 798


Topic # 95872 15-Jan-2012 12:18
Send private message

I'm a self taught hobbyist/tinkerer programmer and my first introduction to programming was ZX81 BASIC.  I've gone on to become somewhat competent in C++ and can pretty quickly get my head around most other scripting environments.

My son, who is about to turn 13, has shown an interest in IT and learning to program, and even if he doesn't pursue a career in development I believe there is some merit in learning some programming skills.

Given that it has served me quite well, my thoughts are  to start him off learning ZX81 BASIC also.  My rationale for this:
*I've got the environment, a solid emulator that works well (without rampack wobblesTongue Out)
*It's simple
*It's nearly syntax foolproof
*The manual, available online, is a good course in BASIC

I'm conscious of the constraints but I figure it introduces the concepts of variables, string, loops, subroutines, etc.

Before we venture down this track though, I thought I'd come here first and ask for alternate (better?) ways/opinions to introduce someone to the world of programming.




Most of the trouble in the world is caused by people wanting to be important. (T.S. Eliot)


Create new topic
3404 posts

Uber Geek
+1 received by user: 399

Trusted

  Reply # 569071 15-Jan-2012 13:33
Send private message

As you mentioned, avoid languages where you always get syntax errors that are difficult to figure out (*cough* javascript *cough*). If he's just starting are there not "learning" languages which have a really easy to use IDE?





72 posts

Master Geek
+1 received by user: 1


  Reply # 569100 15-Jan-2012 14:19
Send private message

I took Computing Studies last year and my teacher started us all off on Visual Basic. He said that the syntax was relatively easy to learn because every command was made using plain english (American English - so like textbox1.background = [b]color[b].white). The complier is pretty sturdy and if there are syntax errors they make sense and highlight the part of the code that doesn't work. 

Although Visual Basic is not command line based, you can program it without a GUI and used CMD instead. Visual Basic is very simple and there's plenty of help available online. I could even email some of the notes I made for it, including useful syntax and computing theory.
 

gzt

10115 posts

Uber Geek
+1 received by user: 1539


  Reply # 569111 15-Jan-2012 14:41
Send private message

The nice thing about your approach is that working game code is short and plentiful, and he will get good visual feedback from changing things of interest and seeing the effect.

Back in the day typing code into my VIC20 from the games manual taught me good things about syntax and accuracy and severely tested my patience in finding typing errors which is probably what you remember as well.

Ye olde basic on vintage machines has a really nice close to the hardware low level feeling about it which translates well to even lower levels like assembly if he gets interested, and the concepts learned also translate well to things like C pointers, and then the higher level C++ abstractions.

106 posts

Master Geek
+1 received by user: 16

Trusted
Subscriber

  Reply # 569124 15-Jan-2012 15:15
Send private message

Would this be useful?

http://codeyear.com/

6323 posts

Uber Geek
+1 received by user: 390

Moderator
Trusted
Lifetime subscriber

  Reply # 569134 15-Jan-2012 15:50
Send private message

Jump in head first, and be prepared to spend hours and hours on stupid little issues.

The good thing is once you learn from them, it makes bugs easier to get rid of in the future. 



1680 posts

Uber Geek
+1 received by user: 798


  Reply # 569139 15-Jan-2012 16:05
Send private message

Good tips here, thank you all.




Most of the trouble in the world is caused by people wanting to be important. (T.S. Eliot)


138 posts

Master Geek


  Reply # 569249 15-Jan-2012 21:57
Send private message

You could also try Kojo which was designed to introduce children to the concept of programming in an easy to use IDE. It is open source and also only a small download and contains some easy to understand and interactive tutorials. Here is an excerpt from their website.

Kojo is a desktop application that runs on Windows, Linux, and the Mac. It is a Learning Environment - with many different features that enable play, exploration, and learning in the areas of:
  • Computer Programming
  • Math and Science
  • Systematic and Computational Thinking
  • Art, Music, and Creative Thinking
  • Computer and Internet Literacy
 
 

9 posts

Wannabe Geek
+1 received by user: 3


  Reply # 572374 23-Jan-2012 14:36
Send private message

I'd recommend stanfords open engineering.

http://see.stanford.edu/

class cs106a is the best free intro to programming, focussing on methodology rather than syntax.  It's a full course with materials and videos, basically the foundation course at stanford university made public.
http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

The concepts are introduced and explained using an absracted Karol langauge (basically java).

Good luck

Jon 

3363 posts

Uber Geek
+1 received by user: 650

Trusted

  Reply # 572396 23-Jan-2012 15:25
Send private message

when i was young i did some basic, i got excited when i manage to move something across the screen and i learnt i could use a loop and make a border in 3 lines of code instead of 30 or so.

that being said, it was too difficult for me to make a program that did anything, and i lost interest.

i would suggest another route, perhaps a game engine IDE, which is mostly GUI based, but has some programming parts for more complex things. when i was about 11 i got "the game workshop" (i think thats what it was called). basically it was a 2d game IDE, where i could drag characters on screen, design levels, easily hookup actions (move, shoot etc), but if i wanted to do something tricker, like go down a pipe to a basement level i would have to do some programming. i made about 15 games using this. and now im a professional programmer :)

u need to get something where he feels he is achieving something and doing something useful and having fun. not sure if basic or old school programming language would achieve that.

you could go down the C# path, great ide, language has good syntax, easy to make windows applications. but would he have fun making a notepad app or excel app?

EDIT: this may have been it http://www.yoyogames.com/  its been about 15 years, cant remember what it was called exactly...

1447 posts

Uber Geek
+1 received by user: 321

Trusted

  Reply # 572419 23-Jan-2012 16:17
Send private message

You would get a nice introduction to programming concepts using one of the 'make a game' type programs. They have the concept of objects and attributes and all that, and you get an instant reward when you get it right. I used one of these last year, yoyo games maker I think, when my 9yr old wanted to make a game:  http://www.geekzone.co.nz/forums.asp?forumid=72&topicid=58559

3829 posts

Uber Geek
+1 received by user: 234

Trusted

1649 posts

Uber Geek
+1 received by user: 389

Lifetime subscriber

  Reply # 572482 23-Jan-2012 18:25
Send private message

I just read this article on Best Free Ways to Learn Programming which seems to be aimed at kids.

Last Summer holidays, I "forced" my 12 and 13 year old boys to learn Python rather than spending the whole summer on the Xbox and PC. I used an open source manual from a first year course at Otago University. They coped but the lack of interesting visual feedback was a real problem. The good thing was that this year when I told them they had do something useful, one started a fitness program and the other is memorizing useful texts.




Survival of the fittest • 68kg HP Color LaserJet behemoth • 38kg HP Color LaserJet giant • 82kg HP Netserver leviathan - Extinct 2015 • 61kg HP Netserver brontosaurus - Extinct 2010 • 32kg Compaq Proliant goliath - Extinct 2010 • 31kg 21" IBM CRT gargantua - Extinct 2010




1680 posts

Uber Geek
+1 received by user: 798


  Reply # 573277 25-Jan-2012 20:20
Send private message

Thanks. Some great posts here about making it fun and interesting. Just because I thought that (back then) being able to move an ASCII character across the bottom of the screen with the arrow keys was pretty cool doesn't mean he will. Being dyslexic / dyspraxic doesn't help his attention span.

I'll check out some of the 'game' programming tutorials that have been suggested




Most of the trouble in the world is caused by people wanting to be important. (T.S. Eliot)


2439 posts

Uber Geek
+1 received by user: 144


  Reply # 573287 25-Jan-2012 20:38
Send private message

Once he's gotten basic/VB, have him learn python..

Create new topic

Twitter »

Follow us to receive Twitter updates when new discussions are posted in our forums:



Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:



Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:



Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.