Required Books

The required books for the course are:

We'll use the first book (the textbook) for most of the material in the course; the C book (K+R) will be background reading so you can increase your knowledge of C.

Useful Books

Here are some books and other material you might find useful this semester (beyond the textbook and the basic C programming book, of course!):

  • Learning the bash shell. This book gives a deep dive into bash, which is a good Unix shell to use. Knowing at least one shell in detail is essential if you are to become a master of the Unix environment. It is available to you for free (online) through the library, which is cool! It is an O'Reilly book most of which are great.
  • Unix Power Tools. Another terrific reference with lots of useful Unix knowledge. Also free through the library.
  • Linux in a Nutshell. A good overview of the Linux environment, with lots of specifics. Also free.
  • Learning Python. A great book about Python; not super useful this semester but in general it is great to learn a language like this (or Perl). Also free online.
  • Mastering Regular Expressions. Again, not super useful this term but regular expressions are so powerful and common that it is good to learn more about them.