Pre-Lab

Background

The first lab is a "getting
started" lab. During this lab you will perform, likely for the first time,
activities that you will continue to perform throughout the term. Since this is
the first time, some advance information should make the lab session run more
smoothly.

This lab is all about learning to use the computing
environment and its tools. The lab sessions will be conducted in room 439 in
the CAP Science building. This room contains PCs running
a version of the Microsoft Windows
operating system. We'll assume that you know how to use PCs running
Windows. If you do not, contact your instructor for some additional background
materials.

The PCs allow you to open Internet browsers and
other applications simultaneoulsy. One of these other applications will be a
"telnet window" that allows you to access another computer.
Specifically, you will use the telnet application to log into the Computer
Science Department's academic server machine, which is named "cs". An
important thing to learn about the telnet window is you can not use the mouse
"inside" the window; you'll use only the keyboard "inside"
this window. Also, you should not resize
the telnet window.

The cs machine runs a different operating system
called Unix. Unix uses a command line interface, meaning that
you tell it what you want it to do by typing lines of "words".
There are no icons
to click on. Instead you type commands that are much like imperative sentences
in English.
The sentences are formed from simple "words" and punctuation marks.
The first "word" on the line is the "verb" -- it specifies an operation to
perform. Other "words" on the line function like direct objects (naming
things to be worked on by the command) or like adjectives or adverbs (modifying
the meaning of other words in the command).
Unix tells you when
it is ready for a command with a prompt (which is the % character). Some
examples of Unix commands are: cp (to copy files), ls (to list what files you have), and cd (to change
directory). "Change directory?" you might be asking.
"What is a directory?" A directory is the Unix name for a
"folder." It is a special file that contains other files (including
other directories). For example, you'll have a directory for this class called 1440 and inside
that directory you'll have another directory called Lab1 for all your Lab 1 work. At
first you may find the Unix interface a bit clumsy, but "it grows on
you!"

Now, on cs there are some additional tools you'll
need to learn about. You'll need to create and modify C++ program files. This
requires an editor application. You'll need to convert your C++ program files,
which are readable by humans but not computers, into executable program files,
which are readable by the cs machine but not by humans. Lastly you'll need to
print your C++ program files.

The editor application we'll start using is a
simple one. It is called pico.
This allows you to type text into a file and save it. It is a lot like a word
processor, but without the fancy stuff. There are more powerful editors which
are tailored for the kinds of things programmers do, but they are a little more
complicated to learn to use. The g++ application is the C++ compiler we'll use
in this course. The compiler is the tool that converts the human readable C++
program into a machine readable form that can be executed. When you run the g++
compiler you also tell it which C++ program file to convert. Lastly, the enscript application
prints your C++ program files to a printer. There are two printers available:
one in CAP 439 and another in CAP 369, which is a public PC lab.

Exercises

1.What is the telnet application used for?

2.In Windows, can you have an Internet browser open at the same
time as another application?

3.What is the name of the CS department’s academic server
machine?

4.What operating system does this server machine use?

5.Is the telnet application a “full service” Windows application;
that is, can you point and click at things “inside” the telnet window?

6.How does Unix inform you that it is ready for a command?

7.Are C++ program files readable by humans?

8.Are executable files readable by humans?

9.What tool converts C++ files into executable application
files?

10.What does Unix call a “folder?”

11.Is it okay to resize the telnet window to have it and a browser
viewable at the same time?