WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Recommendations for a 14 years old intelligent boy: where can he start in PCs?  (Read 15947 times)

Offline floppy

  • Hero Member
  • *****
  • Posts: 577
hello,
the is a 14y old boy nearby our home. his father said to me he is interested in different things and especially computer and I should made few recommendations for developping his son knowledge.
So, I should give him some informations how he can seriously play around with his PC. My idea is to
a) install TCL in parallel to his XP
b) show to him the forum, and possibilities for extensions of TCL
c) bring him in contact with linux user clubs here in our town
d) developping something? drivers? what? where are the needs from a beginner?
Do you have any recommendation where a 14y boy can start in linux OSs? (programming!.. not dating/chatting and messing around with a web-browser).
AMD K6-IIIATZ 550MHz MB DFI K6xv3/+66
P4 HP DC7100 3GB 3GHz
Samsung NC10 boot from SD card port (via USB reader)
.. all TinyCore proofed

Offline bmarkus

  • Administrator
  • Hero Member
  • *****
  • Posts: 7183
    • My Community Forum
Give him Python
Béla
Ham Radio callsign: HA5DI

"Amateur Radio: The First Technology-Based Social Network."


Offline hiro

  • Hero Member
  • *****
  • Posts: 1228
I'd say club him for every time he says the word linux. Don't help him to install any drivers or he will waste half of his life with crap like that.
Show him how to build a house out of wood instead.

Offline cast-fish

  • Hero Member
  • *****
  • Posts: 1000
  • hi there
Hello

i would show the kid "Imagine Logo" tool.

Also show him   "microworlds"

and 3d Elica logo.

and some games

V

Offline Guy

  • Hero Member
  • *****
  • Posts: 1089
If you give him anything too difficult, too soon, he may give up.

It may be a good idea to install Tinycore with him there, and explain what you are doing, so he will understand a lot of it. If he understands it, he should enjoy it.
Many people see what is. Some people see what can be, and make a difference.

Offline Lee

  • Hero Member
  • *****
  • Posts: 645
    • My Core wiki user page
I agree with dubcore - start him out with a "Hello, World!" program in a couple of different languages, maybe C and shell script.  I'd avoid starting him out with anything graphical right at the beginning.  Maybe not drivers just yet.

I'd be interested in any additional advice in this thread as I have a couple of twelve-year-old boys who see a computer only in terms of games and I'd like to get them interested in the basics of network setup, programming, databases, etc.  They are home-schooled, so I'd like to start out easy and advance as far as time takes us.


32 bit core4.7.7, Xprogs, Xorg-7.6, wbar, jwm  |  - Testing -
PPR, data persistence through filetool.sh          |  32 bit core 8.0 alpha 1
USB Flash drive, one partition, ext2, grub4dos  | Otherwise similar

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11303
Hi Lee
C's not too bad a way to go. There are many on-line tutorials for C (and other languages) that provide
enough background in about a dozen short chapters to get you started. The contents in this link
http://www.eskimo.com/~scs/cclass/notes/top.html are based on K&Rs "The C Programming Language".
A very good tutorial on pointers, arrays, strings, and memory allocation can be found here
http://pweb.netcom.com/~tjensen/ptr/pointers.htm

When choosing a language, you may want to consider the ability to set up compile environments to
generate code to run under both Windows and Linux, to aid them in learning how to write portable
code.

Another possibility is to look into microprocessor or micro-controller development boards. Many of
the chip makers offer these boards at fairly reasonable prices. Some boards even have audio, network
and USB connectors. Just a thought, in case you want to take them down the embedded route.

Offline Lee

  • Hero Member
  • *****
  • Posts: 645
    • My Core wiki user page
K&R...  I actually have a copy of "the new testament" from back when they still had to have the disclaimer "Based on the Draft-Proposed ANSI C".  Someone once gave me a Xeroxed copy of the "old testament" but I think I pitched it when I bought the new one.

Developmment boards... embeddable SBC's are a great place to start.  I had tons of fun with a Z-80 board a few years back but I don't have it any more.

Portability ... ANSI C is great for that.   ...and doesn't the gcc have flags to produce whatever kind of output you want?

My big challenge is to get these guys -interested- in programming before they realize that girls don't all have cooties, 'cause at that point they'll be lost.  :)

32 bit core4.7.7, Xprogs, Xorg-7.6, wbar, jwm  |  - Testing -
PPR, data persistence through filetool.sh          |  32 bit core 8.0 alpha 1
USB Flash drive, one partition, ext2, grub4dos  | Otherwise similar

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11303
Hi Lee
Quote
Portability ... ANSI C is great for that.   ...and doesn't the gcc have flags to produce whatever kind of output you want?
Actually those flags are for producing code for different processors, not operating systems. For
that you want a cross compiler, see   http://forum.tinycorelinux.net/index.php/topic,10997.0.html

The trick is to think up a project that will hold their interest while stimulating their ability to solve
problems. While it won't hold their interest, here's an example. I wanted to add a readout to my
heating system to tell me how much fuel I'd consumed so I wouldn't have to check the tank with
the dipstick. I built a board with four 7-segment displays, a couple of switches, and a PIC16c55
processor. The PIC has 512 bytes EPROM, 24 bytes RAM, 20 I/O pins, and an 8 bit counter with an
8 bit prescaler. The program multiplexes and encodes the displays segments, polls the switches,
monitors the fuel pump, keeps track of elapsed time, and computes fuel used. The integer math
routines I wrote calculate time and fuel usage to one decimal place. There are 6 different nozzle
sizes to choose from for the fuel computation. This is a RISC processor with 33 instructions and
a two level stack.

Offline Lee

  • Hero Member
  • *****
  • Posts: 645
    • My Core wiki user page
Quote
The integer math routines I wrote calculate time and fuel usage to one decimal place. There are 6 different nozzle sizes to choose from for the fuel computation. This is a RISC processor with 33 instructions and a two level stack.

That just screams "FORTH" except for the half-K of eprom.

Perhaps an index for their gaming cards - monster cards are cool  and maybe they could work up to displaying a scan of each card.  That might keep their attention.  Hmmmm...

Floppy - Does your neighbor have any hobbies that might be used to help him learn programming?
« Last Edit: August 22, 2011, 12:10:48 AM by Lee »
32 bit core4.7.7, Xprogs, Xorg-7.6, wbar, jwm  |  - Testing -
PPR, data persistence through filetool.sh          |  32 bit core 8.0 alpha 1
USB Flash drive, one partition, ext2, grub4dos  | Otherwise similar

Offline floppy

  • Hero Member
  • *****
  • Posts: 577
Floppy - Does your neighbor have any hobbies that might be used to help him learn programming?
He is back from holiday in 1 week; I have to sit down with him and see what he does/want to do. I will ckeck which hobbies could lead to programming (at least I know something: he is not programming missiles to blow up my house..;-). Additionally his father asked him to put his son in a PC training course in the automotive company I am working. So, I have to check this, too.
AMD K6-IIIATZ 550MHz MB DFI K6xv3/+66
P4 HP DC7100 3GB 3GHz
Samsung NC10 boot from SD card port (via USB reader)
.. all TinyCore proofed

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11303
Hi Lee
Quote
That just screams "FORTH" except for the half-K of eprom.
No high level language used for that project, just good old fashioned assembly language.

Quote
Perhaps an index for their gaming cards - monster cards are cool  and maybe they could work up to displaying a scan of each card.  That might keep their attention.  Hmmmm...
That suggests a simple database program. An opportunity to learn structures, linked lists (single or
doubly), disk I/O, console I/O, and sorting. Maybe skip linked lists at first and start with an array of
pointers to keep it simple. That way you only need to swap pointers in the array when sorting.


Offline Lee

  • Hero Member
  • *****
  • Posts: 645
    • My Core wiki user page
Quote
just good old fashioned assembly language.

Oh, that is -so- 1970's!  :)  ...and that seemingly pitiful little dribble of eprom space is room for a lot of progam in assembly.

Quote
a simple database program. An opportunity to learn structures, linked lists etc etc

The very thing.  It just needs something they're already involved in to keep it interesting - hence the monster cards.  Perhaps a good time to start them on the ideas of "requirements" and logical design and all that good non-coding stuff, too.    :P   I think maybe I'll start on this tonight... Its close enough to "back to school" time.   ::)
32 bit core4.7.7, Xprogs, Xorg-7.6, wbar, jwm  |  - Testing -
PPR, data persistence through filetool.sh          |  32 bit core 8.0 alpha 1
USB Flash drive, one partition, ext2, grub4dos  | Otherwise similar

Offline hiro

  • Hero Member
  • *****
  • Posts: 1228
The only reason I got deep into all that computer stuff is because my mother didn't want me to "play with the computer" longer than half an hour per week (later per day), so I forced myself to first read some books on it, in order to use my time with the computer more efficiently :D

Moderation is always the key (I didn't have it).