CSC 271
Software I

Utilities and Internals
Fall, 1995

This course meets from 11-11:50 AM MWF in Business 17. We'll use the book A Student's Guide to Unix, by Harley Hahn, as well as a lot of online documentation and some handouts.

The syllabus is available in LaTeX, DVI, and Postscript.

Homework Assignments

Homework 1 assigned 11 Sept, "due" 4 Oct: arrange an appointment with me to show me what you can do.
Homework 2 assigned 27 Sept, due 16 Oct: write a shell script to keep multiple backup copies of a file. More details and example run in file hw2.
Homework 3 assigned 27 Oct, due 10 Nov: write a C program to search through a specified list of directories for a specified filename. More details and example run in file hw3. I've written my own solution to the problem, which is 53 lines long; if you'd like to try running it, it's in file ~sbloch/class/271/wsp.
Homework 4 assigned 13 Nov, due 8 Dec: write a shell in C. More details are in file hw4.

Reading assignments

The Hahn textbook

By now, you should have read chapters 1-25 (chapter 5 is optional) in the Hahn book.

Example programs

You should also have read my example programs swap, cswap.c, evalenv.c, myset.c, mycat.c, mycat2.c, clongword.c, clongword2.c, clongword3.c, run.c, and and mycat3.c thoroughly enough that you understand how they work and could write something similar yourself if need be.

On-line documentation on library functions

You should also have read the man pages on the getenv, putenv, fprintf, fscanf, fgetc, fgets, fputc, fputs, remove, rename, fopen, fclose, fread, fwrite, and feof I/O routines, the strlen, strcpy, strcat, strdup, strchr, strstr, isalpha, and tolower string routines, the fork, exec, and wait process-management routines, and the open, close, creat, read, write, pipe, stat, and dup2 low-level I/O routines.

On-line documentation for programming tools

Within info gdb, read at least the Summary, Sample Session, Commands, and Stopping pages, and some of the Running page. For rcs, read man rcsintro thoroughly, and at least skim man co, man ci, man rlog, man rcs, and man rcsdiff, in that order. Within info make, read at least the Overview, Introduction, and parts of the Rules and Commands pages by Friday, Nov. 17. Within man flex, read at least the Description, Some Simple Examples, Format of the Input File, Patterns, and part of the Actions sections by Wednesday, Nov. 22.

On-line documentation for Usenet

You don't need to know much about trn to use it, but the more you know, the more efficiently you can use it. Skim the whole man trn page to get a general idea of what the program can do, then start using trn. The first few times you may want to use the command trn -q, to avoid spending fifteen minutes waiting for panther to process all the new newsgroups, and hours telling panther which newsgroups you're interested in.

A good way to learn trn, and to learn about the Usenet community at the same time, is to read the newsgroup news.announce.newusers, which is probably included in your .newsrc file automatically.

On-line documentation for the World Wide Web

If you're using a graphics workstation, you can use netscape and look at the various entries in its help menu. If you're using an ordinary character terminal, like the IBM's in our classroom, you can still wander the Web using lynx, you just won't get the pretty colored pictures, sounds, mouse controls, etc. You can learn about lynx at the address

When you've seen a few Web pages and feel like writing one of your own, take a look at, the Beginner's Guide to HTML.

You are visitor number to this and related pages since Feb. 8, 1996.

Last modified: Mon Feb 12 10:13:33 EST 1996
Stephen Bloch /