Computing Support for Teaching

Quick Links


CSCF provides the hardware, software, room design, and operational support needed for instruction within the School of Computer Science.

Rooms in this environment are designed to be suitable for computing instruction and study. Some (for example the Real-Time lab) contain special equipment for the study of a particular subject.

CSCF will try to accommodate requests for computing requirements, based on availability of resources. Although resources operated by CSCF are available for use by the Faculty, priority will be given to courses offered by the School of Computer Science. Instructors should inform CSCF of specific computing needs well in advance.

Computing Platforms in the Teaching Environment


The machines collectively called linux.student.cs all run a common version of the Ubuntu Linux operating system. Each machine is considered to be a general use server, for general purpose resource intensive computation.

The name linux.student.cs is a DNS round robin name, meaning that each time you use it it will pick a different machine, to provide basic load balancing.

Windows - Terminal Server

Windows Terminal Server is Microsoft Windows that can be accessed remotely via the RDP protocol, which all workstations in the computer labs can do.

Mac OS X

CSCF operates multiple Macintosh labs. These labs provide course-specific access to a standard Macintosh environment, and can be used by students in all courses.

Course Accounts

Each CS course taught on CSCF machines may have an associated course account for administrative purposes at the request of the course instructor. Administrative purposes would consist of web page storage and development, developing assignments and course notes and obtaining a .classlist for the course. Normally the course account will have the same abbreviated name as the course, e.g. "cs234". Course accounts are created at the request of the instructors by speaking with their Teaching Point of Contact for the course.

Course accounts do not have usable passwords. The standard way to access a course account is with ssh and public keys. This is often done by creating an account in the cs-teaching environment, setting the password using your WatIAM password, and then using that account. An automated system has been created to copy authorized ssh public keys into the course accounts: see SSH Public Key Authentication for more information. Once your public key is established in the course account, you can

from the computer where the corresponding private key is kept.

Alternately, instructors and TAs who already have access to a course account can copy keys to course_account/.ssh/authorized_keys on behalf of other course personnel.

Course accounts may provide a ".shosts" (or ".rhosts") file. They are not used directly by `ssh`, rather they are used by a mechanism that regularly copies ssh public keys from personal accounts to the course accounts.

To find an alternative student machine specific to the course environment, see the Student Computing Hosts Web page.


Course accounts are not intended, by default, for reception of email. The current direction (as of Spring 2014) is to use the campus mailservices mail system. If for some reason that can't meet the course needs, e.g. because of the use of a custom mail processing program, then it can enabled.


Course accounts have access to the printers in the DC. Large volume copies should be made elsewhere, such as printing through New Media Services. Examinations can be printed using the Examination Management System, which uses New Media Services.

Course Web Pages

The course account can be used to develop and store course web pages. The files for course WWW pages reside in the "public_html" directory in the course account, e.g. /u/cs240/public_html/index.shtml. An example URL would be If for some reason an instructor wishes to move the current term's course WWW pages to their own page, then it is strongly recommended to provide a reference (or better, a redirect) to that from the course account WWW page.

Posting Course Documentation to Web Pages

If you are posting documentation (e.g. .pdf or .ps files) that you expect students to print, PLEASE make sure that they print successfully to the MFCF self-serve printers (ljp_3016) BEFORE you post them to your web pages. See the documentation about the student printing environment for details.

Course Groups

Historically, some courses used filesystem groups to facilitate students sharing files. Current practice is to use some form of revision control system for this. If groups are an unavoidable requirement, then the instructor or TA may request accounts@cs to have groups created. The names will be of the form "<course_name>_<sequence>", e.g. "cs456_12". Please supply the userid for each student in each group.


Under the course account's home directory, a file called ".classlist" will be created and regularly updated. The file contains a list of students currently registered in the course, including their names, id numbers, and userids. Please copy this list before editing, so updates will work throughout the term on the original file.

Note that the information in a classlist is restricted. So be sure that any file in which you store the information has no general read permissions.

Sending e-mail to all the students enrolled in a course

A unix command (clem - short for Class List E-Mail) is available that enables you to send an email message to everyone in a given class. Instructions are available by typing "clem help" on any undergraduate unix machine. Clem expects the .classlist file for your course to be in your working directory, and for security reasons the .classlist file has no public permissions, so to actually send a message you will need to first login (via `ssh`) to your course account.

Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: | David R. Cheriton School of Computer Science | Faculty of Mathematics

Valid HTML 4.01!Valid CSS! Last modified: Friday, 13-Nov-2015 10:08:23 EST