Slashdot Mirror


Week-Long Free-Software Class for Kids?

mmol_6453 asks: "I have the opportunity to submit a plan for a week-long class about 'Alternative Operating Systems' to our local community college's Computer Camp. The students will be aged 8-16. We've had classes attended by students who used Linux, but we've never set up a class with alternatives as options. We've found that students in this age range, when interested in the material, can absorb a great deal of information in a short time. This means there's a lot of potential to teach them about Linux, *BSD, and open-source. We often get extremely bright students here, the kind who are likely to go out and earn $80,000/yr in a post-90s economy. Some of them are even on Slashdot. I want to give the rest a boost in the right direction."

"Considering that the great deal of material to choose from, I need to ask the Slashdot Community its advice:

  1. Do they need to know how to install the OS first, or should I let them look that up on their own while I make them power-users?
  2. What distributions of Linux and BSD should they be first introduced to? (I'm only familiar with Debian, and I know virtually nil about *BSD.)
  3. Initially, do they need to be more adept at the GUI, or do they first need to know how to use the shell?
  4. Should I give away Debian CDs no-questions-asked, or should I talk with the almighty Parents so little Daniel doesn't install Linux over Dad's 'work computer.'
  5. Are there any other key issue I need to think about?"

21 of 379 comments (clear)

  1. Give them Knoppix by Anonymous Coward · · Score: 5, Informative

    You should give away Knoppix

    Knoppix is a Debian based LiveCD distribution. It runs directly from the cd. No worries about dads computer getting it's partition table wiped. You could hand these out to the kids day one with no worries.

    It contains KDE, OpenOffice, KDevelop, xmms, Mozilla... The list goes on and on. IIRC there is 1.6 gigs on the CD.

  2. Don't compile the kernel until Thursday by N0decam · · Score: 5, Informative

    I speak from experience, having been a camp counsellor at a computer camp for two summers.

    You'll lose the kid's interest unless you're giving them something to do at all points.

    Since that's a given, I wouldn't get them to do an install. You might want to walk through a slideshow install or something, but the interminable waiting will get the kids bored and throwing things in a hurry.

    Teach them the shell - teach them perl, turn them loose with a bunch of tools at their disposal, and see what they do.

    We had one kid test the limits of wordpad, using copy/paste/select-all/repeat. He had a great old time, and actually gathered a crowd, as he was "breaking" things.

    Show them how to build a dialectizer in perl - you'll be amazed at the fun they'll have with that.

    Keep it fun. End of story.

  3. 8-16? by CVaneg · · Score: 5, Informative

    You might want to have two separate ciriculums if you have such a wide age range in students. I think it would probably be damn near impossible to come up with something that was as engaging to someone in 2nd grade as it was to someone in 10th grade.

  4. Focus by Reality+Master+101 · · Score: 5, Informative

    First of all, I think you need to ask yourself exactly what it is you want to teach them. If this is about "alternative operating systems", then are you going to teach them ABOUT operating systems? Most people don't even understand where the application stops and the operating system beings. So is it going to be:

    A class on how to use Linux and run various user applications?

    A class on setting up and administering various Linux server apps?

    A class ABOUT operating systems, how they work, and the differences in technical philosophy among them?

    A class about programming?

    A class about Unix and its history?

    It sounds like you haven't really pinned down what this class is about, other than you want Linux/BSD involved. I think it would serve you well to set back from the details of the course, and ask yourself exactly what concepts you want the kids to walk away with.

    That said, given its a computer camp, etc, I would take the opportunity to teach about operating systems and what they do. Don't bother having both Linux and BSD, they are effectively the same thing (Unix). Have a Windows box, a Macintosh and Linux, and talk about the technical philosophies of each. Note that the Macintosh, while technically a Unix, does overlay a lot of technology, which creates a lot of interesting opportunity for discussion about where the operating system stops and the applications begin.

    --
    Sometimes it's best to just let stupid people be stupid.
  5. Distros by gowen · · Score: 2, Informative

    You could try distributing Knoppix or one of the other Live-CD distros, to reduce the chance of Little Jo partitioning away mummy's accounting data.

    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  6. Take a cue... by aeakett · · Score: 2, Informative

    from "Running Linux" from O'Rielly. This book covers everything from histroy, installing, management, and tools in a logical, and easy to follow order. It's coverage is focused on the command prompt, which is probably best since that's where most experienced users find they can get the most work done

    It was my introduction to Linux, an has served me well ever since as a reference.

  7. Suggestions by bagojunk · · Score: 4, Informative

    As a (fellow) O/S-Networking-Hardware instructor, lend me your ear: 1. I have heard (and felt) the Mandrake makes both installations and runtime easy, other than that...there is too much similarity between the distros to really have an impact 2. Inform your students that there are many things that can be done at the CLI as well as the GUI-- some things require the CLI or the GUI...research a dozen or so and walk them through it-- be careful what you choose as you want to let them see more than a few basic functions of an operating system. If you choose wisely, it may serve as a stepping stone for their future exploration/education. (I.T> stuff is always an exploration) 3.Just make sure the ramifications of installing an o/s are discussed-- distribute on! 4.Make sure you show them all of the windoze interoperability tools (wine, etc.) so that when they DO load the o/s on their own systems, they do not lose interest as soon as some of my students do (a few minutes or so) and can still chat with their friends, play games, etc. 5. Inform them of the MINIMUM requirements for their o/s so that if they do not have a dedicated machine, they know that a pentium2 or amd k-6 will run most versions of lin** just fine (and nowadays can be put together for less than $150!!)...perhaps you should send them over to me for a hardware lesson!! The children are the future....of open source as well as anything else!! braunr@pbcc.edu

  8. Re:Start 'em off simple by SweetAndSourJesus · · Score: 1, Informative

    Why would you dual boot?

    It doesn't make much sense to tell kids "here's a free OS, it totally rocks, but you're going to need this proprietary one to get started."

    --

    --
    the strongest word is still the word "free"
  9. Haha. by OrangeHairMan · · Score: 5, Informative

    I was one of those kids who went to a computer camp, got interested in Linux, and started to read Slashdot. Here are the tips I can provide about my experience:

    1. Personally, I already had a great interest in computers. Granted, if the kids are going to a computer camp, they already will, but I was *really* interested. I skipped BASIC and went to C++. (Mind you, this was when I was 10.) See topic 4.

    2. The teachers love what they are teaching. If you tell a Microsoft cert to teach about Linux, nothing will happen. Get some hardcore Linux gurus who love kids (hah), and stuff will truly happen.

    3. Give them as much as they want, and what they want. :) If they want to learn about KDE or the command line, teach them that. They will learn much quicker, and be much happier (angry kids are not fun)

    4. This kinda coinsides with 3, but... If they want to go ahead and be very advanced, let them. If you are covering ``ls'' and they want to learn sed/awk, teach them that and let them learn. Again, they'll learn much quicker.

    Well, a lot of what I said has to do with teaching in general. But still, being a good teacher is key.

    To answer some of your questions, hand out CDs to the parents, so they know what will go on. Bootable CDs (like DemoLinux) preferibly. Don't teach them how to install until they love the OS. And teach them the command line or Gnome, which ever one they want. Teach them an easy Linux, like Mandrake or Redhat (not Debian, even though it's my distro of choice), although mention *BSD and pros and cons.

    Hope this helps!
    Orange

  10. Hands on by geogeek6_7 · · Score: 3, Informative

    Being 16, a Linux user for [almost] 3 years, (and someone who earns $20/hr setting up Linux servers for local businesses), and having attended a computer camp, I can whole heartedly recommend that your students individually install Linux on a computer.

    It can be tough, though, as some will bring computers that they can't touch. When I went to computer camp, there were a bunch of rental machines. Had they decided to teach us to install Linux (They didnt, I was the only Linux user... It was extrememly amusing to watch the VB trojans created by our loving counselers fail completely on my box, however... ), I think it would have been smart to image a rental box, store the image someplace, and let the campers go hog wild installing *ix.

    You can study, and you can watch someone do it on thier screen, but its nothing like doing it yourself.

    When I first started with Linux, I had by cobbled together box that I built for $40, which included 3 hard drives and an S3 Vision864 graphics card. Because I had a free CD of Turbolinux that I got when installing a router at my church, I installed Turbolinux 6.0. XFree86 3.3.6, kernel 2.2.14, all kinds of fun stuff. I tried to *resize* my Windows partition, which produced negative consequences for about 30 mp3s, otherwise failing to have any effect. And that graphics card. If you though S3 cards were bad in windows, you should try to get one working in XFree3.3.6. It took me hours of xf86config tweaking before I had two readable resolutions: 640x480 and 1024x768. Didn't touch XF86Config ever again.

    All of that to say, it was a major pain in the butt. No kudzu holding my hand, I had to learn everything from scratch. It was a big deal, but now I configure XFree86 with ease, and can partition a harddrive with the best of them (well, for what its worth. It's not really all that hard :P).

    With Linux, its a learn by doing proposition. I urge you to offer your students this opportunity.

    -geogeek

    ~Geogeek now runs an Athlon 1.4GHz box with a nice, big, 80GB hard drive, and a Radeon 8500. Funded in part by Linux skills~

  11. Re:First things First. by gclef · · Score: 2, Informative

    Gentoo? I think you mean Knoppix. Gentoo is cool, but it's a "build everything from source" distro, and very definitely does touch the hard drive.

  12. Re:installation by cristofer8 · · Score: 2, Informative

    For the BSD angle, you could set them loose with a FreeBSD mini install, and then let them build a system from the ground up using ports/packages. I found that to be a great introduction to how BSD and NIX systems work.

  13. zisofs by LinuxHam · · Score: 4, Informative

    Sarcastic or not, here. Lets you create compressed filesystems (including CD-ROMs) that can only be read under Linux, particularly those live CDs that are stuffed beyond capacity.

    --
    Intelligent Life on Earth
  14. assumptions? by ryochiji · · Score: 5, Informative
    It seems like you're making the oft made mistake of assuming that because young kids know less, they learn less. This is not true. You can throw anything at a kid, and if presented the right way, they'll absorb it faster than any of older folks can.

    >You shouldn't assume that they know how to install operating systems

    No, but I'm willing to bet that given a week, they can learn to install Linux. Especially those with GUI-based installers.

    >the one with the GUI will produce better results

    They might be more familiar with the GUI, but they can probably learn to use the shell without much difficulty.

  15. Re:First things First. by Anonymous Coward · · Score: 1, Informative

    Actually, Gentoo also has "live cds" which boot without an installation, somewhat similar to knoppix in concept.
    http://www.gentoo.org/news/20020916-ut2k 3.xml describes one for unreal tournament.
    I agree about it being a bad distribution to start with via a normal install, however.

  16. Ages? by Div3B0mbr · · Score: 2, Informative

    Do NOT offer it to 8 year olds. I'm 17 and my siblings, all younger and being around that age, either A) don't have an interest or B) want to know why free solutions don't play the games they like. Simply put, offer it to Middle School and High School kids (13-17?) simply because those are the kids that can actually use it. Plus, those are the ages that take computer programming classes and such. They'll also be able to appreciate free software and a free OS.

  17. Here's one recipe you can try... by QuietRiot · · Score: 3, Informative
    Do they need to know how to install the OS first, or should I let them look that up on their own while I make them power-users?

    Do the install demo the last day. Show them all the wonderful things non-Micr0s0ft platforms can achieve first, then show them how to harness all that power on their own system at home by demonstrating how to dual boot a box. NOT! Be sure to include a big disclamer - write letters to parents to back up their data, etc. Or give out demo CD's like the Knoppix distro and maybe figure out a way for people to store their data somehow. Messing with people's parents' hard drives would not be advised for a bunch of high schoolers. Fried hard drives are not the right way to send a good message about Linux and other alternatives to parents, etc.

    What distributions of Linux and BSD should they be first introduced to? (I'm only familiar with Debian, and I know virtually nil about *BSD.)
    Use debian for the majority of your demos. Debian is used as a base for a lot of other distros out there, so this would be a terrific learning platform. apt-get is extremely popular and easy to use and would be a great way to build confidence. "Gee! That's even easier than windows!" It is, again, used in a number of debian-based distros and this is a plus. Messing with RPM dependencies I would say would be less conducive to learning. It should be experienced, but you don't want to spend a lot of time with a headache like this. Let them figure it out when they get to a real RPM based system and they overload their harddrive with unnecessary packages. We needn't worry their little minds with this now.

    I would suggest, if you've got a bunch of spare computers for your use, installing a selection of operating systems. Maybe just have them around, for kids to explore on their own time if they seem interested. A selection of the common Linux distros would be good - Red Hat, Mandrake, etc. If you've got the money, do some installs of Xandros, Lindows or Lycoris. Show an install of Gentoo and demonstrate the portage build system. Put YellowDog or LinuxPPC on some older Mac machines that the school is sure to have laying around. Install something fun on a new G4. You're wide open here. If you've got the time, do installs of NetBSD, OpenBSD, and FreeBSD. Actually, I'd move FreeBSD up the ladder a bit, even into the linux distros above. This one I think is going to become pretty important in the next few years. It's clean, stable and very security concious. It also runs linux binaries and, all in all, is a tremendous platform. The flexible workhorse.

    Linux and *BSD aren't the only alternative operating systems. Try doing an install of SkyOS, AtheOS, or MinuetOS. Read about those here.
    There's also Syl-la-ble, QNX[review], and, lest not forget, the Wonderful! the Amazing! MacOS X. Amiga, Minix, VMS, on and on. Find a local LUG with someone in it that likes these obscure operating systems. See if he (she?? --nahh...) will lend a hand. No. Not that hand.

    Initially, do they need to be more adept at the GUI, or do they first need to know how to use the shell?

    Show them the GUI. Copy some files around or perform some other common tasks using the GUI's helpful tools. Then show them how much faster and more efficiently they can do the same after clicking on gnome-terminal (or Kterm or whatever). Show them the virtual terminals that are availible if X isn't around. Show them that you can start up two instances of X, each with a different user, and switch between them [after you have one going, type "startx -- :1" in a virtual terminal as the user you want running the second instance, then Alt-Fx to find it. Switch back and forth). Then ask them if they can do that on dad's windows box. Give them a printed reference of some of the more common unix command and have them figure out how to perform a selection of tasks. Do the shuffle about pipes and redirection and all that and have them do some "homeworks," maybe working together. Then tell them to use the man pages for command xxxxx and yyyy, integrate the knowledge found there with the printed references you gave them, to complete another task. Do speed trials. Ask them to try the same task with only the GUI. Point made.

    Should I give away Debian CDs no-questions-asked, or should I talk with the almighty Parents so little Daniel doesn't install Linux over Dad's 'work computer.'

    Hand them a Knoppix disk. Let them find debian if they are feeling adventerous. Suggest to them if they think they know what they are doing, and can stand being grounded or whatever if they break mom's computer, to try an install of Mandrake - with the easy repartitioning and all built in so nicely. Easy to use from the get go, but quite fully functional linux distro as well. Easier still, and based on debian, would be Xandros. Apt-get to your hearts content, and can even resize NTFS partitions.

    Are there any other key issue I need to think about?

    "Am I wearing my pants?"

    Don't forget this one before you walk into your first day of class.

  18. A suggestion from a teenager by mkiwi · · Score: 4, Informative

    First of all, I'd like to say how much I love your idea for creating a cirriculum for budding geeks.

    Speaking from experience, it is extremely difficult, time-consuming, and frustrating to learn about *nix alone, and a mentor-like system would help kids greatly.

    Here are some of the things I wished I knew before I bought books at Barnes and Noble:

    What technologies Unix has, what they do, what they are used for, and why they should be used. Talk about languages like Perl, PHP, and whatever else to give the kids a roadmap. I had no roadmap, and I ended up buying an ASP book because I wanted to learn web programming. -_- I was young, naive, and unable to return the book in time to get a refund. It did burn brightly, though.

    Go through the compile process and explain dependencies and things like that. Before I got my first Unix machine, I had used classic mac os and I knew nothing of the 10000000000000000 extra libraries and such I had to install to get the gimp working. On that thought, talk about package managment systems- the where, why, and how.

    Talk about geek culture. Where did open source start? Larry Wall's Camel Book has a rather good chapter about perl culture, and much of it can be applied to more than one place. Mention slashdot, and tell them to read often ;)

    Talk terminals. Please! Get students familiar with the command line, insert a few *modifications* into a configure script to aquaint people with the compiler, linker *gasp*, and the shell environments. Teach kids what LDFLAGS, CPPFLAGS, etc. they can tweak to get code running on their machine. Also, cvs is really useful, so please teach kids how to use and navigate that! The first initial hump in cvs learning can be hard to get over, and I would definately have liked it if I could have had some direction.

    Literature. Teach kids how to buy computer books, how to read computer books, and how to amass a library of computer books. Personally, I cannot stand reading text from a computer screen as it hurts my eyes, so don't limit offerings to online documentation.

    After all this fundimental knowledge is gained, talk about how to compile a linux (or other) kernel, installing an operating system (i.e. not redhat; installations that use a simple text-based interface, as if some geek threw a linux distro together together that afternoon :)

    I attended java programming classes at my local community college, which were a big waste of time. The lesson is to teach kids how to have some self-direction, so that when they grow up they can be autonomous learners. I had to learn my lessons the hard ways, so I'm glad someone is making an effort to reach out and help students.

  19. Intro. to GIMP by gouldtj · · Score: 3, Informative

    I would stay with fun things, and GIMP is probably one of those. I might be biased though, as I think GIMP is a really wonderful program. You are welcome to use my Photo Editing with GIMP presentation. It is a good introduction, but it doesn't get into layers or anything like that. It does get you stared with GIMP though, and most people have a few digital photos.

  20. C tutorial by chris_sawtell · · Score: 3, Informative
    You might find some of the students like The C tutorial I wrote a few years ago. The youngest students I know about were a 12 yo Israeli, and a 14yo Canadian.

    Other points:-

    • Knoppix to take home. Can't overwrite the parents' precious files!
    • Don't waste time installing. Just dd the file set to the students' disks beforehand.
    • Have the same distro on all student machines.
    • Be very familiar with the distro youself.
    • Introduce a scripting language.
    • Be very visual. Kids need to see things quickly.
    • Games, and more Games. It's supposed to fun.
  21. Stick to the concepts by Arandir · · Score: 3, Informative

    Stick to the concepts. There's nothing worse then spending a week learning one particular operating system, then having to use a different one later on.

    Teach the concepts instead. For example, teach them about harddrive partitions, and not about a specific partitioning program. I don't care how much you know the Mandrake or Redhat partitioning GUIs in the installer, it won't do you any good when you're faced with fdisk. But if you know the concepts, you at least know the shape and pattern of what you need to do.

    And teach them how to use the available documentation. Man pages. Info pages. How to use lynx or another textmode browser for html files. They will never know everything there is no know about UNIX, but they *can* know how to find out anything they might not know.

    Finally, give each one in the class a different system. Use as many as you can scrounge up. FreeBSD, Mandrake, Debian, Slackware, OpenBSD, etc. Then when you teach about partitioning the harddrive (for example), they'll realize that there are a dozen different right ways to do it.

    As the old saw says, "If you learn Redhat you learn Redhat. If you learn Slackware you learn Linux." There is a kernel of truth in there. Someone who is exposed to just Redhat Linux isn't going to transition to a job working with Solaris as easily as someone who's been exposed to a couple of different distributions plus a BSD. You do NOT know what the tech world is going to be like in ten years, so don't make your students live in the past when they get there.

    --
    A Government Is a Body of People, Usually Notably Ungoverned