CSC 271
Software I
Utilities and Internals
Instructor: Dr. Stephen Bloch
Fall, 1996
This course meets from 12:15-1:30 PM TTh in Business 39. 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, and
HTML.
A schedule of lectures tells
what I plan to talk about, and what I expect you to have read, by each
class meeting.
I taught this course in Fall 1994 and
Fall 1995 as well, and some information and
handouts are still available from those classes.
Homework assignments
- Homework 1 due 4 Oct
- Half-hour demonstration in my office that you know what you're
doing.
- Homework 2 assigned 1 Oct, due 22 Oct
- Write two shell scripts to "alphabetize" and "dealphabetize" the
files in a directory; see the above link for details.
- Homework 3 assigned 29 Oct, due 14 Nov
- Scramble and unscramble text input with a multiplication cipher.
There are various command-line arguments and options to handle.
- Homework 4 assigned 14 Nov, due 3 Dec
- Write a shell.
- Homework 5 assigned 4 Dec, due 10 Dec
- Extend your previous shell (homework 4) with I/O redirection, etc.
Don't use the "system" function for this one, and I recommend (but do
not require) that you use "flex".
Reading assignments
The Hahn textbook
By Tuesday, 5 Nov, you should have read chapters 1-27 of the Hahn textbook.
Example programs
See the example shell scripts
showstuff,
swap,
thrice,
indir,
getlect,
xprod, and
snap.
I've also written a bunch of
example C programs for you to read.
See also the
example Lex and Yacc programs in my
directory, read the lex article I handed out in class on 14
Nov, and read man flex.
On-line documentation for library functions
-
man 3 printf, man scanf, man getchar, man
putchar
-
man getenv, man putenv
-
man fprintf, man fscanf, man fopen, man
fclose, man feof, man fgetc, man fputc,
-
man strlen, man strcpy, man strcat, man
isalpha, man tolower
-
man fork, man exec, man wait,
man system, man exit
-
man 2 intro, man open, man creat,
man close, man read, man 2 write,
man pipe, man dup, man stat
On-line documentation for Unix commands
Unix Help
For Users
(within which I particularly direct your attention to the section on
shell
scripts)
- man mkdir, man rmdir, man pwd, man
cd
- man mv, man cp, man touch, man
rm
-
man ls, man du
- man csh (sections on file completion, history
substitution, wild cards, and globbing)
- man file, man find
- man csh (section on umask), man chmod
- man ln
- man csh (sections on jobs, fg,
bg), man ps, man kill
- man csh (sections on pushd and popd)
On-line documentation for programming tools
- info info, read that page, then hit "h" for an interactive
tutorial on the "info" program.
-
info gdb
-
man flex
-
info make
On-line documentation for Usenet
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:
Fri Nov 29 14:21:41 EST 1996
Stephen Bloch / sbloch@boethius.adelphi.edu