COMP15 lab information

The basics

We will use the CS Department PC-based Linux cluster comp15.eecs.tufts.edu for COMP15 laboratory work. This cluster is accessible from CS Department workstations. Please see the MISSING LINK EECS support pages for more information on remote access. The Sun workstations in Halligan 116 are available for COMP15 students. You may also use the Sun lab in Halligan 118 on an as available basis. Other courses use the machines in Halligan 118 and students from those courses have a higher priority in that lab. Your key card allows 24x7 access to Halligan and its labs.

COMP11 students also use the Sun workstations in Halligan 116. Please start your projects as early as possible to avoid a last minute rush and the inevitable crowds that form!

Use the Secure Shell, ssh, to access comp15.eecs.tufts.edu. After logging onto one of the Sun workstations, open a terminal window and enter:

    ssh comp15
Due to security considerations, comp15.eecs.tufts.edu is not directly accessible from outside of the Computer Science Department network. You must first ssh into one of the CS Department servers such as sun.eecs.tufts.edu.

You must develop your program on this cluster as we will use this same cluster to compile, test and evaluate your program. We will be using the GNU C++ compiler, g++ version 2.95.3. It is common industrial practice to chose a particular compiler, or even a particular version of a compiler, for a project and to stick with it. Be sure to build and execute your program on the Linux cluster before submitting your code. There are differences between GNU g++ compilers and libraries on different platforms (UNIX, Linux, Windows, OS X) even if the compilers and libraries have the same version number! Any project which does not build correctly will be assigned a score of zero (no partial credit.)

If you choose to use your own machine, you are completely responsible for communication and upload/download issues. No extensions will be granted due to communication problems, etc. If you intend to use your own machine, you should start as early as possible in order to resolve computer communication issues.

Development tools

You need to learn to use a UNIX- or Linux-based text editor like Emacs or VI/VIM. These editors are in common use, even on (gasp) Windows boxes. Emacs has a good built-in tutorial. Just enter Control-H (hold down the control key and simultaneously type 'H') and then the character 't' for "tutorial." The key Control-H in Emacs invokes its help system. Entering Control-H followed by the question mark character, '?', displays a list of help options.

If you insist on using Windows, you might want to consider the Cygwin and Cygwin/X Linux-like environments for Windows. Please recognize, though, that you will be on your own for support and help if you choose to install and use Cygwin. You will still need to compile and test on comp15.eecs.tufts.edu, which is the gold standard for project development. You should really plan to perform the full edit, compile, and test loop all on the Linux cluster -- local editing and uploads are just too time-consuming and cumbersome.

You may want to consider using the GNU debugger, gdb, when debugging your program. Debuggers, however, often distract from your main task which is thinking and understanding what your program is doing. Psychological studies have shown that debugging aids do not speed up the identification of logic errors.

Some of the assignments involve simple computer graphics. For these assignments, You will write a program to generate a PostScript file, which, in turn, must be interpreted and displayed by a PostScript previewer. The Ghostscript interpreter and previewer is installed on both the Sun workstations and the comp15.eecs.tufts.edu cluster. The two relevant programs are:

The Ghostscript previewer runs under the X Windows. You must be logged into a system under X windows (e.g., a Sun workstation) in order to display a PostScript file. Your home directory is accessible on with the Sun workstations and comp15.eecs.tufts.edu, so if are logged onto a Sun workstation, you can open two terminals windows: one to run the Ghostscript previewer locally on the Sun workstation and one to edit, compile and execute on comp15.eecs.tufts.edu.

Note: Here is an optional suggestion for remote use. You can run the Ghostscript previewer on comp15.eecs.tufts.edu and display to a local X windows client. On comp15.eecs.tufts.edu, you will need to set the DISPLAY environment variable first to point the Ghostscript previewer at the X client running on your workstation (or personal computer.) You can discover the network name of your workstation running the uname command on your remote workstation:

    27 > uname -n
    lab118c
In this example, the workstation replied with the node name lab118c. Once you have the node name, you use it to set the DISPLAY environment on comp15.eecs.tufts.edu as shown in this example:
    setenv DISPLAY lab118c:0.0
If this procedure is at all confusing to you, just jam down to the Sun lab and use the simpler "two window" method outlined in the main text.

On-line documentation

Their are two Linux (UNIX) commands that provide on-line documentation:

The command:
    man apropos
displays the manual page for the apropos command. Try the commands below to learn more about the GNU g++ compiler, the debugger and the Ghostscript previewer:
    man g++
    man gdb
    man gs
The following table shows some basic commands that everyone should know. Use man to get more information about them.

Basic Linux/UNIX commands
ls Display directory contents
pwd Display current working directory
cd Change current working directory
mkdir Make a new directory
rmdir Remove an existing directory
rm Remove a file or files
more Display contents of a file (page by page)
lpr Print a file
chmod Change directory and file permissions to protect your files

CS Department facilities

The Computer Science Department provides a number of laboratories in Halligan Hall. These labs are used by other classes, so start work on your assignments early!

Facilities information
CS facilities overview MISSING LINK EECS support page
Solaris workstations Room 116: Solaris workstations

Room 118: Solaris workstations with graphics accelerators
Linux workstations Room 120: Dual-boot Linux workstations

Room 122: Dual-boot Linux workstations

More information about the Computer Science Department facilities can be obtained through the links below.

Reference information
EECS support page MISSING LINK EECS support page
Remote access MISSING LINK EECS remote access support
UNIX tutorial MISSING LINK EECS Unix tutorial

CS accounts

If you took COMP11 last term, you should continue to use the same account. If you pre-registered for COMP15, you will receive an account during the first week of classes. If you have not re-registered for COMP15, you must fill out an account request form.

The MISSING LINK EECS Account Management system allows authorized CS users who have Tufts e-mail accounts to activate or reset their accounts. You will need a Tufts Trumpeter e-mail account. Please have your Trumpeter e-mail name and password available.

Copyright © 2004-2013 Paul J. Drongowski