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

On-line documentation for Unix commands

Unix Help For Users (within which I particularly direct your attention to the section on shell scripts)

On-line documentation for programming tools

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