COS 126 Textbooks, Fall 2000


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, Fall 2000.
  • 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.

  • Recommended Textbook


    We'll provide a handout of the few Unix commands you need to make it through COS 126. So, you don't need to buy this book unless you're either (i) very scared of Unix or (ii) wish to have a more complete reference.

  • H. Hahn, Harley Hahn's Student Guide to UNIX, 2nd edition, McGraw-Hill, 1996.
  • This workbook complements the King textbook. A possibly useful resource for beginners, but overkill if you've programmed before.
  • K. N. King, Study Guide for C Programming: A Modern Approach, W.W. Norton & Company, 1998. ISBN 0-393-96946-0.

  • 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.
  • This is a classic introduction to the theory of computation, intended for novices. It's 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.
  • 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.
  • 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.
  • 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.