Linux from Kindergarten to High School

Moving the school computer lab to Linux was not an easy decision to make—but it was a beneficial one.

As the bell rings to begin class at Greater Houlton Christian Academy, enthusiastic students sit down at their shiny, new computer workstations. In one corner, the red cabinet housing the server hums quietly as two stuffed penguins look on fondly from their perch. Other penguins keep watch from different locations as the students enter their user names and passwords to access their accounts. Ask a student who “Tux” is, and he or she will point to the large penguin painted on the front wall of the computer lab and say, “He's the Linux penguin!” About this time KDE has loaded, and young boys and girls are opening the application they need for class as easily as kicking a ball.

Figure 1. First graders learning some penguin art fundamentals.

Now for a little history. Greater Houlton Christian Academy (GHCA) is a private school and nonprofit organization in Maine. As such, it does not have the same access to funding as the public school system. As the computer science teacher and system administrator, this means I have to be creative about providing our students with computer technology while working with a tight budget. In the past I relied on area businesses and generous individuals to donate their used computers. While these donations were a great blessing to us, they were a temporary solution at best.

Last year it became quite evident that we would need to replace our old, secondhand computers running Windows 95. The decision to move from donated computers to new computers was based on many factors, though our primary goal was to make sure our students had the best technology available for the enhancement of their educational experience. Therefore, this would be a software upgrade as well as a hardware upgrade. In fact, choosing the software was by far the bigger challenge.

Interestingly enough, it was during this time that many schools in the western US were being audited by Microsoft concerning the school's use of Windows and Office software. I began to realize my ignorance concerning exactly how strict and inflexible the Microsoft EULA is. It was also during this time that Microsoft's new licensing initiative, called Software Assurance, was causing quite a stir in the tech headlines. As my research opened my eyes to the various limitations to proprietary software, I began to think that the answer for us might be found in open-source software.

The decision to switch to an open-source platform for our new computer lab was not an easy one. My experience was with DOS and various versions of Windows and not with UNIX-compatible operating systems. I had experimented with Linux a few years earlier but found it somewhat difficult and incomplete. Because some time had passed, I decided to give Linux another try. Going with Mandrake's 8.0 distribution, I installed Linux at home to see if it could replace Windows in a desktop environment. To my amazement, I found Linux to be much more capable this time around. I was one step closer to making my decision to switch our computer lab to the Linux OS.

Other factors went into the final decision to go with open-source software, not the least of which was cost. By purchasing bare-bones computer “kits”, we were able to save considerable money on the hardware. Part of the savings in purchasing a bare-bones system is that the computer does not come with an operating system. We knew by then we would have to spend more money on software than we did on hardware if we went with Microsoft. Not only would I need to consider the initial purchase of the operating system and application software, but I would also need to factor in the costs of upgrading our software every couple of years. Needless to say, going with an open-source platform would save us considerable money now and in the future.

Another key issue was flexibility. As many of you know, it takes time to install an operating system, customize it for the particular hardware it runs on and install the desired applications. Having purchased 20 new, identical computers, it made sense to completely configure one machine and then clone the hard drive to the other 19 computers. However, Microsoft's EULA prevents a user from doing this, even if they have 20 copies of Windows. Not only would Linux save me considerable time by allowing me to clone my configured PC, it also gave me great flexibility in the degree to which I could customize the OS for the hardware. By recompiling the kernel to take advantage of our specific hardware, I could fine-tune the OS to run at peak performance. Linux would even save us money in the cloning process, thanks to the dd command.

A few aspects, however, made the decision to switch to Linux a difficult one. The smaller software base to choose from and the lack of mature drivers for our hardware were among the lesser obstacles. The major obstacle was my own lack of experience with the Linux OS. In fact, most of the money and time spent in the software upgrade of our computer lab was for a shelf full of books I had to purchase and read to really feel confident using and teaching Linux. It isn't always easy to teach an old dog new tricks, but I found the experience one of the most challenging and rewarding experiences of my IT career.

Today our private school of over 170 students has one of the finest computer labs in Maine. We have 20 computers with Athlon 1600+ XP processors, 128MB of RAM, 20GB hard drives and all the accessories—3-D graphics, sound, 17" monitors and 100Mbps Ethernet networking. Our computers run Mandrake Linux 8.2 with KDE 3.0.2. What is most amazing is we upgraded our computer lab for under half the cost of what many neighboring schools paid for inferior equipment. Most of this savings was the result of switching to Linux.

Our servers also run Linux. Using NFS, students can access their accounts from any computer in the lab. Student- and staff-owned files are backed up on a daily basis, so gone are the days of “the computer lost my homework.” Our proxy server runs Squid to help speed our wireless internet connection to 20 workstations, and we use proxy software along with iptables to provide firewall protection. A nice program called Dansguardian provides filtering to protect our children from pornography and other inappropriate content.

Many of you may be asking at this point, “How do you use Linux in teaching your students?” GHCA is a K-12 school, and so we strive to offer some level of computer training for each grade. Kindergarten students, for example, can use such programs as Potato Guy to practice hand-eye coordination and familiarize themselves with how to use a mouse to manipulate objects on the computer screen. Elementary and secondary teachers integrate the computer lab into their curriculum by using the computer for research, multimedia enhancements or even something simple as coloring digital pictures.

Figure 2. Potato Guy develops mouse skills.

Starting with grade seven, education in computer science takes a more formal approach. Seventh graders are taught keyboarding skills using programs such as KTouch and TuxTyping. Grade-eight students are taught the basics of programming with the kate editor and yabasic interpreter. It is during this class that students gain a better understanding of how computers process instructions.

Figure 3. Students learn touch typing with KTouch.

Computer Fundamentals is a one-credit course that introduces the ninth-grade student to “how a computer works” and “how to work a computer”. During the second semester, students learn about the purpose and use of the operating system and various applications, such as word processors, spreadsheets and web browsers. Because our computers run Linux, it is the Linux OS and open-source software that students learn in this class. Being sensitive to the fact that Microsoft currently dominates the PC market in corporate America, I do spend time discussing the similarities and differences between Linux and Windows.

Tenth- through twelfth-grade students can chose from a variety of computer electives, including how to upgrade and repair computers, web site design, advanced programming and even an upcoming course in robotics. In making the switch to Linux, I easily found all the tools needed to teach these courses using open-source software. In many cases, the open-source software we now use is superior to the proprietary software originally donated to us.

This is our first year with our new computer lab, and I am very pleased with how it is progressing. One of the most pleasing experiences I am having as a system administrator of a Linux-based lab is the actual ease of administration. Once I set something up in Linux, I rarely need to worry about it again. This was not the case with Windows. Last year we were constantly suffering from system crashes, frozen servers, strange bugs and the infamous “blue screen of death”. Needless to say, it was a frustrating situation for many students. While Linux is not bug-free, it has been a far more stable operating system for both our workstations and servers. Linux also has shown itself to be a much more versatile operating system to administer in a network environment. My job is more pleasurable thanks to our switch to Linux.

As a teacher of computer science, I am finding this year a fascinating test for Linux. Very few of our students, parents or teachers knew what Linux was before this year. I have actually found this to be a great advantage in teaching computers. In the past, I have found students to be disinterested in learning about the personal computer running Windows, because it is something most of them grew up with at home. This lack of interest made it more difficult to teach the more-advanced aspects of the operating system. However, Linux is something completely new, different and unexplored. Instead of being intimidated by the change, as many adults might be, young people are excited to explore the “uncharted territory”. This opens a door for me as a teacher, allowing me to educate eager minds in the more-advanced aspects of computer operating systems and software. In fact, it only took two weeks until students began to ask me, “Where can I get Linux?”

People sometimes ask me, “Is teaching our students Linux preparing them for the workplace?” This question is based on the fact that Microsoft is the current dominating presence in operating systems and office software. It is a question I have thought over a long time, and the answer I always come up with is, “Yes, most definitely.” The basic principles of any type of operating system, office application or other similarly grouped software are the same. A student who becomes proficient in Linux will not find themselves lost in a Windows environment. I have found Linux to be the more advanced of the two operating systems, yet our students are very quickly and easily learning it. The process of copying a file or formatting a paragraph is not so different between one operating system and the other. The important thing is we are able to offer the latest in hardware and software tools to train our students in these fundamental principles—something we could not do if we went with proprietary software.

Another question that may be even more important to ask is, “What is the future of Linux?” When our students graduate a few years from now, will they enter a Microsoft-dominated workplace or will the tide have changed? Even in our small New England town of Houlton, Maine, businesses are beginning to look to Linux as an alternative to proprietary operating systems. These businesses will need qualified personnel familiar with the Linux operating system and open-source applications. Greater Houlton Christian Academy will be graduating young men and women who will be able to meet that need, a claim not many schools in our nation can currently make. In fact, some of our students may go on to write the future applications for Linux, giving back to the community that helped them during their school years.

For us, switching to open-source software running on the Linux operating system has been the right choice, allowing us to provide our students with modern equipment and software for a fraction of the cost of a computer lab running proprietary software. If Linux continues to grow in popularity and gain a foothold in the workplace, we will look back at our choice as one of the most important decisions we've ever made.

email: computerlab@ghca.com

Michael Surran is the system administrator and computer science teacher at Greater Houlton Christian Academy (www.ghca.com) in Northern Maine. Michael enjoys church, outdoor adventures, target shooting, sci-fi, collecting penguins and his wife, Lisa, who also teaches at GHCA.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Linux from Kindergarten to High School

Anonymous's picture

I wonder why Michael Surran installed linux on 20 computers all with their own hard drives, etc. rather than set up one server and bootable NICs on the rest.

Re: Linux from Kindergarten to High School

Anonymous's picture

I wonder why you are so quick to knock Michael’s configuration and start a thread that takes away from the essence of the article. The point of Michael’s article is that Linux enabled him to set up a superior instructional tool where as he would not have been able to afford such a system otherwise. He has also set the stage for future students to graduate with a solid working knowledge of Linux, an operating system that will most likely be in demand of knowledgeable support staff to many large companies in the very near future. Sounds like a strong reliable system to me. Good job Michael!

Re: Linux from Kindergarten to High School

Anonymous's picture

because he wasn't stupid enough to take a 4x speed loss.

he wants his students to LIKE linux.

sheesh.

do you work for microsoft and are trying to poison people against linux? telling them to turn high performance workstations into dumb terminals....that'd be the way to do it.

Re: Linux from Kindergarten to High School

Anonymous's picture

You don't have to turn them into dumb terminals ... just diskless workstations. There is a difference, you know. See my post way above regarding local-mode versus pure-remote.

You can have super-skookum workstations, and yet only have to administer a single server-image. :)

Re: Linux from Kindergarten to High School

Anonymous's picture

very nice to see the interest of childrens in the linux os.

very good

Re: Linux from Kindergarten to High School

Anonymous's picture

Since we use our computers to teach image and video editing, we felt it would be a good idea for each computer to have its own hard drive. This also gives greater performance compared to a NIC, especially in filesystem intense applications. The network bandwidth is reserved for application data (home directory stuff) and Internet access (and bzflag), while the OS itself can use the much faster local hardrive. We also NFS mount some specific system directories such as the KDE menu, etc. I think the performance gain was worth going this way.

Mike

Re: Linux from Kindergarten to High School

Anonymous's picture

Mike can take a look at the city of Largo Florida if he he interested in going the Xterminal route.

If his "Server" is beefed up enough, he could take some of those old, donated windows machines and possibly set up a 2nd computer lab, or give each class 2 or 3 internet work stations.

Going this rote does not preclude adding xterminals. It actully allows his current systems to do multimedia, and place a minimal load on network resources so he can provide these other services after he gets his feet wet as a linux administrator.

I believe that he has only just started saving money by using Linux.

Re: Linux from Kindergarten to High School

Anonymous's picture

Actually, Mike, I'm sure you didn't do the testing to verify your fear. If you had you would have discovered that using X terminals everywhere instead of Workstations everywhere (like Windows does) actually decreases the amount of network traffic as long as you mask out updating the mouse cursor every time it moves. And it would have been cheaper to put Network Attached Storage, with no perceptible performance penalty. Then you would have a single system to admininster instead of a bunch of Linux Workstations behaving like a bunch of Windows boxes as far as the way apps perform.

You should have also used LCD's. Far less power, virtually no EMF, much diminished rate of failure, space-saving, etc.

Otherwise you did a good job, but you did make some unfortunate mistakes in copying the way that people typically try to make Microsoft computers act like a multiuser environment. I know because I computerize restaurants with terminals and have been practising what I preach as an alternative to what you did for many years.

Gene Mosher

ViewTouch.com

Re: Linux from Kindergarten to High School

Anonymous's picture

mask out updating the mouse cursor every time it moves

For us newbies, can you elaborate? Sounds like I won't have a mouse on my terminals. I'm using remote X logins. Will your method work with that?

Re: Linux from Kindergarten to High School

Anonymous's picture

My goodness, how arrogant you are.

I don't think I'll be buying from ViewTouch.com any time soon.

Re: Linux from Kindergarten to High School

Anonymous's picture

What do expect from a jew

Re: Linux from Kindergarten to High School

Anonymous's picture

Way to go A-Hole!! How do you take a discussion about IT and turn it into racial epithets? Your pure stupidity and ignorace shine like the A-Hole you are!!!!!!!!!!

Re: Linux from Kindergarten to High School

Anonymous's picture

Probably the same I would expect from a non-Jew...

Re: Linux from Kindergarten to High School

Anonymous's picture

So you're saying that you think your products are the only way of operating. Narrow world view, Gene!

Re: Linux from Kindergarten to High School

Anonymous's picture


Actually, Mike, I'm sure you didn't do the testing to verify your fear. If you had you would have discovered that using X terminals everywhere instead of Workstations everywhere (like Windows does) actually decreases the amount of network traffic as long as you mask out updating the mouse cursor every time it moves. And it would have been cheaper to put Network Attached Storage, with no perceptible performance penalty. Then you would have a single system to admininster instead of a bunch of Linux Workstations behaving like a bunch of Windows boxes as far as the way apps perform.

Cheaper, yes. Same features, no. The machines have 3D cards which wouldn't have been available if you'd used X11 terminals (DRI doesn't support indirect hardware acceleration, yet). There are difficulties getting the sound to roam with the X11 display and the XFree86 people have stated several times they are not interested in solving that problem. You'd need a fricking beefy server to handle 20 simultaneous GIMP sessions. You also have the problem of "all eggs in one basket": if the central server goes down then you lose ALL of the desktops. Not to mention potential denial-of-services - intentional or unintentional - when one of the students writes their first infinite loop.

NFS root systems have ludicrously slow load times. I wouldn't accept that option either.

I think Mike took the correct approach. Linux workstations with disk imaging so he only needed to build the first one. He presumably stored the image somewhere (eg, CD-R) and can blast it back whenever he needs to. Central storage of home directories is sensible for backup purposes. If he's using NIS or Kerberos for centralised authentication then I would say this is probably an ideal setup. I think your criticism is unthoughtful and unjustified.

- Nathan Hand

Re: Linux from Kindergarten to High School

Anonymous's picture

Actually, you are both right, and both wrong. :)

You don't want to setup a pure-remote X Terminal setup, as that will saturate the network, and overload the server. We tried that, and found that a dual-proc 1 GHz P-!!! w/4 GB RAM could not support 30 X Terminals running KDE, or even ICEwm and StarOffice.

However, you can setup a local-mode X Terminal setup where the clients still have no harddrive (except for swap space), boot remotely from the server, mount all their drives via NFS, and then run all their programs locally on the client CPU, using the client vid card, sounds card, and other computational resources. This way, any apps that the client can run are downloaded from the server and run locally ... there's no network traffic once the app is loaded, except for saving files. Any app that the client is unable to run is run on the server with the display shot back to the client, as in a standard pure-remote setup.

This is the setup we are using in School District 73 in Kamloops, BC, Canada. We have 37 labs and over 1500 Linux workstations in use at the moment, with another 3 or 4 labs of 30 scheduled for this summer. These are elementary school labs, although we have a few pilot projects for industrial ed/CAD labs in the secondaries (Linux CAD software is much less expensive [$0] than Windows CAD software, yet they are equally as powerful).

Re: Linux from Kindergarten to High School

Anonymous's picture

Yes, I've looked at this as well. People don't understand the education environment. You get 25 simultaneous logins. I don't mean 25 quasi-simultaneous logins. You need a massive server to handle all 25 clients doing the same things at the same time in a graphical environment.

Re: Linux from Kindergarten to High School

Anonymous's picture

Wrong!!! I use 3D terminals so I know it works and works fast. I use 100Mb and it all works fine. I did in the past have to administer a Windows diskless classroom and that was a pain but Linux terminals are great. With the Windows network when all 30 in the class turned on at the same time several would time out waiting for an image but with Linux I have no such problems and I have never had anyone realise they are at a terminal without being told. I always use raid and think the cost of raid is recouped by using terminals and raid goes some way to covering the eggs in the same basket arguement.

That said I think he has done well and he is right to do it the way he is happy doing it. I think no one should set up a system they are not happy with.

Re: Linux from Kindergarten to High School

Anonymous's picture


Wrong!!! I use 3D terminals so I know it works and works fast. I use 100Mb and it all works fine.

No, you have no idea what you're talking about. There is NO support for hardware accelerated indirect rendering in XFree86. You are simply wrong. Your GLX clients were all rendering in software and making NO use of your 3D card's features. GLX commands sent from a client to the XFree86 server are rendered in SOFTWARE ONLY.

Re: Linux from Kindergarten to High School

Anonymous's picture

Try it :) I think I must have forgotten to tell my terminals that they are indirect :) or if you are right then I am shocked at how good software only is now :) Then we will have to tell Sax etc. because it happily sets up opengl.

Re: Linux from Kindergarten to High School

Anonymous's picture

Do you use the terminals to do image and video editing?

Re: Linux from Kindergarten to High School

Anonymous's picture

Hey Gene -

Just because it's a setup that looks more like a windows network than it does a restaurant doesn't mean the guy made any mistakes.

Clearly each approach has it's benefits, and I think it's either immature or uninformed to say that he made any mistakes based on a short article posted on the WWW.

Re: Linux from Kindergarten to High School

Anonymous's picture

I think he means a Linux Terminal Server. In a setup like that the server runs the apps and stores the data. The workstation only video out and input. Look at http://www.ltsp.org for more info.

Re: Linux from Kindergarten to High School

Anonymous's picture

Maybe 'cause if you boot 20 pc all in the same time, you'll get the server overloaded (i dont think he has a load balancing system) and a slower boot process...

Re: Linux from Kindergarten to High School

Anonymous's picture

That depends on the server. We have dual-proc 1 GHz P-!!! systems with 3 or 4 GB of RAM and 2 70 GB harddrives. Booting a lab of 30 Pentium 166s or Pentium-II 350s takes less than 2 minutes. The only time we ran into any kind of slow down during the boot process was in the odd lab that used 10/100 hubs instead of switches. Swapping those out for 10/100 switches solved that problem.

30 computers all running without harddrives is a wonder to behold. Especially when we explain to the teachers that they don't have to worry about "proper shutdown" anymore -- just kill the power. :)

Re: Linux from Kindergarten to High School

Anonymous's picture

Is it good to get kids / teachers in the habbit of "killing the power"?

Re: Linux from Kindergarten to High School

Anonymous's picture

What a great article. Thank you for putting this on the web. I hope this inspires other educational institutions to make the switch out of overpriced products from Redmond. Moving to Linux will create brighter more prepared students when they graduate and save the taxpayer some money to boot.

Re: Linux from Kindergarten to High School

Anonymous's picture

I'm making my boss read this tommorrow (CITO of my University).

Re: Linux from Kindergarten to High School

Anonymous's picture

Hello, as a parent of a student that attends this school, I am proud and appreciative of the work that Mike put into this looking for a new system. If one applies themself, we can usually find a better way and boy did he. The kids love it even though they were raised in a Microsoft world. I actually think they prefer it over Windows. It is the dedication, ingenuity and foresight of someone like that that makes them shine as a fine example.

Susan Mitchell, just a mom

Re: Linux from Kindergarten to High School

Anonymous's picture

Fantastic article. This is why I love Linux so much. The benefit of learning an advanced OS, saving money and having a lot fun for the rest of your life is what its all about!

Re: Linux from Kindergarten to High School

Anonymous's picture

I applaud you the school teacher from maine im in Australia im 53 years old didnt know a lot about computers purchased one when i retired from truck driving 3 years ago it had win 98 within 12 months i had mandrake linux running as dual boot now i have triple boot i wish the schools here in Australia would have the foresight and the daring to dump windows like you did so that we could keep our costs of education down congratulations on a job well done

yours sincerely Ron Brickle

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix