Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Jul 1998 15:35:16 -0400
From:      Bakul Shah <bakul@torrentnet.com>
To:        David Caldwell <caldwell_david@hotmail.com>
Cc:        FreeBSD Chat <chat@FreeBSD.ORG>
Subject:   Re: Beginning user's OS (was: Here is a really odd question!!!) 
Message-ID:  <199807031935.PAA06440@chai.torrentnet.com>

next in thread | raw e-mail | index | archive | help
> I have a9 year old daughter and an 8 year old son who both have more
> curiosity about "how does your computer work Dad???" than I did when I
> bought my first TRS-80 model 3.My son at this moment is having some
> difficulty with his reading skills and doesn't really try that hard when
> I try to coax him into reading to me,so I thought that I would use his
> "want to know about a computer" to good use and set him up with a crash
> box 486 and a totally different operating system than the windows unit
> that he sees me working with.

I suspect at this stage your kids are probably looking for a
basic answer.  Nothing as complicated like an OS.

One suggestion is to cobble up a computer simulator.  Such a
simulator would have the `essential' elements of a computer:
an instruction set, memory, disk, keyboard, graphics screen.
Its instruction set can be pretty high level -- the
`assembly' language can be a subset of Scheme or Logo, with
some predefined procedures for disk io, screen io etc.

Now your kid can directly type in `machine' instructions and
see them executed!  If you get ambitious, you can show a
picture of the computer on the real screen and allow zooming
into various parts to see what changes, allow single stepping
and so on.  You can show that one or more memory `locations'
hold an instruction, show a program counter etc.  The
graphics screen allows the kid to show interesting results
(to impress their friends:-).

You can then `give' them more and more sophisticated
computers (i.e. simulators) that approximate a real computer
more and more faithfully: add interrupts, timers, add context
switching, allow `plugging' in io devices etc.  Because these
are simulated computers, you open up the possibility of
hooking together a number of computers.  For the same reason
you can simulate some really esoteric (or as yet unconceived
of) devices!

If this is of interest, you can get some ideas on how to do
this from "Structure and Interpretation of Computer Programs"
by Abelson et al. (MIT press).  Seymour Papert's books are
also thought provoking when it comes to learning.  You may
want to check out http://www.legomindstorms.com for some neat
robotics stuff you can do with Lego -- another very fun way
to learn about computers and lot more!

> My theory is that UNIX and operating systems that work like it will
> never die and they are fairly complex to understand,they require a fair
> amount of reading to be done before trying to make additions or changes
> and the rewards for working at it can be immense.
> So we will kill several birds with one stone:his reading will improve,he
> will learn to type,he will know more about a computer (satisfying his
> curiosity),and the knowledge that he gains and the skills he learns will
> give him confidence.
> Anyone can use DOS and Windows but it take a fair amount of brains to
> use UNIX and not crash it while maneuvering thru it.

My feeling is that Unix is too complicated for 8 or 9 year
olds to get started on computers.  Once they learn the basic
concepts in a simpler and yet fun environment picking up unix
should be easy.

Another suggestion is to start them on Scheme or logo.  These
are both very simple and very powerful languages to learn and
you hit all the interesting concepts early on.  There is a
free mswlogo (logo for m$ windows) by George Mills -- I don't
remember the web site.  There are some Scheme env. for
Windows plus some excellent books that help you learn not
just Scheme but how to solve problems.  I do think it is more
essential to think the right way about programming than to
know clunky old technologies like Windows and Unix.

> I am at a loss as far as my daughters math skills but any suggestions
> there would be helpful.

I have always found that the best way to learn something is
to _need_ it in a fun project.  So figure out what sort of
projects she likes.  If she likes to build/make things so
much the better.  Then think of fun (for her) projects that
will require her to use her math skills.

-- bakul

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807031935.PAA06440>