Slides from First Lecture of CMPSCI 105

Copyright 1990-1997 Dr. William T. Verts

Visitors since March 15, 1997
This course is Computer Literacy (CMPSCI 105). It is a general service course for the university at large, and satisfies the R2 requirement for analytical reasoning. It is not expected that you know anything about computers when you enter the course-- only that you do at the end! It is a good idea that you know how to type, although "hunt-and-peck" typists can still get through OK.

I am the instructor, and have taught this course since Fall semester of 1990. All questions about the running of the course ultimately come to me. If you have any questions, send mail to me.
The primary concern of many people who attend the first lecture is whether or not they can still get into the course. This is a problem since the course has a critical laboratory component, and there are a fixed, limited number of lab seats, so the answer is generally.....
....."no", unless you are a member of one of a very small number of categories. These include graduating seniors, exchange students, permanent university employees, or continuing education students.
Generally speaking, for the 400 slots officially available, I usually get around 700 requests for the class. If it was strictly a lecture class, I'd say "sure, the more the merrier", and request to give the lectures in the Mullins Center. Since it is a lab course, I have an upper limit of seats in the lab that must not be exceeded. As it is, I can generally overload the course to around 450. But I do have to pick who stays and who goes. For me to do that.....
.....you must sign up on my waiting list. You must do this on the first day of lecture to even be considered. If you are one of the categories mentioned above, or are desperate, sign up and tell me why I should let you in instead of someone else.
If you wish to change lecture time, lab section, or are one of the people I let add the course, come see me. We handle most changes in-house. Do NOT attempt to change labs over the telephone registration system: you will be allowed to drop the old lab, but not add the new, and you will be deleted from the course.
The first lecture is from 11:15am to 12:30pm in Morrill N329. I don't care which of the two lectures you attend; you can attend both if you wish, and don't mind hearing the same jokes twice.
The second lecture is also in Morrill N329, but runs from 4:00pm to 5:15pm. Historically, this lecture is lighter attended than the morning section, so you have a better chance of finding a seat.
My office is Hasbrouck 121. I am one of the few Computer Science faculty not in the Graduate Research Center. My mailing address, however, is still to the CMPSCI Department, LGRC A243. Don't address mail to Hasbrouck. You can call 545-1719, but I do not have voice mail. Do not call me at home unless there is a serious emergency.
My office hours at this time will be Tuesday and Thursday from 2:00 to 3:45. If the door is open earlier, or at any other time on any day, please come in. I generally will not be in on Mondays or Wednesdays, but will often be in Friday afternoons. Drop-ins are always welcome.
I am also willing to talk to people after class, while I am packing up my equipment, and I can schedule an appointment on one of my "off" days as necessary. If you need help, please contact me: we can work out something to our mutual benefit.
The best way to contact me is via email. I check my email at least once a day, even when I am home, so you should not have to wait long for an answer. Do not call me or any of the TA's at home on the telephone. If you have any questions, send mail to me.
Monday nights at 7:00pm I am usually at the UMass Outing Club general meeting, which is held in some room in the Campus Center (check the daily schedule at the help desk in the main concourse for the correct room number). Although I may now be considered to be the UMOC faculty advisor, I am also a participant and have been since my graduate student days here at UMass. Check out the Outing Club Home Page, or my own Tuesday Night Hike Homepage.
I am also the current vice president of the Pioneer Valley Personal Computer User's Group, which meets at 7:00pm on the second Wednesday of every month (except August) at the Mudd building on the campus of Amherst College. All are welcome. This is a small group of people from the surrounding area who like to get together to discuss current topics and problems related to their personal computers. Mac-heads welcome as well as PC-weenies.
There are 10 teaching assistants for the course. At the time of the first lecture, I generally do not know who all of them are. Many are first-year graduate students, but a few carry over from previous years. All are very smart, and can help you with your computer assignments.
When we know the names, email addresses, and office hours of the TA's, we will give you a handout in class. This information also will be available on the web.
The TA's office hours will be scattered throughout the week so that there is a good chance that someone will be in their office if you drop in at a random time. If they are not at their scheduled office hours, please let me know.
The TA's office is down the hall from mine, in Hasbrouck 115. Their number is 545-1734. You can call any of them for help. They are often underutilized, so please, please, please seek help from either them or me if you have any problems of any kind with the course.
As a major part of the course, you will be responsible for completing and submitting a laboratory assignment every week (two of the assignments are allowed two weeks). The laboratories are on the 7th floor of the library tower and in the Crampton dorm in Southwest. You have a reserved seat in the labs for 90 minutes, once per week. If you are 15 minutes late to lab, the lab monitors (not the TA's) are free to give your seat to anyone who walks in, and you will have to wait in line until a machine is free. Don't be late!
There are no labs during the first two weeks of the semester. Please don't complain that the lab room was closed and you couldn't get in! We need some time to cover basic material before you go to the lab.
Some of the labs are very long and complicated, so you may need extra time outside of your regularly scheduled lab time. Do not put things off until the last minute, and please read the assignment ahead of time. The slowest people are those who are unprepared.
The labs, along with the regular homework assignments, form half of your grade. Don't blow off the labs! They are 40% of your grade! Even if you don't do well on exams, the lab is what gets you through the course.
The midterm is 20% and the final exam is 25%. Both exams are notoriously long, and contain many questions covering a lot of material. I don't believe in multiple choice exams, nor will I give you an four-question exam where each question is a quarter of the grade. My exams are usually eight pages of questions, to be answered in two hours. There will be a few quizzes in class, some announced the week before, and some pop-quizzes. You are responsible for every word I say in class. The quizzes don't count for much in the final grading, but they do prepare you for the exams.
Currently, I have scheduled the midterm for either Thursday March 27th or Friday March 28th in the evening, depending on room availability. I will announce the correct date in class, and will provide make-ups for those people with legitimate, documented reasons for missing the scheduled date.
In the back of the Computer Literacy Workbook is a chapter containing the description of an extra credit project. This is for people who feel that their midterm grade was a bit weak. An excellent project can boost your final grade by a letter and a half. This is not a trivial project: since 1990, with 400+ students per semester, I have never received more than nine projects turned in at the end of the semester. Fall semester 1996 no one gave me a project. If you wish to work on a project, please read the chapter in the workbook, then come talk to me.
RTFM! (Means Read The F****** Manual!) Read the syllabus cover to cover. There is a homework on the back page! Do all of your reading. It is important. I may ask questions on an exam from the reading, not covered in class.
The lab that you will use contains 20+ computers compatible with the IBM-PC (these are called "clones"). We will not be using any Macintosh computers in this class. (Sorry, all you Mac-heads!) These computers all have two 3.5" floppy drives, and a mouse attached.
The operating software on the PC-clones is MS-DOS (Microsoft's Disk Operating System) version 5.0. It may not be the most modern version of DOS, but it is very stable and reliable. Lab assignment 1 trains you in the use of MS-DOS.
From lab assignment 2 onward we will be using Microsoft Windows version 3.1 for our graphical user interface. Many of you who own your own PC's may have Windows 95 (or even Windows NT) as your operating system/interface. If you do, you may find that our lab is a bit lagging, but many people still use version 3.1 (the lab will be changing in Fall 1997 to newer computers running Windows NT 4.0).
The main topics of the course are word processing (which many of you may already know something about: typewriters on steroids), spreadsheets (for numerical data and formulae), and databases (another way of structuring data so that information can be extracted easily).

Spreadsheets constitute a major portion of the material covered; it is critical that you know how to use them. I spoke to a person while on my summer vacation in 1996 who told me that to get the most basic scut-work job these days a person can't get by just knowing how to use a word processor; they must also know how to use a spreadsheet. No spreadsheets, no job.

The current packages are Windows Write (the free word processor that comes with Windows 3.1), Lotus 1-2-3 version 2.3 for DOS (the spreadsheet), and Paradox for Windows version 1.0 (the database). This eclectic pile of software may seem archaic, or a hodge-podge (and to an extent it is), but the skills you learn from these tools will transfer nearly intact to any more modern package that you encounter.
I will also show how to use some of the tools for the Internet. These include sending electronic mail, broswing the World Wide Web, viewing newsgroups, picking up files from remote locations around the world (lab assignment 10), and so on. Many of these tasks you can do from your own home computer, be it a PC or a Mac.

I may be able to do live, on-line demonstrations of some of these tools in the classroom.

There are two required textbooks for the course. I have assigned a lot of reading, so it is a good idea to get started early. Much of the material may seem turgid, or foreign, or incomprehensible at first, but please work at it. Learning is not always easy, but reading the material before class (even without really understanding it) can make the lecture material that much more clear.
One of the required texts is "Computers: Tools for an Information Age" by H. L. Capron. This is mostly for background material, which I will not have time to cover in class. Although it makes a minimal impact on the questions in the exams, I have found that if you read through it it will "fill in the gaps" and help broaden your understanding of computers in general.
Don't get the 3rd edition of Capron, which may still be floating around campus from previous years' students. Also, if you run into any of my students from Spring 1996, don't buy their copy of Capron-- it was a weird edition that lacked three critical chapters.
The main text for the course is my own book: "Computer Literacy Workbook", by William T. Verts. This book is an outgrowth of teaching CMPSCI 105 for so long. The first third of the book is computer theory (why and how they work), the middle third is the application software that you will use, and the final third is the homework, lab, and extra credit assignments. This book is "CMPSCI 105 in a box". (If you have cash for only one of the two books, get this one.)
Make sure that you get the current edition of my workbook (the 1996-1997 printing, third edition, with the yellow cover). This version has a lot more information than the previous versions, and the homework assignments are different.
Long ago (in a galaxy far, far away) we used a Lotus 1-2-3 text by Diane Zak. No longer. If you should encounter someone with a copy that contains the Lotus 1-2-3 software in the back, you could buy it for your own computer-- it is the same version as what we use in the lab. (If you find a copy with the data files, but not the executable program, don't bother buying it.)
In order to use the computer labs on campus, you must get a sticker from OIT (Office of Information Technology) in the Graduate Research Center low-rise. This will cost you $20, and will appear on your next bill. You will not be able to use the computer labs without it, so get it in the two weeks of the semester before the labs open.
At the same time that you get your sticker, also get a UNIX account so that you can send and receive electronic mail and use some of the Internet tools I teach you.

Do NOT get a VMS account. If you already have a VMS account, you must also get a UNIX account (it won't cost you anything extra).

The UNIX account that you get will have a username (some form of your own name that is public knowledge), and a private password that only you will know. Don't forget this password! If you do, nobody can find it for you (it is encrypted), and you will have to go back to where you got your account and have them set a new password. You will also have to go have a new password set up if you don't use your account for six weeks. In either case, setting a new password takes a day to filter through all of the campus databases before you can use it, so don't delay!
You will need floppy disks to hold your assignments. There are two formats (the 5.25" and the 3.5") and two densities (Double Density and High Density) available. Most people today use the 3.5" High Density type.....
.....which is what I want you to get. Get at least two 3.5" HD diskettes. You may buy them singly at the University Store, or in boxes of 10 (go in with a couple of friends and split a box, maybe). They can be unformatted or formatted, either way, but part of lab assignment 1 is to format the disk.

Similarly, you may bring older disks to the lab as long as you don't mind erasing them. The 3.5" double density diskettes will also work in our computers, but I don't recommend that you use that type.

Always bring your disks to the lab! Every semester we have a bunch of people who show up to the first lab without their diskettes, and they have to borrow one from someone else. This is not cool. (Where did those people expect to store their work?)
Please buy a stapler to keep in your backpack! If you turn in work not stapled, there is a very good chance pages will become separated and lost.

The lab now has mouse pads, but you might still want to get one for your own use. Also, a wrist rest is a nice item to have if you do a lot of typing. Both items are available at the University Store.

Save all of your lab work! Every semester we have a number of people who complain about missing assignments. If you keep the printouts returned by the TA's, you can prove you did the work if it is missing from the grade sheets. Also, if you bring in the disk, we can view the files to verify that you did the work at the correct time, and give you credit. With 400+ students, 10 lab assignments, two exams, and a wad of homeworks and quizzes, it is inevitable that we will lose a few assignments. Help us minimize this possibility!
Finally, NO SMOKING! I know the campus is non-smoking in the buildings, but I just want to beat the dead horse some more: don't smoke around the equipment, the labs, me, or my office. I get real cranky around cigarette smoke-- makes me sneeze, and my wife is alergic to it. Also makes you smell bad (and don't think I can't tell).







OK, how about some computer literacy?
To start off with, think about the nature of tools in general. I've heard the opinion that computers are evil, malevolent entities bent on world domination (seriously!). I think this mostly comes from movies like 2001 and "Colossus".

A computer is a tool. A hammer is a tool. I can kill a man with a hammer as easily as I can drive a nail: does this mean the hammer is evil? Evil only applies to the hand that wields it. The same goes for computers. They have great power for error, and misuse, but they also have great power for good as well.

Are computers perfect? Absolutely not. Computers are machines. Machines fail. Sometimes it is the hardware; more often it is the software. On that horrible day that we lost the Challenger, there was a brief time between the explosion and the explanation where no one knew what had caused the problem. During that time, many technical people, all around the world, were being very introspective, hoping that it was not their specialties which contributed to the loss of a billion dollar machine and seven lives. One of my colleagues put it best for computer science, when he said: "I hope it wasn't divide-by-zero. That is a lousy way to die." His statement was an acknowledgement that computer software has a long way to go, and that something as simple as attempting to divide a number by zero could have triggered a chain of events ultimately leading to the loss of the vehicle. As it happened, it was not a computer problem, but it could have as easily been one.

So, what is Computer Literacy? First, what does it mean to be literate? Most folks have some sense of "literacy": being able to read textbooks, road signs, paperwork forms, newspapers, television ads, personal letters, bank statements, etc. Over and above the day-to-day transactions, being truly literate also means being able to appreciate and read for pleasure the great literary works of art. Beyond that, literacy includes the ability to create, edit, and critique such works.
In some sense, knowing how to use a computer is the same as knowing how to survive in the wilderness. As with "normal" literacy, there are levels to computer literacy as well: being able to use software packages effectively, being able to create custom programs, and being able to design the concepts that eventually become programs. In this class, I expect to take people who have never touched a computer, and bring them to a certain level of competence in using software packages such as spreadsheets and databases. You should be able to survive if I drop you off in the wilds of the Rocky Mountains, the jungles of the Amazon, or (worst of all) the streets of New Jersey,
Here is an example of what I mean. The phrase (basically "Hi! How are you?") is written in Cyrillic (Russian). If you don't know Cyrillic (and, no, I don't speak Russian), how do you figure out some of the pieces? There are characters that look familiar, and some that don't. Some of the familiar looking characters do mean what you think they do ("A", "T", "K"), but some do not ("C" means "S", "B" means "V", etc.). Also, some of the weirder ones really are familiar (the first two are "Z" and "D"), and some have no equivalent in the Roman alphabet (the third character on the third line is a combination "ZH" sound).

Computing has similar structures: there are things you know that apply directly (typing on a standard keyboard, for example), things you think you know but have a different meaning in the world of computers, things that on the surface look strange until I (or someone) explains that they really are familiar but have a slight twist, and things that look unfamiliar which you must struggle with to learn. I will point these things out as the semester progresses.

So, what is a computer? It is a machine, built by people, and understandable by people, to process, store, retrieve, and print information. Note that that definition says nothing about how a computer is built, what technology is used, when it was built, how fast it runs, or anything else. A computer handles information. (Actually, a computer handles data. It is the intelligence of the user-- you-- which changes data into information.)
Computers were not always in the form you see them today. Once (1940's) a "computer" was a job description: a person who computed. In contrast, machine computations were carried out by "analog computers", "digital computers", or "electronic computers" (which could be either of the other two types). Today, "computer" means an "electronic digital computer".

An analog computer computes by analogy-- the mechanism for computing is an analog of a physical process. Typically, analog computers model natural phenomina very well, but not very precisely.

A digital computer is one in which all computations are performed upon numbers stored as individual digits (usually in binary).

A slide rule is an example of an analog calculating device. It has numbers engraved on two sticks that are allowed to slide past one another. Since the numbers are engraved in patterns corresponding to logarithms, the distance along the two sticks correspond to two numbers that are to be multiplied. Multiplying two numbers is as fast as sliding one stick until its end mark is over one of the numbers, finding the second number on the other stick, and reading off the result under that second number. The calculation is fast, but not very precise: only a couple of digits of precision are usually available. The fact that there are an infinite number of positions of the two sticks is an indication that this is an analog calculating device.

Another analog device is the odometer in most automobiles. It calculates the distance travelled by analogy to the rotations of the wheels. Since odometers are often groups of parallel wheels, the rightmost digit wheel may be between two values. This is a sure sign that it is an analog device.

For other analog calculating machines, I refer you to an ancient astronomical analog computer called the Antikythera machine (First Second Third) or, of course, everybody's favorite pocket calculator: Stonehenge (First Second Third).

An abacus is an aid to calculation that is digital, not analog. It is a wooden frame, strung with wires, with beads on the wires. Each wire corresponds to a single digit, and the positions of the beads correspond to the values of the digits. Beads are either at one end of the wire, or at the other. This is what makes an abacus digital: beads are not allowed to have any of the infinite intermediate positions.

The little plastic counters that some people take to the supermarket are also digital. To enter $1.49, the shopper presses the hundreds button once, the tens button four times, and the ones button nine times. The number is added to what was already present, and any carries to higher digits are handled automatically. These are direct descendants of a machine built by philosopher/mathematician Blaise Pascal in the 1600's (a modern recreation of which is on display at the Deutches Museum in Munich).

In both cases, numbers have fixed, discrete values. No possibility of intermediate values are allowed.

Before we get into the guts of modern electronic digital computers, some definitions are in order. These two are probably the most important of all.

A "BIT" (short for binary digit) is the smallest unit of information possible. It can contain the answer to a single yes-or-no question. It has two possible values only: 0 and 1. You can encode 1 as "Yes" and 0 as "No", but you may also encode any two-value system as 1 or 0: Yes/No, True/False, Up/Down, On/Off, Male/Female, Open/Closed, Black/White, etc.

One bit by itself isn't very useful, so we group a bunch of them together and treat the whole packet as a single object. Eight bits in a packet is the most common form, and is called a "BYTE". With eight bits, you have 2 to the 8th power, or 256, different patterns possible (00000000, 00000001, 00000010, 00000011, ... , 11111110, 11111111). This is enough distinct patterns that we can assign one to each letter of the alphabet (both upper case and lower case), the numbers, and a bunch of special characters, with lots of patterns left over. The most common assignment of patterns to characters is called "ASCII" (American Standard Code for Information Interchange). For this reason, one byte can be said to be the same as one character.

One byte, or one character, is also not very much information, so we need to deal with large quantities of them. Normally, "kilo" means 1000 (a kilogram is 1000 grams, a kilometer is 1000 meters, etc.), but in computers, we need to deal with powers of two. The closest one is 2 to the 10th power, which is 1024. So, whenever you talk about computer memory, "kilo" means 1024, not 1000. One kilobyte equals 1024 bytes. One kilobit equals 1024 bits, or 128 bytes (8 bits per byte).

In the same way, "mega" means million, but 1024x1024 (2 to the 20th power), not 1000x1000. One megabyte is 1,048,576 bytes, not 1,000,000.

So, make to the story. A "processor" is an electronic chip that processes instructions, stored as bits and bytes, at a rate of millions per second. Those instructions (the program) were written by people (the programmers). The tasks described by the programs could be done by hand, but with enormous costs in time. Computers do very simple things, like add two numbers from memory together and palcing the result back in memory, but their enormous speed is where we get the big economic wins.
In modern electronic computers, programs and their data are in RAM when the programs are executed (run) by the processor. RAM stands for Random Access Memory, which means that the time it takes to access the first byte is the same as the time to access the millionth byte. Location of information is no impediment to its retrieval.

RAM is generally volatile, which means that it will lose its values when the power is turned off. This may not be true in a few years, but it is now (I've been saying this for years already).

As we will see in the description of ROM, RAM really should be called Read Write Memory, which means that you can store new values into the bytes of RAM. So, the acronym should really be RWM, but trying to pronounce that is roughly the same as saying "worm" with a mouthful of marbles.

RAM comes in units of kilobytes, or more recently megabytes. It is not unusual for a computer today to have 4, 8, 16, 32, or 64 megabytes of RAM.

ROM means Read Only Memory. ROM is random access, just like RAM (hence the note above about RWM), but in contrast to RAM, we can't store new values into the bytes of ROM. Values in ROM are always there, even when we first turn the power on to the computer. We can't change them or delete them.

So what good is it? ROM holds information placed there by the manufacturer so that the computer knows how to start itself up. Three things are stored in ROM: the POST (Power On Self Test, which checks the health of the hardware), the BIOS (Basic Input Output System, which contains code for all programs to be able to get characters from the keyboard, display them on screen, save them onto the disk, etc.), and the Bootstrap Loader (so that the computer can find the MS-DOS program when it starts up).

As another example of where ROM is used, consider those handheld language translators, that allow you to type in a word in one language and see it in one of several other languages. Do I, as a user of this device, have any reason to change the translator's dictionaries? Generally, no. All of the words in the dictionaries, and the links between them, are stored in ROM. Any time I power up the translator, those words are available for use.

If RAM loses its mind when the power is off, and we can't change ROM, how do we save any of our work? A disk is a platter of magnetic material that we can save information on by changing the direction of magnetization of bits on its surface. The magnets are permanent until we write something new onto the disk.

Floppy disks are removable disks that you can use to archive files, or move files between two computers. The 3.5" HD diskette can hold 1.44 megabytes of information, or just under a million and a half bytes. Tiny, by today's standards.

Hard disks are typically not removable (they stay fixed inside the computer), but they can hold many millions, or even billions, of bytes of information. A common disk size today is 1.6 gigabytes (1.6x1024x1024x1024 bytes).

How you communicate with a computer is most often through a keyboard. The main keyblock of a keyboard looks very much like a standard typewriter (with a few extra keys). It also has one or two keypads to the right of the main keyblock for entering numbers or moving a cursor around the screen, and a set of function keys to the left of the main keyblock or in a long line above it. What each of the function keys does is dependent on the programs that you run.
The other main mechanism for controlling a computer is through a mouse. You probably have one to the right of your keyboard right now. The mouse is a nice way of pointing at places on the screen, and they are essential for use with windowing environments. Alternatives are trackballs (upside down mice) or trackpads (touch sensitive pads).
If you are looking at a large monitor (not a laptop screen) you are looking at a CRT, or Cathode Ray Tube. CRT's are vacuum tubes that are optimized for displaying images; they are fancy versions of a TV picture tube. The minimum area of color that can be changed is called a "pixel" (picture element). Computer monitors are capable of displaying 640 pixels across by 480 pixels tall, 800 by 600, 1024 by 768, and 1280 by 1024, in two, 16, 256, or more colors.
If you can get information into a computer, you also have to get it out again. Inexpensive printers may be dot-matrix or ink-jets, more expensive printers use lasers to write patterns on a photosensitive drum like those in photocopiers. We have laser printers in our labs. These laser printers are black and white only; color lasers are still very expensive. Color ink-jet printers are fairly cheap, and if you have one available you may use them for the output of labs 4 and 10.
Other toys that you may encounter on typical computers today are sound cards, for multimedia purposes, or scanners, for digitizing pictures such as those you see while browsing the web.
You may also see CD-ROM (compact disc, read only memory) drives, which use compact discs to store up to 650 megabytes of information, modems for communicating with other computers over the telephone lines, or tape drives for archiving large amounts of data.
Digital cameras are hot items right now, although the technology is not quite good enough yet: they can take pictures which aren't as good as those you get from a standard film camera, but they are much more expensive than film cameras. Cheap digital cameras are much worse than film cameras. They are getting better and better, however. I bought a small add-in camera for my PC a year ago: it is coarse resolution and only black and white, but it just cost $100. Good color stand-alone cameras cost between $300 and $2000. A good application for them is to take pictures for use on the web, such as those on the Highway Hall of Shame.
An off-beat use of computer technology, but one that is becoming more mainstream everyday, is to use the NavStar Global Positioning System. Above us right now are 24 satellites in low Earth orbit (the Russians also have sucha system, the Global Navigation Satellite System, or GLONASS). A hand-held receiver costing about $300 can "see" up to 8 of these satellites simultaneously-- if it can see at least three of them it can compute your position to within 30 meters of true position, if it can see at least four it can also compute your altitude. Position information can then be downloaded into a PC for later use in creating maps.

I went on a trip with a friend one time who purchased one of these receivers. He had entered the position of several expected way-points along our trip, and told the device to record position every thirty seconds for the duration of the drive. As we drove along, we could see our track, and as way-points approached they would appear on the GPS receiver's small screen. It became a wonderful tool when we had to detour off of the main road and use unfamiliar roads: we could tell by the way points when we were near to getting back onto the right track. Once at our destination, I connected his GPS receiver to my PC laptop, and had a complete record of where we went, and what time we reached each point.


Back to the CMPSCI 105 Page

Back to Dr. Bill's Page