Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Teaching KIDS to program

Author
Message
SpecTre
Developer
23
Years of Service
User Offline
Joined: 24th Feb 2003
Location: UK
Posted: 7th Sep 2011 01:34
Hi there, not been on here for some time. My last visit and coding was in 2003! when I made a kids colouring program called Colour Splash!

Anyway since then my son is 11 years old and I thought it would be a good idea to learn him to program and make a start.

Any ideas on where to start and what to teach so he doesn't lose interest?

Thanks.

Background:
AMOS on the AMIGA!
Lucas Tiridath
AGK Developer
17
Years of Service
User Offline
Joined: 28th Sep 2008
Location: Kings Langley, UK
Posted: 7th Sep 2011 08:08
Great to get them young! I used to run a programming society at my old school which was mostly for year 7 & 8s so 11 and 12 year olds. However I certainly can't claim to be an educational expert in this kind of thing.

My experience was that if your aim is to enthuse people about programming, the "sensible" method of starting with variables and going through sequence, selection, iteration, functions etc in a logical order doesn't tend to work. It all depends on the motivation of course and students who set out to learn to program can achieve a lot this way, it just doesn't tend to engage as much. I suppose what I'm saying is that the satisfaction of programming comes from the feeling of having achieved something. Thus, the fullness of understanding at first and the quality does not really matter. It will come with time.

The best technique I found was to do activities where I led but everyone was able to make their own copy with their own variations. That meant that it was more than just a copying exercise; they ended up with their own unique programs (and sense of achievement), but they didn't have to understand everything I did. As I would explain each technique each time I encountered it, the re-iteration seemed to work. One exorcise I thought worked quite nicely using DBP was making a "digital etch-a-sketch". It can be achieved in around 35 lines of code and demonstrates variables, drawing to the screen, selection, iteration and catching user inputs. It also leaves room for customisation. Just for fun, I quickly threw together something like I used to use for you here:



After I'd walked them through making it, I suggested that the kids add a way to change the colour of the line. It can be achieved using what they already know about catching user inputs and changing the colour (I think I used to introduce the inkey$() statement before I did this) but of course I used to help them.

Obviously the setting is slightly different here but I think fun little exorcises like this one where you lead and explain but get your son to make his own copy as you go along might work. Another thing I used to do was to make sure I never came along with a working example or any notes. I used to make the program I was going to demonstraight the night before at home so I knew that the logic worked and then delete it. That way, I would be coding as you would actually code. This helped in a couple of ways. Because I would always make a few mistakes, it would give me a chance to show debugging and explain error messages (and it gave them a few laughs). It also made it easier to explain the code as I tend to write my code in a more logical order than it actually ends up in. For example, when writing the program listed above, I would tend to start with:



at which point I would explain loops and then I would add:



and explain selection and catching user inputs. However had I started with this, I would have been trying to show how do and loop were part of the same structure even though they appear far apart which I think can lead to confusion.

Anyhow I hope some of that is useful but really, I just tended to muddle through on these things. Hope your son takes to programming and enjoys it!

Neuro Fuzzy
19
Years of Service
User Offline
Joined: 11th Jun 2007
Location:
Posted: 7th Sep 2011 10:52
definitely give him dbpro and these forums! (or AGK)

You'll be learn him to program fast!


Why does blue text appear every time you are near?
Pincho Paxton
23
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 7th Sep 2011 12:27
Maybe put him in a game as a character himself. So have him running around and doing things on the screen.

zenassem
23
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 7th Sep 2011 13:20
I believe that the programming bug is either in you or it's not. The day I saw my first computer and realized that "I" could make pixels appear on the screen and they could respond or interact with someone. I was hooked. It was that fast. And this was with an Atari 800. It didn't matter if it was a gradient fill type program, a batting average program, a recipe organizer, a lottery quic-pick, or a large colored blocks "Hunt The Wampus" game. I was just instinctually interested. No one introduced it to me, or made it interesting... I just liked it.

Now It would have been nice if I could of had some help with difficult topics, or just gave guidance on which direction to go. For example it took me till I was 12 before I truly realized that Basic (at the time) was not fast enough to draw and update the screen the way I wanted,, and that the professional games I owned were done in this weird "new" code called Assembly Language,, and all thes "magic-like-tricks" with display lists etc...

I'm just not sure that programming is the type of thing that can be made interesting, if someone doesn't have an instinctual desire for it.

Your signature has been erased by a mod please reduce it to 600 x 120.
Pincho Paxton
23
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 7th Sep 2011 13:43 Edited at: 7th Sep 2011 13:49
I programmed a computer 10 minutes after I first saw one. I corrected a bug in someone's game. He pressed run, and it worked, so it was very exciting! All I did however was change an i to a 1, but it was still exciting. Especially in 1980. Up till that day, I thought that computers were just flashing lights like in Star Trek.

So maybe you could do that. Put a computer program in front of the boy, put some mistakes in the code. Print the correct code out on paper. Ask him if he can spot the mistakes. Tell him to press F5, and nothing should happen, but it will give him a clue. (I didn't get a clue from the Z80). Eventually the boy will fix the program, and put a surprise in the game, like his own name or something flashes up on the screen.

tiresius
23
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 7th Sep 2011 18:43
If he likes Legos you can start with Legos Mindstorms, or whatever they call it these days. They provide a visual building block type language that looks like it would ease someone into programming in a textual language.


A 3D marble platformer using Newton physics.
JackDawson
14
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 7th Sep 2011 19:53 Edited at: 7th Sep 2011 20:53
I highly suggest a game where he can script, like Second Life. ( Second life had a bad reputation years ago, but its been majorly cleaned up since then. ) Second Life type of games are virtual worlds all in 3D. There is a ton of them. SL is just the first one to ever have existed for what it does.

An open source platform that is just like Second life is known as opensim. And you can run your own SIM on your own computer. AND it has scripting ability. So in essence it will teach him programming as he can see the results of his script on the objects inside the game. SL has been around since 2003, and OpenSim has been around since 2006 to 2007 area.

http://opensimulator.org/wiki/Main_Page

If you do not want him around other adults, I suggest setting up opensim on your computer. Its totally free and once you understand how to setup the server on your windows or linux computer, then you can just log into it and run it. It might be too complex to setup for him though. But if your computer savvy, you can read all their help manuals on the opensim website and get started.

Once he is in there, both of you can be inside the virtual world of your own and you can both interact by scripting objects and make them do things. Anything from texturing to particles. I still have some of my old scripts from SL. So if you guys ever need someone in there that knows the game, let me know I'll help you.

Its how I have taught many kids to be programmers and it works because they can VISUALLY see their work immediately. ( Remember its scripting, but its a good way to get them into programming. )

There is even a book on scripting for Second life.

http://www.amazon.com/Scripting-Your-World-Official-Second/dp/0470339837

This is still good for opensim too. Because OpenSim and Second Life have almost the same scripting language.

My friend tom never programmed a day in his life, and when I got him into SL he was having a blast. Its not a hard language. ( He made a Avatar Catapult where he could sling his avatar into the air. lol )

ALSO, do not be confused here. The scripting language is inside the sim. Meaning that although opensim is open source, your not making the server. Its already made, but you have the ability to see its source code. This has nothing to do with the game itself or the scripting language. What your wanting to show him is INSIDE the server and let him go nuts. You can build and script all you want. I have personally made the golden gate bridge, I have seen the titanic. I love walking around the USS Enterprise. Yes, you could walk your avatar on or in these. Its pretty cool. Imagine a world where you have no limits to your imagination of what you want to build.

EDIT : In case you wanted to see a picture and what the scripting language looked like up close, here you go.

http://wiki.secondlife.com/wiki/LSL_Portal

WARNING : THE PICTURE IS HUGE so that you can see it in more detail.



This is my personal OpenSim server running on my computer ( laptop -- Client and Server ). Running it local. This is what the default sim looks like. You can alter the looks of your terrain by altering it in any way you want. ( Sims are limited in size however [ 256x256 ])

"Life is like a box of chocolates.. eat it before it melts."
SpecTre
Developer
23
Years of Service
User Offline
Joined: 24th Feb 2003
Location: UK
Posted: 7th Sep 2011 21:18
Thanks for the ideas, he is into Lego and is good on his computer being able to do powerpoint presentations etc. Really fancy getting him into this DarkBasic Pro though.



Background:
AMOS on the AMIGA!

Login to post a reply

Server time is: 2026-07-11 14:36:59
Your offset time is: 2026-07-11 14:36:59