Interesting Books for Lab Techniques
This is a list of books which may be of interest to students
taking Computer Lab Techniques. Some of what's in here
duplicates, to some extent, the material in the two books which
are required. But these also go well beyond what's in there,
adding a lot of detail which we just couldn't get to in a one-semester
course. They are all available in the Rowan Library, but
don't check all of them out at once.
You don't need to read any of these to do well in the
class. But if you do read them, and do the exercises, you'll
come away a much better programmer, with a much better idea of
what goes on in a computer. Pick one, buy it this summer when
classes are out, and work through it all the way at a chapter a week
or so. You'll be glad you did.
- The Practice of Programming, by Kernighan & Pike.
- Programming is more than just writing code: to do the job
well, one must consider time/space tradeoffs, know how to
debug and test, know how to design a program well so that
it can be tested/debugged/modified/&c.
- The UNIX Programming Environment, by Kernighan & Pike.
- This is somewhat dated in that it doesn't cover newer shells,
and focuses on AT&T versions of Unix with little attention
to the (at this point universal) BSD influences. Even with
that shortcoming, what is covered in this book is covered as
nowhere else.
- Advanced Programming in the UNIX Environment,
by W. Richard Stevens.
- When a program is running, you can hit control-C to stop it.
But what if the program should save its files before it quits?
How do you write a program that will catch the interrupt signal
and clean up before it dies?
Daemon processes, such as the web server that runs on Elvis,
essentially sleep until they are needed, and then the system
wakes them up. How does one write such a program?
You can use ls(1) to find out what the modification time is
on a file. But suppose you need to write a program which
compares modification times on two files? How can you find out,
from inside a program, when a file was modified?
This book answers all of those questions, and many, many more.
It's aimed at experienced C programmers, but much of it should
be accessible to less experienced students. Even if you don't
go through it as a workbook, it's a valuable reference.
This book makes an excellent companion to the one above.
If you finish both these books from start to finish before
graduation, you won't regret it at all.
- UNIX Power Tools, Peek, O'Reilly, and Loukides.
- This is more a reference than something to read from cover
to cover. It's a large collection of relatively short articles
on a wide variety of subjects. The book contains a lot of
wisdom accumulated over many years using Unix machines. As a
way to get a head start yourself, that's hard to beat.
|