Designing a Course in Linux System Administration
I have been a Linux advocate for about ten years now. The first version of Linux I installed was Red Hat 3.0.3. I had used a UNIX-based system in graduate school, and I was somewhat familiar with how to get around (read: how to screw things up). I work at a school that is inundated with Microsoft products. After being there a year or so, I decided to branch out on my own and install Linux on my desktop machine. I have never looked back, and I have been using Linux as my desktop of choice ever since, at home and the office. I occasionally have booted into Windows if I wanted to play a game or read an occasional PowerPoint presentation, but that has been about it. Yes, I know about WINE and CrossOver, but a few games and programs inherently run better when run in a Windows environment. However, more often than not, there are options under Linux that are equally as good as, if not better, than those available under Windows. This is part of the main message I have been touting to our students, faculty and staff for the past few years.
As a result, I have come to be known on campus as a Linux advocate. If people have questions about Linux, they usually find their way to my office as often as they find themselves in the IT office. I also have been bugging our Director of Academic Computing about when the entire campus is going to switch over to Linux. We do have some Linux boxes buried deep in the recesses running our mail server, Blackboard and a few other applications, but we have nothing in the way of a visible Linux presence on campus. The Computer Science department recently converted the Computer Science lab from SGI boxes to Linux boxes, but that is about the extent of Linux on our campus. Is it possible that Linux will be used more widely on campus in the future? I am not sure. It probably will be a long, uphill battle, but one that luckily can be won. If you check out the May 2005 issue of LJ, you can see how a few people got the job done at the Mountainland Applied Technology College.
As you probably can tell, it has been my mission to make Linux more widely accepted on our campus. A colleague from the computer science department, Dr. Kenny Moorman, and I ran a Linux class in our May term a few years ago. May term is a short four-week semester that runs, coincidentally enough, during the month of May. I am running the class again this May. My goal is to try to teach the course in such a way that our students can integrate their PCs into our existing framework. I have to show them how to set up their desktop systems so they can surf, check e-mail, burn CDs, but I also need to teach them some basics on administration. Although I will be teaching them how to turn services on and off, I don't think it would be wise for them to use their boxes as DHCP servers, mail servers or anything of that ilk. I think it would be a nightmare for the campus administrator if students started to hand out IP addresses. At this point, the big question then becomes how I should set up the class?
While Dr. Moorman and I were trying to plan out the class the last time it was taught, we realized that few resources were available in terms of how to make a class like this one successful. A few years later, I still have not found many resources to help develop this class. So, I decided that now might be the time to write down what I think might make the class a success. To start, I have identified four main ideas that I want to address when constructing this course.
Why is Linux important? What is the open-source philosophy? What is the history of Linux?
Are there any good Linux text books out there?
What information should be contained in the course?
What types of assessment should be used.
Let's address these issues one at a time.
Why is Linux important? I can sum it up for you in one word: freedom. If you have been following the Open Source movement, you know I am not talking about the price of the software when I say freedom. That simply happens to be a nice perk. No, the freedom I speak of is being able to use your computer and software in the manner that you wish. It is about not being tied down to any certain vendors who roll out "upgrades" that are incompatible with your current projects. I am talking freedom from viruses; freedom from monopolistic companies that use unfair business tactics to squash their competition; freedom that leads to imagination and innovation. This is the type of freedom to which open source can lead, and it is the type of freedom that should be important on college campuses.
It seems a natural fit that a class on open source should be available on a college campus. If there is to be a change in the open-source vs. closed-source discussion, then we need to teach the up-and-coming engineers and computer scientists about a world in which there are options. We need to teach them where Linux came from, why it has grown and where it is going. This class needs to talk about the differences and philosophies of the Cathedral and the Bazaar. By giving students the arguments for and against both sides of the story, they can make informed decisions and form educated opinions, instead of simply sticking with the status quo. If you can win their hearts, it is much easier to win their minds.