Skip to main content

MathLAN - Grinnell’s Linux Network

In a recent essay on teaching CS at Grinnell, I mentioned MathLAN. One of our awesome alums sent me a nice note about how much MathLAN meant to her. That inspired today’s essay of the day. It is based on a memo I wrote to my dean and our new CITO last fall. My departmental colleagues provided a lot of input on that original essay.


Grinnell College supports a network of approximately 200 workstations and about a dozen associated servers running the GNU/Linux operating system. It was the first network on campus, installed in 1987. Because that network was developed through an NSF grant to the then Department of Mathematics, it became known as MathLAN (for "Mathematics Local Area Network). It has retained that title as it has grown to support a wider variety of disciplines and as the Department of Mathematics has grown into a Department of Mathematics and Computer Science and then split into a Department of Mathematics and Statistics and a separate Department of Computer Science. It has also retained the title as its use has spread to Physics, Philosophy, English, and beyond. (Perhaps, at this point, we should consider calling it GrinLAN. [1,2])

Although most of campus thinks of MathLAN in terms of the groups of computers in classrooms used in classes in Mathematics, Statistics, and Computer Science, MathLAN is composed of a variety of other pieces and serves multiple other purposes. Among other things, MathLAN provides a wide variety of network services, including the first Web server on campus; supports research projects in a variety of disciplines; allows students to explore various aspects of computing; and promotes a view of computing aligned with the mission statement of the College.

In this essay, I will primarily consider the ways in which MathLAN supports student learning. However, I’ll note that as a computing professional, I could not bear to be without access to some flavor of Linux system. (I’m less of a purist than some of my colleagues, so a Mac with terminal enabled could suffice for me. But having Linux systems available makes my life better.)

Linux is a descendant of the Unix operating system. Both Linux and Unix promote a variety of perspectives to software design and development that the computer science faculty consider essential to developing good computer scientists. For example, Linux systems prioritize small programs that do one thing well over large programs that try to incorporate many many features. Linux then provides simple mechanisms for combining small programs. By combining small parts into a larger whole, students think about interoperability, communication, and more.

Linux also encourages student to develop skills and habits of what many of us call meta programming; writing tools that write and manipulate programs or parts of programs. You think differently about design when you develop these skills.

Our alums regularly tell me that they’ve appreciated the habits they’ve developed as Linux programmers and users. In fact, this approach to designing software is so important that our alumni who work at Microsoft even tell me that Microsoft seems to prefer to hire people who know how to program on Linux systems.

Finally, working with Free and Open-Source software (FOSS) promotes particular attitudes toward software that we consider it important to inculcate among Grinnell students.

We take our responsibility to provide an education through free inquiry and the open exchange of ideas [3] very seriously. Unfortunately, proprietary software, such as Adobe Photoshop, does not readily support such free and open inquiry. A student may not read the source code to Photoshop to understand how a particular result is achieved nor attempt to modify Photoshop to make it behave differently (e.g., to add a new filter). In contrast, Free and Open-Source software (FOSS) provides students with the opportunity not only to investigate the underlying algorithms and programming strategies used in such software, it also gives them the opportunity to make their own variations and to share their work with others. For example, because we use the GNU Image Manipulation Program (GIMP) as the image processing program in our department, students in our introductory courses are able to write programs that generate and manipulate images using GIMP.

Because FOSS projects make the full source code (and, in effect, the development environment) freely available, students can also learn a lot about the design of large projects. How do you segment a large program into smaller pieces? What kinds of things do you automate? What tools do professional programmers seem to use, and how do they use them? Such information is not readily available for proprietary software.

We also encourage all Grinnell students to think about what the costs of proprietary software mean in a world in which not everyone can afford the expense of such software. By showing them not only the power of FOSS, but also their ability not only to use and but also to make such software, we prepare them in life and work to use their knowledge and their abilities to serve the common good. [3]

MathLAN also includes multiple Web servers. In fact, the primary MathLAN Web server was the first Web server on campus. I believe that it is now the only Web server that is generally accessible to all members of our campus community. As such, we are the primary opportunity for students, faculty, and staff to follow the campus policy on Web authors [4], which begins Grinnell College supports the free expression and exchange of ideas and opinions and hopes that users of its computer systems will actively explore the possibilities of electronic publication on the World Wide Web. The College encourages students, faculty, and staff to develop and publish WWW pages through its servers[.] By providing such opportunities, we support the College’s mission, particularly through giving them a venue for the open exchange of ideas [3] and an additional opportunity to express their ideas. The MathLAN Web server hosts a wide variety of materials, from research projects, to course Web materials, to student portfolios, to Erik Simpson’s Connections: A Hypertext Resource for Literature [5].

The permission to build their own Web pages and experiment with installing software is part of our more general commitment to active and constructivist learning. The Computer Science department grounds its pedagogy such approaches. We know that students learn best by active experimentation grounded in real interest and experience. Both through the use of a Free and Open-Source platform and through policies that encourage students to play with our systems, we help students learn not just the topics of our classes, but topics of personal interest to them.

Many of our graduates report fondly that they found their direction by experimenting with different things on our system - building a Web page, setting up a Web server, installing software, writing a shell script, whatever. It’s one of few places that they have that much freedom to explore resources, and such freedom is important.

So, while there is certainly much more to a Grinnell Computer science education than MathLAN, because MathLAN helps us build our student’s technical, design, and ethical knowledge, it plays an essential role in that education. Particularly in its promotion of Grinnell values through the use of FOSS and its support for open and creative expression, it can also play an important role in the education of all Grinnell students.


[1] Microsoft seems to think that our name is GrinCo.

[2] If we did choose the name of GrinLAN, we should probably pretend that it’s an acronym. Let’s see … I’d go with The Grinnell Research and Instruction Necessary Local Area Network. But I’m happy to hear other suggestions.

[3] Grinnell College (n.d.). Mission Statement. https://www.grinnell.edu/about/mission.

[4] Grinnell College (1999). Advice to Webpage Authors. https://www.grinnell.edu/policies/advice-webpage-authors.

[5] Simpson, Erik (n.d.). Connections: A Hypertext Resource for Literature. http://www.cs.grinnell.edu/~simpsone/Connections/.


Version 1.0.1 of 2016-09-11.