From owner-freebsd-chat Fri Jul 3 12:35:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA09878 for freebsd-chat-outgoing; Fri, 3 Jul 1998 12:35:35 -0700 (PDT) (envelope-from owner-freebsd-chat@FreeBSD.ORG) Received: from torrentnet.com (bacardi.torrentnet.com [198.78.51.104]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA09845 for ; Fri, 3 Jul 1998 12:35:19 -0700 (PDT) (envelope-from bakul@torrentnet.com) Received: from chai.torrentnet.com (chai.torrentnet.com [198.78.51.73]) by torrentnet.com (8.8.5/8.8.5) with ESMTP id PAA02755; Fri, 3 Jul 1998 15:35:17 -0400 (EDT) Received: from chai.torrentnet.com (localhost [127.0.0.1]) by chai.torrentnet.com (8.8.8/8.8.5) with ESMTP id PAA06440; Fri, 3 Jul 1998 15:35:16 -0400 (EDT) Message-Id: <199807031935.PAA06440@chai.torrentnet.com> To: David Caldwell Cc: FreeBSD Chat Subject: Re: Beginning user's OS (was: Here is a really odd question!!!) Date: Fri, 03 Jul 1998 15:35:16 -0400 From: Bakul Shah Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > 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