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:
- 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?
- 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.)
- Initially, do they need to be more adept at the GUI, or do they first need to know how to use the shell?
- 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.'
- Are there any other key issue I need to think about?"
Some of them are even on Slashdot. I want to give the rest a boost in the right direction."
Aren't the kids in the first group the dangerous ones?
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?
You shouldn't assume that they know how to install operating systems. The main thing is that it takes a long time to install software, let alone an entire operating system.
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.)
The one that they are most familiar with, in terms of GUI.
Initially, do they need to be more adept at the GUI, or do they first need to know how to use the shell?
As mentioned above, the one with the GUI will produce better results.
Who takes a whole week to teach kids Gnutella?
Oh...Free OS. Sorry. My bad.
Any sufficiently well-organized Government is indistinguishable from bullshit.
...the kind who are likely to go out and earn $80,000/yr in a post-90s economy.
Do you take 27 year old students?
I wear pants.
Which do people learn first: How do drive, or how to rebuild a car's engine?
Show the kids the cool things they can do with the software first, and once they're interested, then they will understand why they need to learn how to install it and do that on their own.
I wouldn't teach them installation, I think it's far more important to get them using the system. I would start them out with some command-line stuff, though. That'll give them some historical perspective, and reduce the fear-factor if they ever need to go into command line to recover from a crash. I would definitely warn the parents about the CDs.
Brevity is the soul of wit
-- Polonius
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.
- Start off by explaining "FREE". Explain both free as in speach and free as in beer... though maybe not in those terms considering the age group.
- I would stay away from an install of Linux, you could be there all week answering questions on it alone (What does this package do?). Also, stick with a distro you know, but point out all the others. Nothing worse than not knowing right away where that config file is.
- Next up, make sure they're familiar with whatever editor you plan to use. Leave it open to use more complicated editors (vi) if they know it, but otherwise stick to simpler ones.
- Give lots of handouts/links to sites with further information
- Pick a few languages that you are very familiar with, be it PERL, PHP, C, etc.
- Get some interesting projects for them to work on, be it a webpage, game, utility, etc
That's about all I could come up with quickly.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.
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.
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.
LFS
That's where I wish I'd started.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Stick with what you know. If you've never used anything besides Debian, don't teach the class using RedHat. The slight variations might make you seem uneasy. Remember, they can smell fear :)
Don't bog yourself down in installation. A coworker took a Linux class where they did nothing but install for the first two days! If at all possible, have the computers pre-installed before day 1. If some of the kids have prior knowledge, they could assist before the week starts.
As far as which features to learn, ask yourself, "what excites me about *nix". Steer the course towards the answer. You will have to start with the basics no matter what. If you tailor the basics toward a goal, particularly one you enjoy, you're much more likely to inspire somebody.
You can never equivocate too much.
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:
:) 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)
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.
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
Is this course supposed to be about "Alternative Operating Systems" or "Free Software Evangelism"?
I'm not suggesting you ignore Free Software at all, but give a little time at least to the non-free alternatives. OS/2, or whatever it's called now, would be a good example of something technically well-designed, but which failed in the marketpalce. Pre-OS X MacOS has a very long and interesting history. There are buckets of sites out there that'll give you enough material for a few hours on each one.
It might also be worth spending a little time on the differences between the various Windows incarnations, at least from 3.1 to 95 to NT.
You've got a great concept here - don't go turning it into a sermon. The merits of the Free stuff will be obvious, so there's no need to avoid mentioning the competition.
Wasting your time since 1997.
"Knoppix."
microsoftword.mp3 - it doesn't care that they're not words...
>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.
---
Open Source Shirts