CSC 271
Software I
Utilities and Internals
Instructor: Dr. Stephen Bloch
Fall, 1997
This course meets from 12:15-1:30 PM TTh in Business 39. We'll use the
book An Introduction to Unix, by Paul S. Wang, 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,
Fall 1995, and Fall 1996 as well,
and some information and handouts are still available from those classes.
Homework assignments
- Homework 1 due 23 Sept
- Half-hour demonstration in my office that you know what you're
doing.
- Homework 2 assigned 7 Oct, due 14 Oct
- Write two aliases using filters and pipes.
- Homework 3 assigned 30 Oct, due 11 Nov
- Write a pair of shell scripts to backup files and retrieve
previously saved backups.
- Homework 4 assigned 20 Nov, due 2 Dec
- Write a C or C++ program to print out the first lines of a bunch of
files, specified on the command line.
- Homework 5 assigned 25 Nov, due 9 Dec
- Write a shell in C or C++.
Reading assignments
The Wang textbook
By Thursday, 13 Nov, you should have read chapters 1-8 and 10 of the Wang
textbook, and a bunch of the following on-line documentation.
Example csh scripts
(Many people prefer to write their scripts in sh, even though
they work interactively in csh. If you're curious about
sh scripts, see this
directory.)
Example C programs
in this directory
On-line documentation for library functions
man fopen (including freopen)
man fclose
man fprintf (including printf, sprintf)
man fscanf (including scanf, sscanf)
man feof
man putc (including putchar)
man getc (including getchar)
man perror
man getenv
man strlen
man strcat (including strcat, strcpy, strdup, strcasecmp)
man strspn (including strcspn)
man strchr (including strrchr, index, rindex)
man strtok
On-line documentation for Unix commands
- Adelphi's
Local Unix Documentation
- Digital Equipment Corporation's Command and Shell User's Guide
- learn, which will lead you through a series of lessons on
common Unix concepts and commands
- UNIXhelp 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, aliases, variables, command substitution,
wild cards, and globbing)
- man file, man find
- man csh (sections on jobs, fg,
bg), man ps, man kill
- man csh (section on umask), man chmod
- man ln
- man csh (sections on pushd and popd)
- info info, read that page, then hit "h" for an interactive
tutorial on the "info" program. You can then use info to learn
about other programs.
On-line documentation for programming tools
- info gdb (No, I don't expect you to read it all,
but get started on it.)
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.
Last modified:
Tue Nov 11 14:01:03 EST 1997
Stephen Bloch / sbloch@boethius.adelphi.edu