Throughout this manual symbols and other conventions are used to represent keyboard characters, textual information, or other material. The symbols are explained in the following manner:

[KEY] Any word in a box indicates a special key typed at the keyboard. (For example, [RETURN] means the RETURN key.)

[ [KEY] [KEY] ] When keys are to be held down while others are typed, they are enclosed in boxes. For example, [[CTRL] C] means that the control key should be depressed and the C key struck. [[ALT][DEL][INS]] means to depress and hold the ALT key, depress and hold the DEL key, and finally type the INS key.

Copyright Notice

Copyright (c) 1992, Department of Computer Science, University of Regina, CANADA. All rights reserved, unless otherwise noted. No part of this manual may be reproduced, stored in a retrieval system, or transmitted in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission of the Department of Computer Science.

Several Trademarks, and Registered Trademarks of other corporations and companies are mentioned throughout this manual. Lack of mention of ownership in this copyright notice should not be interpreted as infringement of copyright.


Welcome to the new Computer Science Users' Manual! This manual is a combination of all previous Computer Science Laboratory manuals, with a significant amount of new material not previously published. The work you see before you has been collectively written by a large group of people over several years.

We look forward to hearing from you! We need your comments to help us improve the manual and the information in the manual. Please tell us what you think! You can write to us at:

CS Users' Manual
 Department of Computer Science
 University of Regina
 Regina, Saskatchewan, S4S 0A2

If you have specific suggestions, please make sure you cite the section and page numbers so we can find the problems easily. THANK YOU!

Perhaps a word of caution is called for when using this new type of manual. The emphasis has changed with this manual. Please keep in mind that we are now giving you MORE INFORMATION than before. In many cases information is divided up into an introductory section, and an advanced section, but not always. The advanced section has been provided for those who want to pursue the topic further. Some sections are given to you without the information being filtered into complexity categories. We view this as a positive change since we can now give you a more rounded view of topics. Please pay attention to what we REQUIRE you to read and what you CAN read.

How this manual is organized

The manual itself is broken up into DIVISIONS. Each division contains information on a general topic. The divisions are listed below:

Master Table of Contents


1.0 Introduction to Labs

2.0 Structured Programming

3.0 Numeric Representation

4.0 Systems

5.0 Editors

6.0 Communications and Networking

7.0 Languages

8.0 Software Packages

9.0 Circuit Design

10.0 Notes

11.0 Glossary

12.0 Appendices

Reader's Comments

Divisions are always numbered with a ".0" (for example: Systems is 4.0). Each division is broken up into several SECTIONS, all numbered on a "level two" basis. For example, sections in the Systems Division are 4.1, 4.2, 4.3, and so on. Any level below "level two" is called a SUB-SECTION.

Introduction to Labs introduces you to our lab operating guidelines, as well as providing information on our computer resources, rooms, user accounts, and several other pieces of essential information.

Structured Programming discusses flowcharting, good programming practice, and other related topics. WE EXPECT YOU TO KNOW THIS! PLEASE READ IT!

Numeric Representation talks about how numbers are physically stored on several of our computers, and how numbers are converted and processed through different bases and so on. This information is useful when determining the limits of computers in terms of how much they can really calculate (you may be surprised at what computers CAN'T do!).

The Systems division covers all our operating systems and hardware. It discusses system commands and other information specific to each operating system. Part of the philosophy of our Computer Science Department is to give you exposure to several different machines throughout your education. You will work on most of the popular computers in today's business and scientific market.

Editors discusses all our system editors (usually one per operating system). Editors are simply programs used to enter information or data into the computer. They all behave differently, have different ways of doing things, and are suited for different tasks. People usually develop a "favorite" editor. Here, we provide all our editiors to show you what is available.

Communications and Networking talks about how our Computer network works, how our computers are interconnected, and how we interface with the rest of the world. The University of Regina is in the process of installing a new, state-of-the-art, computer network, so information in this division will change on a regular basis.

The Languages division covers several computer languages. It discusses commands that are specific to each language, as well as structuring, compiling, and running the programs. You will be exposed to most of the major computing languages in the world after you have completed Computer Science.

Software Packages discusses several of the packages we use in our courses. You will only need specific sections of this division at any one time.

Circuit Design talks about the practical hardware application side of Computer Science. This information is required in higher level courses.

The Glossary and Appendices are meant to supplement the rest of the manual, and are intended as a quick reference.

The Use of Humor

Manuals tend to be dry (even we admit that!). That being said, we have selected various quotes, sayings, and stories to lighten things up a bit. They are spread out through the manuals on Division and Section title pages. As with everything else, humor is in the eye of the beholder. Please note that all humor in this manual is not intended to offend. It's just our way of smiling at ourselves and the computing industry.


This manual has undergone a significant revision since all the lab manuals were previously printed. "The Manual Project" was completed by:

Pauline Van Havere

 Jason Breti

 Dean Holroyd

 Ali Rezazadeh

This manual continues to be updated on a current basis. The following individuals maintain and add new material as it is developed:

Pauline Van Havere

Takis Skagos

Zhiwei Wang

Previous material brought into this manual can be attributed to the following individuals:

Fred Cawsey

 Mark Haidl

 Brad Klinger

 Glenn Schmidt

 Carolyn Steen

 Rod Young


Jason Adams

 Art Exner

 Terry Hall

 Michel Hermann

 Takis Skagos

 Nalin Wijesinghe

 Lida Yang

And thanks to anyone else we've forgotten!