Fundamentals of Computer Science I: Media Computing (CS151.02 2007F)

Grinnell's Linux Environment

This reading is also available in PDF.

Summary: We examine the operating system environment in which the course is conducted.



As this is a workshop-style course (aka a constructivist, collaborative computing course), you will be working on the computers in our classroom on most class days. You will quickly find that these computers have many similarities to the computers you have used in the past, but that there are also some differences. (When we started teaching this course, many students hadn't used computers at all. You will occasionally find comments in the readings and labs that reflect that different perspective.) In this document, we will explore some of the key issues you may need to consider in working on the Linux computers that we prefer in computer science.

Operating Systems and Graphical User Interfaces

A modern computer is much more than a bunch of circuitry. Most of us think of computers in terms of the operating system that they run and the graphical user interface that accompanies the operating system. Those terms may be new to you, so let us consider them quickly.

As its name suggests, an operating system (also OS) is the system used for operating the computer. It is a large computer program that manages and simplifies most of the underlying hardware. The operating system is responsible for managing files, managing other programs, dealing with the keyboard, screen, and other peripherals, and much more.

In the old days of computing (e.g., when I started), you interacted with the operating systems almost exclusively by typing on a keyboard and seeing results on a screen (yes, we had evolved beyond punchcards). There was no mouse. To us, the operating system really referred to the underlying capabilities.

These days, you interact with computers through a graphical user interface (also GUI). Its name is similarly clear: It's the interface through which you use the computer, and its a graphical (as opposed to textual or auditory) interface. Modern graphical user interfaces stem from work at Xerox PARC, although they were introduced to the broader consumer world through the Apple Macintosh. To most modern users, the GUI is indistinguishable from the OS. (Programmers may still find it useful to distinguish them.)

The Linux Operating System

In Grinnell's computer science department, we use an operating system known as Linux. Linux is distinguished by being an Open operating system (which means that anyone who has the knowledge and desire to make modifications to the program code of the operating system is permitted to do so) and a Free operating system (which means that it doesn't have to cost you anything to install it on your computer, unlike the Macintosh OS, with a list price of about $150, or the Windows OS, with a list price of about $400). Admittedly, the Linux community uses Free in two ways, in the way I used it above (as in Free Beer) and in the way I used Open (as in Freedom).

Why do we use Linux rather than Macintosh OS or Windows, particularly since much of the rest of the institution uses Windows? One reason is that we consider Linux to be technically superior: It is less likely to crash, it is freer from viruses and other irritants, it has a much longer history of separating what the average user can do from what the administrator can do. More importantly, it is much more portable. You can sit down at any Linux computer on our network and have exactly the same set of files naturally available. (Think about how many times you save a file on one Windows box on campus, forget to move it to StorageServer, and then cannot access it elsewhere on campus. That will never happen on the Linux network.)

Many members of the department also have a philosophical preference for the Open Source and Free Software movements, of which Linux is an important part. We believe that good software should be free, in both senses of the word.


Linux, unlike Macintosh OS X or Microsoft Windows, permits you to use a variety of GUIs on top of the same underlying OS. We have chosen to use a GUI called Gnome. Our experience suggests that Gnome provides an appropriate balance of power, configurability, and usability.

Gnome, like Windows, provides a task bar at the bottom of the screen. You will click icons on the task bar to start applications. You may use a popup menu on the task bar to log out when you are done with your work.

Using Linux

So, what does this all mean for you, other than that the computer scientists at Grinnell worry about these things? It means that you will have to use an unfamiliar GUI in this course (and in any future computer science courses you take). Fortunately, Gnome is similar enough to other operating systems (particularly to Microsoft Windows) that you should find it fairly natural to use.

Like the Microsoft Windows boxes on campus, the Linux workstations require you to log in to use them. Our Linux network uses an independent password system, so you should remember that you have different passwords (unless you take the time to make them the same). In contrast to passwords on the Windows network, Linux passwords are stored in such a way that no one, not even the system administrator, can extract the original password, so it is safe to use the same password. (Of course, someone trying to guess your password still has an opportunity to do so.)

Important Linux Programs

In this course, you will be using a variety of programs. There are four that I consider particularly important.




Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Mon Dec 3 09:53:55 2007.
The source to the document was last modified on Mon Aug 27 08:36:23 2007.
This document may be found at

You may wish to validate this document's HTML ; Valid CSS! ; Creative Commons License

Samuel A. Rebelsky,

Copyright © 2007 Janet Davis, Matthew Kluber, and Samuel A. Rebelsky. (Selected materials copyright by John David Stone and Henry Walker and used by permission.) This material is based upon work partially supported by the National Science Foundation under Grant No. CCLI-0633090. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License. To view a copy of this license, visit or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.