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
http://kufacts.cc.ukans.edu/lynx_help/lynx_help_main.html.
When you've seen a few Web pages and feel like writing one of your own,
take a look at
http://www.ncsa.uiuc.edu/demoweb/html-primer.html, 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 / sbloch@boethius.adelphi.edu