Scholarly Resources for CompSci Undergrads

Some Useful Technical Books

This list is intended primarily for undergraduate students in computer science at the University of Western Ontario. It is part of my list of undergrad resources and an experiment with different ways of presenting information.

Dynamic Version

This is a dynamic bibliography. You can select if you want to see the citation data, my comments (annotation), or both for every entry. Instructions and a Table of Contents are below.

If you prefer not to use this FORM-based interface to the list then you should read the static version instead.


Controls

Show Citation data in
No entries Selected entries All entries
Show Annotations in
No entries Selected entries All entries

Instructions

In every entry there is a button to display the citation information and another to display the annotation. Turn on whichever of those buttons you like. To generate the list, use the buttons in the Controls section above.

Make sure that the `Selected entries' buttons are turned on then select the `Generate List' button. The `No' and `All' buttons will override any other selections you have made.


What's Here

  1. About this document
    1. Introduction
    2. Controls
    3. Instructions
  2. References
    1. Programming in General
    2. Resources About the C Programming Language
    3. Books of and About Algorithms
    4. Other

Programming in General

These are some books about computer programming that I think everyone should read.

The Elements of Programming Style (Second edtion)
Annotation
Publication data
Programming Pearls; and More Programming Pearls
Annotation
Publication data

Resources about the C Programming Language

NOTE
I've been told that the GNU C compiler (gcc) that we all know and love (well, okay I like it -- a lot) does not comply with the ANSI standard unless you include both the -ansi and the -pedantic command line switches. Especially if you are learning C just now, make sure you use both of those switches -- and throw in -Wall -O for good measure too. I have some more details in my Notes about gcc.
The C Programming Language (Second edition) by Kernighan and Ritchie
Annotation
Publication data
Harbison and Steele
Annotation
Publication data
The comp.lang.c Frequently Asked Questions List
Annotation
Publication data
C Traps and Pitfalls by Koenig
Annotation
Publication data
More? You want more?!
  • I think the C archive in Sweden and its list of related sites are good places to look for more information online.
  • Mitch Wright maintains an annotated bibliography of C and Unix books; it is available for anonymous FTP from ftp.rahul.net in the pub/mitch/YABL/ directory.
  • I've made an index of all C related documents by me.

Books of and about Algorithms

Where do I go when I can't find it in Knuth (or don't understand him)? Sometimes I check Programming Pearls (see above) for inspiration and sometimes I start with these books:

Aho, Hopcroft and Ullman
Annotation
Publication data
Introduction to Algorithms by Cormen et al.
Annotation
Publication data

Other

Programming on Purpose
Annotation
Publication data

The Controls, Instructions and Table of Contents sections are above.


See Also

The finding stuff section of my bookmarks list should help you find all the other references you are looking for. There is also a brief source code section in that list.

Prof. Bob Webber created a suggested reading list for anyone who wants to earn a post-graduate degree in Computer Science. The readings have been carefully organized over a five year span (12 books/year). I have a copy of the 19 May 1995 version (which was still current in January 1996).

My recommendations for books about writing are elsewhere. I also have a list of literary books I greatly enjoy.


http://www.csd.uwo.ca/cgi-bin/tech-refs
J. Blustein (http://www.csd.uwo.ca/~jamie)

This document is copyright by its author, J. Blustein.