Linux at Rancho Santiago College

Linux is being used to teach Computer Science classes at a community college in Santa Ana, California.

Roughly twice a year, I find myself
combing the Unix job ads in the LA Times.
Luckily, this does not mean I am frequently unemployed. In fact, in
addition to my full-time job integrating, supporting and teaching
Unix, I am also a part-time instructor at Rancho Santiago, a
community college in Santa Ana, California. For the first hour of
the first class of every semester, the parking lots are a jungle,
and students are struggling to find the right buildings and
classrooms. I use this hour to discuss the recent Unix job ads and
“buzz words”. I cover what students will learn in my class and
what additional skills employers list most often in these ads. In
January 97, employers most often wanted Unix plus C programming or
Unix plus Windows NT (networking). Rarely do ads mention a specific
Unix operating system type such as HP, Sun or Linux.

Unix Like a Car Radio?

I use Linux extensively in my classes. I also use the free
version of SCO Unix. I teach a series of three full-semester Unix
classes available at Rancho:

CMPR 141: Unix Operating System

CMPR 241: Unix System Administration

CMPR 242: Advanced Unix Shell Scripts

In each of these classes, I give my car radio analogy. There
are many different styles of car radios, each with a slightly
different placement of knobs and controls; yet when most people get
into a strange car, they can turn on the radio, adjust the volume,
change the station and maybe set their favorite stations. In the
same way, Unix on different computer platforms has variations in
the basic commands, e.g., how you log off or how you display a file
one page at a time. There is no need to become disoriented when you
face a strange car radio, oops ... I mean when you face a new
variant of Unix, especially if you are on the Internet, using
TELNET to access one host or another. While Linux has peculiarities
that you don't find on other flavors of Unix, it is not alone.
Every Unix has some peculiarities. For me, the important issue is
that Linux supports all the standard Unix commands and shell
features.

Why Linux?

When I first started teaching at Rancho, my biggest problem
was the fact that students had no access to Unix outside of my
three-hour once-per-week class. The school has a computer lab, but
none of the systems there had access to Unix. I considered several
alternatives before deciding on Linux. There are packages that
allow you to run Unix utilities under MS-DOS. I decided against
using these, because the problems that arose were not really Unix
issues, such as MS-DOS not supporting upper and lower case file
names or Unix permissions. There was another flavor of Unix that
could be loaded from floppy, but that company is no longer in
business. The free version of SCO was not available at the time
and, since it is only a 2-user version, it must be installed at
each station which is difficult in a lab situation.

I also considered freeBSD. However, I eventually chose to use
Linux in my classroom for the following reasons:

Linux acts like a standard version of Unix and the
problems that arise are true Unix issues (not MS-DOS
issues).

Linux has a large body of documentation and HOWTOs
that allow me to customize the package as needed.

Linux licensing allows me to make the software
freely available to students.

Linux evolves continuously, supporting new hardware
as it becomes available.

Internet ISPs use Linux as e-mail and/or domain
name servers.

Linux is strongly represented in the technical book
stores under both the Unix and Internet categories.

There are a number of different Linux
distributions, fostering healthy competition and adding
value.

All of the above show that Linux is a thriving variant of
Unix, worth studying in its own right, as well as a useful teaching
tool.

On the other hand, I also warn my students that Linux is not
yet fully accepted as a commercial grade of Unix by all employers.
I also use the free SCO Unix in my classroom so that students can
see variations in Unix side-by-side, and so they can list SCO Unix
as well as Linux in their resumes.

Floppy-Based Linux

For my students, I have created a distribution of Linux which
I call Floppy-Based Linux. It runs completely from floppy and never
accesses the hard disk, yet it supports all the standard Unix
commands and man pages. It can also use TELNET and FTP to access
the Linux server running in the classroom and can print to network
printers in the classroom and the computer lab. Of course, this is
slower than running from hard disk, but it provides a number of
advantages in my environment. My students are often computer
neophytes. I need a bullet-proof environment where they can freely
make mistakes. Thus, I ruled out any distributions that would
require them to load software onto the hard disk, even the UMSDOS
file system. I want my students to be able to work on Unix at home,
at work or in the school computer lab since I believe that
accessing Unix hands-on is essential to learning Unix. At the same
time, I could not take a chance that a mistake on their part might
alter or corrupt their home computer, work computer or lab
computer.

My students can run Floppy-Based Linux on any PC with 8MB of
RAM and a 3.5-inch floppy drive. The floppy diskettes are
write-protected when in use, so they cannot be corrupted. The Linux
kernel has been rebuilt, so that it has no drivers for IDE or SCSI
hard disks to ensure that a student cannot alter the hard disk. At
first, I started with the Slackware 3.0 boot diskettes and RAM
disk, but I found that these are not in ELF format so I could not
add some of the commands I wanted. Following the boot disk HOWTO, I
created my own boot diskette and 3MB RAM disk. After loading the
RAM disk, an rc script prompts the student to insert a
“Supplement” diskette, which loads more files into the root file
system in memory. Students then mount a “Utils” diskette which
gives them access to many more Unix commands and man pages.

Students can use Floppy-Based Linux for homework assignments
outside of the classroom. Inside the classroom, there are 18
Windows PCs, one Linux Server and one free SCO Unix system.
Students bring up Floppy-Based Linux on the Windows PCs and then
download new homework assignments from the Linux server using FTP.
They also upload their completed homework to the Linux server. They
can print to a network printer in the classroom. I have also used
variants of Floppy-Based Linux to debug network problems and to
make image backups of a Windows hard-disk partition using
dd (device-to-device copy) “piped” to
rsh (remote shell) to save the data on another
system in the network or its tape drive. (Hard disk access was
enabled in order to do this.)