The manual has been modified to a consistent style throughout. All Divisions and major sections have title pages. It is recommended that you put tabs on these pages for quick access.

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.

Typewriter This font indicates something typed by the user.

BOLDFACE This font indicates something displayed by the computer.

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.

Why are we printing only one manual? Well, there are several reasons. The advantages to you, the reader, are:

- You will never again buy duplicate information when you take another CS class.

- The manuals are structured so that you will either buy the information now, or you have previously received it from an earlier class.

- If you are interested in a specific topic, you can simply purchase the package on that topic.

- You can expand and modify the contents of your manual easily.

- When you leave us you will have a complete manual, in one binder, of all the information we have.

- The cost structure of the manual changes for the better. In the early Computer Science classes you will be required to purchase a number of packages. As you progress through Computer Science, you will purchase fewer packages per class, reducing your overall cost.

The advantages to us, the Computer Science department, are:

- We eliminate a great deal of duplication. Several manuals that we previously published contained the same, or similar information, with varying degrees of detail (and each slightly different). It was a nightmare when we had to re-write information four or five times!

- Information is compartmentalized (for example: Logic Works is all in section 8.1). This allows us to refer you to the appropriate section in the manual easily.

- The new manual structure allows us to easily add new information, or update specific sections without modifying and re-publishing the entire manual.

- The conversion process allowed us to pool our information and add a significant amount of new information that had previously not been published.

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! The back of the manual contains a "Reader's Comments" section that you can use to make any suggestions you deem appropriate. If that form is missing, you can write to us at:

CS Users' Manual

Department of Computer Science

University of Regina

Regina, Saskatchewan, S4S 0A2

You can also give the form to any CS Laboratory Instructor, or to the Department office.

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

We have organized the manual two different ways: the way you place it in a binder and the way you purchase it. 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.

The Master Table of Contents does not contain page numbers. Rather, it shows you all the sub-sections up to "level four" (for example: This Master Table is intended to show you all the information we have available, as well as provide you with a way of quickly finding the section you are searching for. We recommend that you place tabs on each of the provided title pages (one per division and usually one per section) so you can find information faster.

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 Reader's Comment form is used by you to provide suggestions for improvement to us. We encourage you to use it!

Purchasing this Manual

We previously mentioned that this manual was organized two ways. The first way was the actual structure of the manual (Division, Sections, Sub-Sections). The second way organizes this manual in terms of how you buy it.

You will not need to purchase the entire manual at once, although you could if you so desired. You only need specific sections or divisions out of the manual for any one course. The sections you require are divided up into PACKAGES. You are required to purchase a certain number of packages for each course. As you progress through Computer Science you will buy less packages, since you will already have most of the information.

The Users' Manual is divided up into separate packages, labelled A, B, C, and so on. The following chart indicates what packages you need for each class. You MUST purchase the shaded boxes for each class, unless you have previously bought that package. In addition, packages will be updated from time-to-time. You will be required to update an old package (if it is significantly different from the newer package, spelling, grammar, and cosmetic changes don't count).

Package A:


2.0 Structured Programming

3.0 Numeric Representation

5.0 Editors

10.0 Notes

12.4.1 VI Editor Command Summary

12.4.3 Xedit Editor Command Summary

Reader's Comments

Package B:

Master Table of Contents

1.0 Introduction to Labs

6.0 Communications and Networking

11.0 Glossary

Package C:

4.1 Introduction to the VAX

7.4 Fortran

Package D:

7.1 Basic

12.1 Basic Reserved Keywords

Package E:

4.2 Introduction to DOS

Package F:

4.3 Introduction to IBM/CMS

7.3 REXX

Package G:

7.2 SML

12.2 SML Summaries

12.3 EBCDIC Codes

7.12 Pascal

Package H:

7.8 The C Language

Package I:

7.5 Cobol

7.6 SPSS-X

7.10 SAS

Package J:

4.4 LSI, RT-11, TSX

7.7 Macro-11

Package K:

4.5 Macintosh Computers

8.3 Think C

8.5 Hypercard

8.6 Filemaker

Package L:

4.7 68000 Educational Computer Board

8.1 Logic Works

9.0 Circuit Design

12.5 Data Sheets

Package M:

7.11 Postscript

8.2 Shading 8.7. X Windows

12.6 Useful Notes - Graphics

12.7 Graphics Utilities

12.8 UNIX Plot Routines

12.9 Hewlett Packard 7475A Plotter

Package N:

7.9 8086 Assembly Language

8.4 Borland Turbo Packages

Package O:

7.13 Nurve

Package P:

7.14 Turing

Package Q:

4.6 UNIX Systems

12.4.2 UNIX Command Summary

Each section of the manual has a revision date (Month and Year) in the top right hand corner of all even pages. This tells you when the manual was last updated. An old revision date does not mean your manual is out of date! (We won't update the revision date unless we insert new information into that section.) Check the current revision in the bookstore.

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

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!