Sorry, not currently accepting new clients.
Open Source Tools for Science
About the BookThe C/Unix Programmer's Guide is the most comprehensive text available for beginning to intermediate programming in C and C++ in the Unix environment. The book is intended for undergraduate courses and independent learners interested in Unix programming.
You'll learn to write portable software for all operating systems supporting the Portable Operating System Interface based on Unix (POSIX), including AIX, DragonflyBSD, FreeBSD, HP/UX, Linux, LynxOS, Mac OS X, NetBSD, OpenBSD, QNX, Oracle Solaris, and more.
Everything you'll need is covered, including computer and Unix basics, ANSI and K&R C syntax, Unix programming tools like make and debuggers, Unix libraries and system calls, how to build libraries, and a brief but thorough overview of C++.
Most importantly, the material is presented in plain English, with simple, easy to understand examples. It gets straight to the point, with no cyber-babble, or 10-syllable Latin-based words that you won't find in your pocket dictionary. Also included are dozens of tips on programming for performance, programming with style, and common pitfalls.
For course instructor teaching C/Unix courses, such as systems programming, we provided extensive course materials here:
c-unix.pdf contains lectures notes in the form of a PDF outline, to be used like slides in lecture. This document also contains extensive practice questions, and addendums to the book covering new developments since the book's publication.
c-unix-key.pdf contains an answer key to the practice questions. This is meant to be provided to students so that they can immediately check their work while doing homework.
c-unix-lab.pdf is a lab/discussion manual, containing questions to stimulate class discussions and group exercises including programming problems and code reviews.
asg.txz is a tarball of example programming assignments in DocBook XML and PDF format.
Program ExamplesThe source code for all major program examples in the book is available as a tar ball. A script for compiling the programs is included.