COS 126 Textbooks, Spring 2002


Required Textbooks


The course packet contains copies of the syllabus, lecture notes, assignments, exercises, and old exam questions. It is available at Pequod Copy.

  • R. Sedgewick, COS 126 Course Packet, Spring 2002.
  • This is our favorite introductory C programming book.
  • K. N. King, C Programming: A Modern Approach, W.W. Norton & Company, 1996. ISBN 0-393-96945-2.
  • This one covers more advanced programming concepts including fundamental data structures, sorting, and searching. We'll use it later in the semester. It is also used heavily in COS 226.
  • R. Sedgewick, Algorithms in C, Third Edition, Parts 1-4, Addison-Wesley, 1998. ISBN 0-201-31452-5.
  • And this one covers sevaral topics in theory, but is aimed at a novice reader. We'll use it later in the semester.
  • D. Harel, Computers Ltd.: What They Really Can't Do, Oxford University Press, 2000. ISBN 0-19-850555-8.

  • Optional Supplemental Textbook


    From the back cover: "66 concise, brilliantly written articles on the major points of interest in computer science theory, technology, and applications." We agree.

  • A. K. Dewdney, The (New) Turing Omnibus, W. H. Freeman and Company, 1993. ISBN 0-716-78271-5.

  • Other Textbooks (on reserve at the Engineering Library)


    Here are some other good introductory C programming books.

  • H. M. Deitel and P. J. Deitel, C How to Program, 2nd edition, Prentice-Hall, 1994. ISBN 0-13-226119-7.

  • A. Kelley and I. Pohl, C by Dissection: The Essentials of C Programming, 3rd edition, Addison-Wesley, 1996.

  • A. Kelley and I. Pohl, A Book on C: Programming in C, 3rd edition, Benjamin/Cummings, 1995.

  • B. W. Kernighan and D. M. Ritchie, The C Programming Language, 2nd edition, Prentice-Hall, 1988. ISBN 0-13-110362-8.

  • E. S. Roberts, The Art and Science of C: An Introduction to Computer Science, Addison-Wesley, 1995.
  • Here are some good advanced C programming books. The first two are required texts for COS 217.

  • D. R. Hanson, C Interfaces and Implementations: Techniques for Creating Reusable Software, Addison-Wesley, 1997.

  • S. P. Harbison and G. L. Steele, Jr., C: A Reference Manual, 4th edition, Prentice-Hall, 1995.

  • S. Summit, C Programming FAQs, Addison-Wesley, 1996.
  • The following provide nice introductions to the theory of computation. They're a bit more mathematical than what we do in COS 126, but pretty readable.
  • A. V. Aho and J. D. Ullman, Foundations of Computer Science, C edition, W. H. Freeman and Company, 1995. ISBN 0-7167-8284-7.

  • E. Kinber and C. Smith, Theory of Computer Science: A Gentle Introduction, Prentice Hall, 2001. ISBN 0-13-027961-7.
  • A complete reference book to produce text and graphics in the PostScript language. A link to the online version is included.
  • Adobe Systems, PostScript Language Reference Manual, 2nd edition, Addison-Wesley, 1990.
  • Here are a few good Java books.
  • K. Arnold and J. Gosling, The Java Programming Language, 2nd edition, Addison-Wesley, 1997.

  • P. van der Linden, Just Java 2, Sun Microsystems Press, 1999. ISBN 0-13-010534-1.
  • An entertaining collection of programming pearls of wisdom.

  • J. L. Bentley, Programming Pearls, 2nd edition, Addison-Wesley, 1999. ISBN: 0-201-65788-0.
  • This covers machine architecture at a much greater depth than we do in 126. But if you're looking for a classic reference, here it is. It is the main text for COS 371.
  • J. Hennessy and D. Patterson Computer Organization and Design: The Hardware / Software Interface, 2nd edition, Morgan Kauffman Publishers, Inc., 1998.