Darren Provine at Rowan University


(Click here for text version.)

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.

(US flag) This page's URI: http://elvis.rowan.edu/~kilroy/class/lab_tech/?books
Last modified: Monday, 1 September 2008, 2:51:16pm