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:
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.
- Published formats of this essay: PDF, HTML, Sphinx
- The book Python Scripting for Computational Science
- The book A Primer on Scientific Computing with Python
- Student information on our introductory programming course where Python is used
- The Computing in Science Education reform of science courses at the University of Oslo
- How to access Python on your computer