UNIVERSITY OF CAMBRIDGE COMPUTER LABORATORY Computer Science Tripos Parts IA, IB, and II Summary List of Books Recommended by Lecturers September

2012 This list is prepared once a year for the benefit of College Librarians and those purchasing course books. As such it aims to list the most recently available editions of current course books. However, in many cases, older editions are equally useful and this list should be used in conjunction with those in the syllabus booklets, which give more information on the usefulness of titles for each course. Key to the present list: IA IB II On Part IA reading lists On Part IB reading lists On Part II reading lists

*** Most recommended ** Recommended * Further reading The syllabus booklets can be found via links from The Computer Laboratory Library aims to keep at least one copy of each of the course texts in “The Booklocker” (see Nicholas Cutler (Librarian) Agrawal, D. & Zheng, Q. (2006). Introduction to wireless and mobile systems. Thomson. [**, II] Aho, A.V., Sethi, R. & Ullman, J.D. (2007). Compilers: principles, techniques and tools. Addison-Wesley (2nd ed.). [**, IB, II] Anderson, R. (2008). Security engineering. Wiley (2nd ed.). First edition (2001) available at /book.html [***, IB, II] Appel, A. (1997). Modern compiler implementation in Java/C/ML (3 editions). Cambridge University Press. [***, IB, II] Bacon, J. (1997). Concurrent Systems. Addison-Wesley. [**, IB] Bacon, J. & Harris, T. (2003). Operating systems. Addison-Wesley (3rd ed.). [***, IA, IB] Ben-Ari, M. (2012). Mathematical logic for computer science. Springer (3rd ed.). ISBN 9781447141280 [**, IB] Bennett, J.P. (1990). Introduction to compiling techniques: a first course using ANSI C, LEX and YACC. McGraw-Hill. [**, IB] –1–

(2004).). [**. Introduction to digital electronics. II] Bishop. II] Crowe. [**.). In CRC handbook of computer science and engineering.B. M. Cambridge University Press. A. [*. concepts and design. I. Prentice Hall. R. Sigal. O. Software pioneers: contributions to software engineering.L. Springer (3rd ed. Addison-Wesley (2nd ed. (2003). [***. Computational geometry: algorithms and applications.). Addison-Wesley (2nd ed. K. T. IB] Broy. IA] Biham. II] de Leeuw.). MIT Press (3rd ed. http://java. IA] Cutland.) [*.. (2006). F. [*. T. S. [**.R. Gosling. A. complexity and languages.P. M. IB] Cormen. E. (1998). & Stevens. M. vol. CRC Press. (2009). Computability: an introduction to recursive function theory. IB] Coulouris. G. [**. Addison-Wesley (8th ed. [**. & Shamir. (2005). Internetworking with TCP-IP. & Rubin. & Bergstra. N. (2000).D.. D. (1975). Cheong. The history of information security.sun. L. Type systems. Dollimore. II] Cawsey. E. W. ISBN 9781449627782 [**. [***. C. [**. IA. B. J. Distributed systems.A. (2005.. Pattern recognition and machine learning. & Steele.J.D. Bellovin. (2005). J. Springer. The Java language specification. Proof and disproof in formal logic. (2012. IA] Bornat... J. G. The mythical man month. IB] de Berg. IB] Davis. Springer-Verlag. AddisonWesley (4th. The essence of artificial intelligence. [***. IB] Cheswick. J. 3rd eds.). Computability. [*.) (2002).L. Academic Press (2nd ed. Oxford University Press. II] –2– . IB] Cover. & Kindberg. Understanding and writing compilers. IB. IB] Brooks. IB] Date.F. & Thomas. ISBN 9780198507178 [**. C. [**. Addison-Wesley. IB] Bornat. IA] Bracha. [**. N. 2001).Biggs. 3rd eds. Addison-Wesley. PROLOG programming for artificial intelligence. Leiserson.D. C. (2006). ButterworthHeinemann. II] Bloch. 2001). Oxford University Press (2nd ed. R. & Weyuker. (1998). Discrete mathematics. 1 and 2. E. G. (1997). IB] Bratko. (1980). M. A transition to mathematics with proofs. Firewalls and Internet security: repelling the wily hacker. (2008).. Joy. [*. IA] Cullinane. Addison-Wesley (4th. Java puzzlers. (ed. A. M. Springer-Verlag. Elsevier. Jones & [**. An introduction to database systems.J. van Kreveld. J.M. (1993). Macmillan. Prentice Hall (5th ed. R. Rivest.).). (2007). & Overmars.). C. (1994). N. New York: Wiley (2nd ed. T. R. (2002).M. J. M. & Gafter.H. [**. & Denert. Elements of information theory. & Hayes-Gill. Introduction to Algorithms. D. (2005).J.). [**. (2012). Differential cryptanalysis of the data encryption standard. II] Comer.M. (1979). [*. [*.. B.J. ISBN 978-0262533058 [***.)... & Stein. IA] Cardelli.

Inferring phylogenies. Feiner. & Vlissides. [**.). Penguin. & Reppy. Cambridge University Press. Butterworth-Heinemann.). C.. [***. (2003). R. O. Vol.). IB. Nau. D. M.F.D. H. K. Jr (1988).). [**. [**. Prentice Hall (4th ed. M. Morgan Kaufmann. [**. Java: How to Program. [**. (2000). II] Elmasri. P. IB] Gollmann. IA] Flanagan. IA] Devlin. Taylor. [**. van Dam. Crafting a compiler. (2003). R. D. IB.J.R. P. The Standard ML Basis Library. [**. A. A. S. (2004). H. (1995). ISBN: 0521794781 [*. & Lafont. & Hughes. O’Reilly (3rd ed. Y. [***. Transaction-level modeling with SystemC: TLM concepts and applications for embedded systems. II] Gibson. (2010). [*.). functions. Computer security. Helm.B. Prentice Hall. (2003). [***. (2003). (1990). Addison-Wesley. IA] Foley. & Deitel. Sets. IB] Deitel. J. [**. Design patterns: elements of reusable object-oriented software. & Ponce. D. Thinking in Java. Constraint processing. (2004). & Krolnik. [*.). R. Sinauer Associates. [*.). IA] Gansner. and logic: an introduction to abstract mathematics. A practical introduction to PSL. S. (2010). IB] Eckel.K.. A. & Fisman. & Traverso.) (1989). A history of economics. IB] Forsyth. Electronic logic circuits.R. Proofs and types. D. P. [**. UML distilled. & Navathe. IA] Ghallab. Johnson. (2009). Springer (Series on Integrated Circuits and Systems). (1992). Cambridge University Press. [**. Prentice Hall (8th ed. C. Fundamentals of database systems. [**. (tr. E. [*. J. Springer (Series on Integrated Circuits and Systems). J. [**. (2000). IA] Girard. D. F.). E. Chapman and Hall/CRC Mathematics (3rd ed.Dechter. II] Goldreich.N. 1: Introduction to Standard C++. (2005). P. IA] Eisner. Computer graphics: principles and practice.). (2010).. R. Addison-Wesley (2nd ed. [***. II] Ghenassia. Springer.M. Prentice Hall (2nd ed. J. J-Y. and NP-Completeness: the basics of computational complexity. (2004). J. Addison-Wesley (3rd ed. (2003).C. & LeBlanc. O’Reilly (5th ed. [**.D. (2008). J. Creating assertion-based IP. (1991).H. Morgan Kaufmann. D. II] –3– . IB] Gamma... B. J. Addison-Wesley (3rd ed. IA] Eckel. IB] Felsenstein. Automated planning: theory and practice. II] Fischer.A. Benjamin/Cummings. B. (2006). (2006).). IB] Flanagan. Java examples in a nutshell : a tutorial companion to Java in a nutshell. II] Fowler. Thinking in C++. Cambridge University Press. ISBN 0131911937 [**. NP. Wiley (3rd ed. J.K. Computer vision : a modern approach. IA] Galbraith. II] Foster. Java in a nutshell : a desktop quick reference. [**.

M. R. J. [**. (Older versions of the book are also still generally relevant. Lambda-calculus and combinators. R. M. (1990). Addison-Wesley (3rd ed). (1966). Cambridge University Press (2nd ed. Elsevier (5th ed. (2003). Cambridge University Press (2nd ed. (2004). Cambridge University Press (2nd ed. Introduction to digital logic design. J.D. II] Karl. [***..susx. (2008). (1989). [*.cogs.). IA] Howard. ISBN 9780123838728. & leBlanc. Semantics of programming languages: structures and techniques. The art of computer systems performance analysis.E. M. J. P. II] Huth. MIT Press.. II] Jones. J. Digital design and computer architecture. H.) [**. & Swan. [**. II] Hansen. P. IA] Harris. A. [**. Motwani.P. & Seldin. A. Wiley. an introduction.A. S. [*. G. Probability: an introduction. [***. IA. Computer architecture: a quantitative approach. II] Kahn. (2008). [**.E. S. but available on the web at http://www. & Welsh. Wiley. [***. IA] Grotker. [**. (2005). D. Speech and language processing. (1988).). & Woods. Addison-Wesley (3rd ed. & Rischel. Digital image processing. Benjamin/Cummings. The 1994 edition is more than sufficient. II] Jain. IB] –4– .R. S. J. & Pevzner. II] Gunter. W. [***. & Willig.C. [The second edition (1992) and the first edition (Gonzalez & Wintz. C. (1992). Wiley. [***. IA] Hennessy. (2008). The codebreakers: the story of secret Liao. M. (2007). Prentice Hall. Springer. II] Katz.L. G. IB] Hindley. IA] Kernighan. IB] Horowitz. (1993). 1977) are as useful. Protocols and architectures for wireless sensor networks.Gonzalez. and computation. D. (2002). Introduction to automata theory. Introduction to programming using SML. The C programming language.). Weidenfeld and Nicolson. D. Oxford University Press. The art of electronics. AddisonWesley. ISBN 0321455363 [***. & Ryan M.H. (1986). IB] Hayes. & Ritchie. [**. & Hill. [***. (1991).gz [**. D. MIT Press. II] Jurafsky. (2007). IB. B.W.). & Martin. [**. [**. & Patterson. Microsoft Press (2nd ed.C. H. D. Prentice Hall (2nd ed.P. & T.. M. (1999). IB] Hopcroft. System design with SystemC. D.] Grimmett. IA. Writing secure code. N. Contemporary logic design.). R. Morgan Kaufmann.). J. & Harris. R.) [*. IB. The semantics of programming languages.R. II] Hennessy.M. Addison-Wesley. (2004). (2012). Logic in computer science: modelling and reasoning about systems. An introduction to bioinformatics algorithms. D. J. Out of print. Martin. (2004).

C. Automata and computability. II] ´ (2006). Prentice Hall (3rd ed.J. II] Knuth. Addison-Wesley.). Concurrent programming in Java. S. ISBN 978-0321751041. Computer security and cryptography. IA] Mermin. (2003). IB] Leffler. Available at http://www-csli. II] Keshav.D.). (IBM Redbook DB2/400) Chapters 1 & 2 only. & Conway. S. Addison-Wesley. (2005). A course in number theory and cryptography. J. N. (1999). II] Miszczyk. The design and implementation of the 4. [*. Auctions: theory and practice. L. [***.Keshav. K. Microsoft Press. (1989). J. P. Introduction to VLSI systems. P. Springer-Verlag (2nd ed.B.3BSD Unix operating system. (1994). II] Levitt. [***. 9780321372918. S. (1995). OUP. . Mathematical Foundations of Computer Networking. Pearson (6th ed. Theory. D. Quantum computer science. & Ross. Addison-Wesley (3rd ed. (2013). Queueing systems. [**. ISBN 0201634422 [*. [**. IB] Lang. C.D. II] McConnell. & Tardos. (1997). [**. vol. & Sch¨ utze. ISBN 9780321792105 [***.W. IB] Manning. (2008). [***. Introduction to information retrieval. [***. L. [*. (2011). (2004). S. IB. A. Addison-Wesley. II] Matthews. J. Linguistics: a very short introduction. IA. (2007). (1980).). [*. H.). & Dubner. 1. Wiley. (2001). and others (1998). D. Understanding digital signal processing. LaTeX – a documentation preparation system user’s guide and reference manual. [***.stanford. An engineering approach to computer networking.). [**. Algorithm design. [**. C. (1975). Inside the C++ object model. Cambridge University Press. (2011). Addison Wesley. E.F. Code complete: a practical handbook of software construction. Morrow. (2004). FT. IB] –5– .html. ISBN Kleinberg. (1997).E. N. II] Maguire.G. II] Kozen. (2010). IA] Leveson. IB] Lyons. II] Klemperer. L. Microsoft Press (2nd ed. The high-tech entrepreneur’s handbook: how to start and run a high-tech company. S.. P. [*. Safeware: system safety and computers. Computer networking: a top-down approach. Freakonomics.G. [**. The art of computer programming. [**. [**. ISBN 9780273768968 [***. Cambridge University Press. Wiley. [**.G. Addison-Wesley (2nd ed. Mastering data warehousing functions. Addison-Wesley. II] Lea. IB] Lamport. [*.COM/Prentice Hall. R. IA] Mead. Addison-Wesley (1st ed.). Addison-Wesley (2nd ed. N. (2007). S.). S.). (1996). IA] Kurose. [*. (1994). Springer-Verlag. D. IA] Koblitz. Addison-Wesley. Writing solid code. J. (1993). Princeton Paperback ISBN 0-69111925-2. [**. IB] Kleinrock. S. IB] Lippman. II] Konheim.D. [**.

(1994). D. C. F. Software engineering. G. T. Cambridge University Press (2nd ed. IA] Paar. P. Springer.L. IB] –6– . Cambridge University Press.S. Computer networks: a systems approach. I.L. IB. (2010). [*. & Hennessy. EPFL. S. Penguin. [***. S.C. Purely functional data structures. [***. IB] P´ olya. Understanding cryptography. [*. Anchor Books. How to solve it. A. II] Nielsen.S. IA] Poole. II] Oppenheim. & Davie. (2011).). L. Prentice Hall. [***. The language instinct. (2010). IA] Oppenheim. Cambridge University Press. II] Neumann. Types and programming languages.L. & Zafrany. Quantum computation and quantum information. A. B. Principles of program analysis. [***. S. A. IB. [**. (2009). (1980). & Hankin. M.. or earlier editions). ISBN 9780123850591 [**. [**.). [**. Advanced compiler design and implementation. M. IB] Overton. [***. IA] Peterson. [**. Programming Methods Laboratory.V. (1994). Springer. Probability and computing: randomized algorithms and probabilistic analysis. M. H. E.V. IB] Papadimitriou. (2005).). (1992). J. & Upfal. IB] Poundstone. [**. Cambridge University Press. Numerical computing with IEEE floating point arithmetic. II] O’Keefe.). Computational complexity. R. Prisoner’s dilemma.R. ISBN 9780073375977 [***. Discrete-time digital signal processing. [*. [***. [***. IB] Pressman. IB] Pratt. IB] Patterson.W. & Schafer.H. Scala by example. II] Nielson. C. Artificial intelligence: foundations of computational agents. Cambridge University Press. (1997). Cambridge University Press. [**. & Mackworth. R. [**.L. II] Pinkus. Morgan Kaufmann (5th ed.C. & Zelkowitz.V. (2008). Morgan Kaufmann (4th ed. M. MIT Press. [**. II] Pinker. Fourier series and integral transforms.). K. (2010).). Addison-Wesley. (2002). [*. L.S. [**. [**. IA.Mitchell. Ch. & Pelzl. Computer related risks. IB] Odersky. (2007). IB] Mitzenmacher. & Chuang. (1996). A. D. (1998). L. B. J. IB] Okasaki. Nielson. (1997). Prentice Hall (4th ed. ML for the working programmer. [***. Cambridge University Press (2nd ed. Addison-Wesley. Morgan Kaufmann. Prentice Hall (3rd ed. (1999).A. IA. IB] Pierce. (1997). IB] Paulson. (2003). & Willsky. (1990). (1994).C. (2010). Programming languages: design and implementation. (2001). Concepts in programming languages. Signals and systems. M. Penguin. (2001). MIT Press.W. R. Ch. II] Muchnick. [**. IB. McGraw-Hill (7th international ed. W. SIAM. The craft of Prolog. Computer organisation and design. J. A.

IB] Slater. (1994). J. O’Reilly (6th ed. MIT Press (2nd ed. [***. Prentice Hall. Introduction to the theory of computation. II] Shapiro. B.M. IA] Sipser. [*.). (2001). IB.).A. Springer. Computer graphics and virtual environments: from realism to real-time. [**. M. IA] Ross. Prentice Hall (3rd ed. Wiley (8th ed. (2011). [**. Digital signal processing – a computer science perspective. Morgan Kaufmann. IB. S. IA] Schwartz. (1990). IB. L. Operating systems concepts. M.). Wiley (2nd ed. [*. II] Silberschatz. D. Algorithms. (2002).. [**. M. (2000). B. J. IB] Sedgewick.L. O’Reilly (4th ed. Princeton.). & Phoenix.. Jossey-Bass. (2011). Y. and source code in C. H. & Stockman. IA] Standage. (2011). H. (2008).Reason. II] Schneier. II] Russell. 2 (note that C and C++ editions are also available and are equally good). A. & Varian. J. [***.). & Wayne. ISBN 0-201-36121-3. [**. R.C. Information rules. Ashgate Publishing. [**. Academic Press. [***.). Computer vision.). M. The art of Prolog. Database system concepts. Microsoft Press (3rd ed. J. The Victorian Internet. (2008). R. (2003). IA] Rosen. G. Interaction design. Algorithms in Java vol. Addison-Wesley. K. ISBN 9780071315012 [***.). H. Y. P. Foy. IB] Robbins. Educating the reflective practitioner. D. Sharp. (1995). [**. Addison-Wesley (4th ed. ISBN 9780071289597 [**. [***. [**. J. Artificial intelligence: a modern approach. II] Rogers. II] Schon. [**. D.H. (2010). Inside Windows 2000. Phoenix Press. & Chrysanthou.). [**.).L. II] Schiller. (1997). [**. Probability models for computer science. A. [**. McGraw-Hill (2nd ed. D. T. P. S.).). J. Mobile communications. L. R. & Adams. Harvard Business School Press. (2009). (1990). K. Peterson. IA] Shapiro. II] Stein. ISBN 9780321573513. (2002). II] Solomon. A guide to data compression methods. A.). A. IB] Rogers. The human contribution. Applied cryptography: protocols.F. II] Salomon. IB. The company of strangers. T. & Sudarshan. Mathematical elements for computer graphics. Steed. Discrete mathematics and its applications. C. (2005). [**. ISBN 9780470665763 [*.A. Wiley (3rd ed. (2012).D. & Russinovich. (2004)... Addison-Wesley. (1998). Learning Perl. Unix in a nutshell. (2002). S. (1999). Korth. IB] Sedgewick. [*. McGraw-Hill (7th ed. [*.L. Pearson (2nd ed. algorithms. PWS. & Norvig. [***. IB] Silberschatz. II] Sterling. IB] Seabright.F. (2000). P. E. Programming language pragmatics. IB] Scott.. & Preece. (2005). Wiley. [***. & Galvin. McGraw-Hill (6th ed. [***. & Shapiro. IB] –7– . (2011).

ac.Finkelstein/las. IB] Stinson. IB] –8– . A. Distributed systems. A first course in database systems. (2002). Intermediate microeconomics – a modern approach. High-level languages and their compilers. (1999).R.cs. (2002). (1994). R. Modern VLSI design (System-on-chip design).. The design and evolution of C++.S. (2009).). Cryptography: theory and practice. London W2 3QR.J. B. [*. [**.H. T. Programming — principles and practice using C++. A. [**.I: The sockets networking API. (2005). http://www. IB] Stroustrup. [**. G. A. II] Watson.R. W.S. H.html [*. [*. (1990). Structured computer organisation. Prentice Hall (3rd ed. (1991). (1994). D. (1999). IB] Velleman. MIT Press. [***. II] Weste. UNIX network programming. J. IB] Watt. M. [**. vol. AddisonWesley (2nd ed.S.).R. CMOS VLSI Design – a circuits and systems perspective. 40 Eastbourne Terrace. IA] Tanenbaum. Cambridge University Press. MIT Press.G. & Weimer. (2003). How to prove it (a structured approach). II] Report of the inquiry into the London Ambulance Service (SW Thames RHA. & Barto.ucl. Addison-Wesley (3rd ed. Addison-Wesley. A.). II] Ullman. Compiler design. Chapman & Hall (3rd ed. R. (2008). (1989). http://www. [**. 1: the protocols. Prentice Hall. Pearson Education (4th ed.A. Semantics of programming languages. TCP/IP illustrated. Norton. [** wolf/modern-vlsi/ [**. Prentice Hall (3rd ed). [**. (1998). II] Stevens. II] Tanenbaum. W. (2012). Vol. IB] Sudkamp.). A. Languages and machines. The formal semantics of programming languages.Stevens. IA] Warren. & Rudoff. (2005). AddisonWesley. Addison-Wesley (3rd ed. (2005). [**. [**. ISBN 9780321336316 [**. D. [**. [**. Morgan Kaufmann. D. [**. J. IB] Varian. R. N. & Widom. Prentice Hall. & Harris. Subdivision methods for geometric design. (1995). II] Winskel. February 1993). [**. Prentice Hall. J. (1993). II] Wolf. II] Stroustrup. Addison-Wesley. H. Addison-Wesley. Reinforcement learning: an introduction. IB. 3D Computer graphics.princeton.). B. IB] Tennent. B.R. K. & Fall. [**. Addison-Wesley (3rd ed). Fenner. IB] Sutton.). IA] Wilhelm. D. W. [**. & van Steen.M. (1997).uk/staff/A.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.