Linux from Kindergarten to High School
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.
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.
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.
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.