FEniCS Project Banner

We use Ubuntu to minimize installation problems

Many fear to introduce programming and simulation in courses because there are so many technical details. For example, how shall students install Python and 30 software packages on their personal laptops? This question quickly scares teachers. We have found a solution that has proven to be successful over the last four years: force all students to use Ubuntu, and provide support for Ubuntu only!

Mac users typically run Ubuntu in a virtual machine (VirtualBox, or preferably, VMWare Player or VMWare Fusion), while Windows users can run a virtual machine or have a dual boot. The Wubi software makes installing the dual boot solution very easy. On Ubuntu we have one package (python-scitools) that installs everything the students need in one command. Later courses can just provide a one-line command with their needs for additional packages.

There are several reasons why we dare to force the use of only one operating system:

  1. Installation of programming tools and mathematical software on Windows and Mac OS X requires comprehensive competence that very few students have and want to gain.
  2. On Debian Linux systems, including Ubuntu, installation of complex mathematical software is done by a one-line command.
  3. Debian Linux has the largest collection of mathematical software today.
  4. When the students need to compile and link their own software, this seems to be easier on Linux systems than on Mac OS X and Windows. Although Mac OS X is basically Unix, there are many technical peculiarities that quickly calls for competence beyond what students and the average teacher have.
  5. Ubuntu’s graphical interface is very similar to Windows or Mac OS X so students pick up Ubuntu without any noise.
  6. Students struggle much more with the logic of programming than with Emacs and Unix commands.

I should add that Fedora Scientific may provide a viable alternative to Ubuntu, especially on sites where Fedora is already the supported Linux system. Fedora Scientific now offers a lot of very useful mathematics software

In future cloud supercomputing I imagine one can just upload the Linux image (running in a virtual machine) to the cloud service and avoid tedious installation processes. By archiving the image along with scientific results, one can at any time rerun simulations - the complete operating system, all the needed software, and all data reside in the image. This is key to reproducible science.

So far, I have not heard one single negative comment that we support only one operating system. When we tried to support Unix, Linux, Windows, and Mac, there were a lot of complaints from students that they did not have access to the right software and that technical problems with computers stole too much attention. These complaints have simply disappeared with the standardization on Ubuntu. So we have learned that giving people more choices does not necessarily make them happier.

A final comment. The use of Ubuntu is mainly motivated by the total need of mathematical packages and programming tools during a student’s entire stay at the university. If the need is basically an environment for doing Python programming, the Enthought Python Distribution or the Python(x,y) package provide user-friendly environments on any standard Windows computer.

_images/python6.jpeg

Resources