next up previous contents
Next: A. CSC721 Examination April Up: Algorithms and Data Structures Previous: 13. Tree Data Structures   Contents

Bibliography

Abelson and Sussman, 1996
Abelson, H. and Sussman, G. (1996).
Structure and Interpretation of Computer Programs 2nd ed.
MIT Press.

Bentley, 1988
Bentley, J. (1988).
More Programming Pearls - Confessions of a coder.
Addison-Wesley.

Bentley, 1999
Bentley, J. (1999).
Programming Pearls.
Addison-Wesley, 2nd edition.

Brooks, 1995
Brooks, Jr., F. (1995).
The Mythical Man-Month: essays on software engineering.
Addison Wesley, 2nd edition.

Brookshear, 1999
Brookshear, J. (1999).
Computer Science, an overview.
Addison Wesley, 6th edition.

Budd, 1994
Budd, T. (1994).
Classic Data Structures in C++.
Addison-Wesley.

Budd, 1997a
Budd, T. (1997a).
Data Structures in C++ Using the Standard Template Library.
Addison Wesley.

Budd, 1997b
Budd, T. (1997b).
An Introduction to Object-oriented Programming.
Addison Wesley, 2nd edition.

Budd, 1999a
Budd, T. (1999a).
C++ for Java Programmers.
Addison Wesley.

Budd, 1999b
Budd, T. (1999b).
Understanding Object-oriented Programming with Java (updated for Java 2).
Addison-Wesley.

Buschmann et al., 1996
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. (1996).
A System of Patterns.
Wiley.

Campbell, 1999
Campbell, J. (1999).
Object-oriented programming in C++.
Technical Report ifmg/99/0001/r, rev. 3.0, University of Ulster.
Available at http://www.cs.qub.ac.uk/$ \sim$J.Campbell/myweb/oop/ - /notes/oop.ps for PostScript version, /oophtml for the HTML version (note - the translation to HTML is not great).

Cormen et al., 1990
Cormen, T., Leiserson, C. E., and Rivest, R. (1990).
Introduction to Algorithms.
MIT Press / McGraw Hill.
Costs about £50.

Cornell and Horstmann, 1999
Cornell, G. and Horstmann, C. (1999).
Core Java, Volume 2.
Prentice-Hall.

Crosby, 1979
Crosby, P. (1979).
Quality is Free.
Mentor Books.

Deitel and Deitel, 1999
Deitel, H. and Deitel, P. (1999).
Java - How to Program.
Prentice Hall, 3rd edition.

Felleisen and Friedman, 1998
Felleisen, M. and Friedman, D. (1998).
A Little Java, a Few Patterns.
MIT Press.

Flanagan, 1999
Flanagan, D. (1999).
Java in A Nutshell (3rd ed.).
O'Reilly and Assoc., 3rd edition.

Foley and vanDam, 1990
Foley, J. and vanDam, A. (1990).
Computer Graphics: Principles and Practice.
Addison-Wesley.

Gamma et al., 1995
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995).
Design Patterns: Elements of Reusable Object-oriented Software.
Addison-Wesley.

Ghezzi and Jazayeri, 1987
Ghezzi, C. and Jazayeri, M. (1987).
Programming Language Concepts.
John Wiley.

Harel, 1992
Harel, D. (1992).
Algorithmics.
Addison Wesley, 2nd edition.

Horowitz and Sahni, 1974
Horowitz, E. and Sahni, S. (1974).
The Design and Analysis of Computer Algorithms.
Addison Wesley.

Horowitz and Sahni, 1984
Horowitz, E. and Sahni, S. (1978/1984).
Fundamentals of Computer Algorithms.
Pitman (1978), W.H. Freeman (1984).

Horstmann, 1997
Horstmann, C. (1997).
Practical Object-Oriented Development in Java and C++.
Wiley.

Knuth, 1997a
Knuth, D. (1997a).
The Art of Computer Programming, Volume 1, Fundamental Algorithms.
Addison Wesley, 3rd edition.

Knuth, 1997b
Knuth, D. (1997b).
The Art of Computer Programming, Volume 2, Seminumerical Algorithms.
Addison Wesley, 3rd edition.

Knuth, 1998
Knuth, D. (1998).
The Art of Computer Programming, Volume 3, Sorting and Searching.
Addison Wesley, 2nd edition.

Koenig and Moo, 2000
Koenig, A. and Moo, B. (2000).
Accelerated C++.
Addison-Wesley.

Lafore, 1998
Lafore, R. (1998).
Data Structures & Algorithms in Java.
Waite Group Press/Sams.
Costs £45 pds in shops, about £32 from Amazon.co.uk.

Levy, 1988
Levy, L. (1988).
Fundamental Concepts of Computer Science: mathematical foundations of programming.
Dorset House.

Louden, 1993
Louden, K. (1993).
Programming Languages: Principles and Practice.
PWS-Kent Publishing Company.

MacLennan, 1987
MacLennan, B. (1987).
Principles of Programming Languages.
Holt-Saunders, 2nd edition.

Martin, 1996
Martin, R. (1996).
Principles of object-oriented programming.
Technical report, Available Object Mentor Assoc. http://www.oma.com.

Meyer, 1996
Meyer, B. (1996).
An introduction to design by contract.
Technical report, Interactive Software Engineering, inc. Available from www.eiffel.com.

Meyer, 1997
Meyer, B. (1997).
Object-oriented Software Construction, 2nd ed.
Prentice-Hall, 2nd edition.

Musser and Saini, 1996
Musser, D. and Saini, A. (1996).
STL Tutorial and Reference Guide.
Addison Wesley.

Parnas, 1972
Parnas, D. (1972).
On the criteria to be used in decomposing systems into modules.
Comm. ACM, 5(12):1053-1058.

Sebesta, 1995
Sebesta, R. (1995).
Concepts of Programming Languages.
Benjamin / Cummings.

Sedgewick, 1997
Sedgewick, R. (1997).
Algorithms in C.
Addison Wesley, 3rd edition.

Stroustrup, 1997
Stroustrup, B. (1997).
The C++ Programming Language.
Addison-Wesley, 3rd edition.

Vlissides, 1998
Vlissides, J. (1998).
Pattern Hatching: Design Patterns Applied.
Addison-Wesley.

Weiss, 1999
Weiss, M. (1999).
Data Structures and Algorithm Analysis in Java.
Addison-Wesley.

Winston and Narasimhan, 1998
Winston, P. and Narasimhan, S. (1998).
On To Java.
Addison-Wesley, 2nd edition.

Yourdon, 1989
Yourdon, E. (1989).
Modern Structured Analysis.
Prentice-Hall.


jc 2005-11-16