Building a Linux Computer Lab for Schools? 464
joseamuniz asks: "After giving Linux classes to Secondary School Teachers, I got in touch with a non-profit organization called UNETE. This association has donated 1,523 computer labs to public schools in Mexico. I told them about Linux, and they are interested in equipping a beta computer lab with this Operating System, with Intel PIII, 256 MB RAM PCs. The more they like this lab, the higher chances to include Linux in the new labs donated by this institution." What hardware configurations and software packages would you install on such a machine to show off the real power of Linux in an educational environment?
Well, to start .... (Score:3, Insightful)
Comment removed (Score:5, Insightful)
wont work that easy (Score:5, Insightful)
Should we? (Score:1, Insightful)
Linux is still in the domain of the educated user. From what I know of secondary schools here in the states, most people that run computer labs have trouble enough configuring MS products, much less running linux.
Unless the people in the labs know what they are doing, I would stick with something simple.
Microsoft wins again
For software... (Score:1, Insightful)
After just Linux and OpenOffice installed, it will be evident the advantages are much greater than using Microsoft products, namely because of the price. If these guys are donating thousands of computers to schools, reducing software price from $200-300 per unit to $0 is going to enable them to construct out quite a bit more labs.
There are quite a few Gnome [gnome.org] applications which would help in everyday usability. Of course, Gnome or KDE [kde.org] would probably be your desktop of choice, especially if the organization is coming off of Microsoft Explorer; keep it familiar to effectively show advantages.
You didn't specify what type of educational environment the labs target, but for programming Anjuta [sourceforge.net] is a great alternative to Microsoft Visual C++ [microsoft.com].
A few other mentionable applications would include Mozilla Firefox [mozilla.org] (over Microsoft Internet Explorer), and [microsoft.com] The Gimp [gimp.org] (over Photoshop [adobe.com]).
For networking with existing Windows labs, Samba [samba.org] is an effective alternative.
Re:This is bad for the students (Score:3, Insightful)
An example: My secondary school had a lab full of Apple IIs. By the time I needed my own computer, I bought a Macintosh. % of specifics that weren't obsolete: zero.
Re:Distro (Score:2, Insightful)
I would argue exactly the opposite (Score:5, Insightful)
Force them them to use something else, and they no longer just know how to use windows, but how to use a *computer*.
I've heard it said that the best way to learn how to learn language is to learn many of them. This is why we teach spanish, or why a good CS program should involve several different programming languages.
The concepts for using any OS are the same, and that's what should be taught in school, not exactly where to find what button in Word. You wouldn't say that kids should skip reading Shakespeare because every newspaper in the country is a 100% modern English shop, would you?
Re:This is bad for the students (Score:2, Insightful)
On the other hand, let's give students the credit they deserve. If you provide students with learning both on Windows and linux, they will have a greater skill set when they go onto university and workplace. Since linux can dual-boot, I don't see any problem with teaching them how to use different operating systems. And once they've learned two different OS+GUIs, it won't be hard for them to adapt to new technology (e.g.: they won't be intimidated by a Mac).
Re:This is bad for the students (Score:3, Insightful)
Re:computer lab software (Score:2, Insightful)
Let's not even consider the few students who are actually involved in hacking or programming who might decide to use the school lab (instead of their home boxes) to develop malicious code.
bkr
#1 is running smoothly (Score:5, Insightful)
Concentrate on the fact that you have slow machines running undocumented software that are being demonstrated by people who do not know the software. Every one of those issues needs to be resolved, and if you want the lab to be a real success then aim for the goal of making everything run smoothly every time.
The machines will feel slow, so you will have to work around this somehow or choose a light wm and cope with the added complexity it brings. The software is mimimally documented, and what documentation exists will need to be rewritten for your target level and language. Think howtos with step by step screenshots -- the reason cheesy computer courses use those is because they work... And the teachers need more than just a training course if you expect things to go well, they need a depth of experience.
So to start with the hardware. Linspire does not run well on a typical 500MHz machine because it needs more ram. Decide for each major choice (distro, window manager) how slow it is, and if it will feel better if you choose the fast but hard option or the slow but easy option. Generally, people who haven't used 3GHz computers cope with slowness more, so decide based on their experience rather than yours. If the machines have high ram I would go with KDE, low ram and I'd go with enlightenment or similar.
Next, concentrate on making sure every single thing these people want to do will work flawlessly first time. Make the documentation perfect. In many ways, the docs will be more important than the software.
Now you have the computer side working, concentrate on teaching the teachers to the point that they feel 100% comfortable. It is important at this point that no changes happen to the software. If the teachers just know how to do their lesson but don't feel comfortable then that discomfort will show strongly.
I hate to say it, but this sort of project is a lot of work even with awesome software running on blazingly fast machines. You're not targetting geeks who will overlook details such as user interface or docs because a program is cool. Of course, if you drop your standards and just deliver something that will appeal to geeks, well that's pretty easy with linux.
If you do manage to get the software, training materials and educators all working smoothly, then don't change a thing. Say openoffice 2.0 comes out and would fix a number of issues, ignore it! You can only retrain geeks fast, not people. You'd break your howto with items shifting menus or even just icons being tweaked. You'd upset your educators who don't have the depth of experience in software to cope.
Oh, and please publush everything at this point -- collaborative development doesn't just apply to software.
Good luck.
Make them easy to wipe (Score:3, Insightful)
I used to help admin a high school windows lab, and let me say this:
1) Most edutainment software, while entertaining, is really kind of a silly use for the systems. The only place it really helps is to get little kids used to using a mouse.
2) You almost never find specialty software useful after elementary school.
A good high school workstation needs:
1) A web browser - Firefox or Konqueror
2) An office suite - OpenOffice.org
3) A graphics editor - The Gimp
4) A code editor - Take your pick. I'd say something a bit easier to use for a beginning coder/HTML writer, though
Moreover, there should be a few systems in the school with
1) A dv movie editor - no idea on linux
2) An audio editor - ditto
3) Science tools for conducting lab experiments
If someone else wants to fill in those gaps, go ahead.
These obviously go where you'd need that specialization.
That's about it. What's *more* important for a lab is a system to deal with the fact that KIDS LIKE TO MESS WITH COMPUTERS.
They will change the desktop, delete important files, install crap, put keyloggers on just to play around, etc, etc.
There are a few ways to fix this:
1) Use restricted users or special software to keep them from doing any of it.
2) Have a script to re-image the machine every night.
I strongly recommend a combination of the two, leaning toward the second one. It works a lot better, and doesn't constantly annoy the students either.
I'll leave it to the linux gurus to suggest how you actually do this in linux, but I know that it can be done reasonably, and that these are the most important aspects of a high school computer lab. I think that any install recommended for this purpose doesn't need to show any flashy about linux, or how the students can compile their own kernels (although that is fun), but how it can set up an easy to use and maintainable lab much cheaper and simpler than doing the same thing in windows.
Especially push the "no MS Audits" thing. We used to waste *SO* much time worrying about those. According to my teacher, if we got caught with one unlicensed copy of anything on a system, they were legally allowed to confiscate the entire lab (although I was never entirely clear on who "they" were). Not having to keep track of MS serials sounds like plenty of reason for a switch to me, especially since you never use any of the special capabilities of Word or excel in high school that make OpenOffice migration difficult in the business world.
Re:Don't (Score:2, Insightful)
However, Linux is indeed a great solution for breathing life into outdated equipment, provided the equipment is up to the task.
As an example, at school I had to use an old P166 for my programming class. It was running some version of Windows (2000, I think), but it was frustratingly slow. Windows 2000 was probably designed to run on computers manufactured somewhere around the year 2000, and not 1995.
To get around this, I loaded Linux on the machine. Now, of course, since Linux can't make the hardware faster, I had to change something else to get the performance I wanted. The simplest solution was to not install X and just run everything from the console. The hardware could easily handle Bash, Screen, Links (text-mode web browser), and Vim, so I was able to use very outdated hardware to complete my project.
If I had one complaint, it would probably be that compiling my application took roughly 45 minutes (this was a one hour class), compared to less than one minute on modern hardware (undoubtedly due to a lack of RAM).
Basically what I'm saying is that Mozilla is a huge and rather bloated piece of software and it will never run well on very old hardware. On the other hand, Mozilla is not the only option with Linux and a decent system can be setup on old hardware.
As a preemptive response, I'd like to point out that other browsers based on the Mozilla rendering engine are much faster. If that lab had been set up with IceWM (or XFCE) and Epiphany or Firefox, I think the results would have been much better. I am in no way suggesting that you should have used text-mode web browsers.
Some thoughts on how to set this up. (Score:3, Insightful)
Second, the best distro would likely be Fedora Core or SuSE, as these are "friendly" and geared towards the non-technical folk. Maintenance is relatively easy, stability is generally good and security seems to be fairly well taken care of.
Third, you absolutely, definitely, without question need software that can interact with Windows software and systems. That means you want Samba installed (probably as server as well as client), Open Office, Terminal Services, Evolution and readers for the various Microsoft codecs. If you want a lot of web-based activity, you'll want to make sure browsers support PDF, Flash, Shockwave and preferaby JScript.
Depending on the age-range of the student, and the activities they'll be wanting to use the computer for, you will likely want to install software developed by a variety of Universities, research laboratories and scientific institutions. What you ideally want to do is ensure the students come away with the feeling that Real Stuff can be done on any home computer, even if it is slower than NASA's latest supercomputer.
(This is vital. The biggest single turn-off in education is to come across as irrelevent factoid-pumping or useless trivia. It doesn't matter if the students end up using the programs in class or afterwards, what matters is that they don't feel they're wasting their time learning about - or with - computers.)
If you get the chance, I'd suggest installing either grid software or clustering software, plus a demo that wanders from screen to screen. That is likely to hold the attention of brighter students, who will likely want to learn how that's done so that they can do better. Again, it's all to do with interest levels.
The key with students is that you need to make a subject or a technology a drug of choice. They must want to get hooked on it and must want more so badly they can taste it. That is how you get them engaged and that is how you get them to do more than sit around like stuffed dummies.
Of course, you COULD treat them like stuffed dummies. At that point, you could save yourself time and effort by installing empty boxes rather than computers. They won't notice the difference, in that state.
Highly unadvisable...... (Score:2, Insightful)
Centrally managed (Score:1, Insightful)
- Centrally authenticated
- Centrally managed (updates, new software installations)
- Work with the rest! (File & Printer shares)
because that is what the Windowses do nowadays with quite an ease. If you don't, no one will want extra burden from your tweaks.
Re:This is bad for the students (Score:3, Insightful)
So, negative moderators of the parent post, please explain to me how Mexican students are served by being force-fed a marginally-used OS in favor of one that is used by almost everybody in the business world?
So I think I have answered your original question. Do you agree?
Re:I would argue exactly the opposite (Score:4, Insightful)
Force them them to use something else, and they no longer just know how to use windows, but how to use a *computer*.
I totally agree. If you're going to be teaching "computer literacy", it's better if you can incorporate multiple operating systems, not for the sake of being a politically-correct geek or pro-Linux advocacy, but because it will help them understand computers better.
For one thing, I don't consider a person "computer literate" because they can start MS Word and type a letter. If someone don't find it easy to sit down in front of any one of the more popular modern GUIs (Gnome, KDE, Windows, or OSX), find the word-processor, and type a letter, save it, and then find the saved file, they aren't computer literate. All of these DEs use common interface elements, and they should be figure-out-able even if you've never used them before so long as you *actually* understand how to use any of the other DEs.
In addition, seeing how the different DEs handle things would be helpful in understanding what's actually going on. I know lots of Windows users who don't really know what the start menu is. I mean, they use it all the time, but they don't know that it's a convention created to make your programs easier to find, they believe that it's as simple as "If I want to access Microsoft Word, it comes up when I click on start." Since they've only been exposed to Windows, they don't understand that a computer could exist without a start menu. It would be a useful training technique to stick these people in front of a Mac, for example, and point out that the Dock serves a similar purpose-- easy access to your apps along the side of your screen (default bottom). The applications aren't actually located there, but it's just a shortcut. Likewise, you can compare Windows Shortcuts and Macintosh Aliases, or the menu along the top of the screen vs. attached to each window. Understanding the differences and similarities should demonstrate that, though each of these conventions serve a purpose, they are conventions that can be understood rather than a memorized interaction.
Now before someone jumps down my throat saying, "We're talking about basic computer literacy, not trying to force people to be computer geeks," it's not as though I'm talking about making people build Linux from scratch. All I'm saying is that you give people an introduction to some of the major desktop environments so they can see what's different and what's the same. Comparing and contrasting two things is a great way to understand both things better. Many computer UI elements are conventional, some of them arbitrary, some of them even changing. The start menu from Windows 95 is not the same as the one from XP. Files are located in different places. Menus have become self-ajusting, and features have been added/removed/altered. But all of them have similarities: files, shortcuts/aliases, menus, heirarchical file systems of directories/folders, a program to browse the file system (nautilus, finder, explorer), etc.
I'm not asking that users understand how, exactly these things work, but I also think that even a Windows-only user should understand these things well enough to sit down in front of KDE or Gnome without too much confusion before we call them "computer literate". If you want users to be "literate" enough to deal with the differences between even different versions of Windows, they really need to have *some* idea about how things work, and why they are the way they are.
Re:K-12 Linux Project (Score:3, Insightful)
What makes you think that would ever be necessary?
Seriously. The admin doesn't even have to do this. Just install the distro hook up the clients, create accounts, and you're done.
Hard disks are cloned so that a PC is exactly the same as the other. So installation will actually just based on one manually installed computer.
This is much easier with LTSP. Thin clients don't even need hard drives.
Don't worry too much... (Score:1, Insightful)
Re:Wow .. what a coincidence.... (Score:2, Insightful)
Re:Wow .. what a coincidence.... (Score:2, Insightful)