References for MTHSC 865



Last updated on August 21, 2008.


Books on the SafariU Online Bookshelf

  1. HTML & XHTML: The Definitive Guide
    by Chuck Musciano and Bill Kennedy
    O'Reilly & Associates, Sixth Edition October 2006
    678 pages, $49.99, ISBN 10: 0-596-52732-2, ISBN 13: 9780596527327
    HTML & XHTML: The Definitive Guide, 6th Edition is the most comprehensive, up-to-date book available on HTML and XHTML. The authors cover every element of HTML/XHTML in detail, explaining how each element works and how it interacts with other elements. With hundreds of examples, the book gives you models for writing your own effective web pages and for mastering advanced features like style sheets and frames.
  2. Java in a Nutshell, 5th Edition
    by David Flanagan.
    O'Reilly & Associates, Fifth Edition March 2005
    1252 pages, $44.95, ISBN: 0-596-00773-6
    Java in a Nutshell, 5th Edition covers all the extensive changes implicit in 5.0, the latest and greatest version of Java yet. This classic remake has also undergone a complete editorial makeover in order to more closely meet the needs to the modern Java programmer. Among the improvements: more discussion on tools and frameworks, and new code examples to illustrate the working of APIs.
  3. Java Examples in a Nutshell, 3rd Edition
    by David Flanagan
    O'Reilly, January 2004
    720 pages, ISBN: 0-596-00620-9
    The author of the best-selling Java in a Nutshell has created an entire book of real-world Java programming examples that you can learn from. If you learn best "by example," this is the book for you.

    This third edition covers Java 1.4 and contains 193 complete, practical examples: over 21,900 lines of densely commented, professionally written Java code, covering 20 distinct client-side and server-side APIs. The chapters on XML and servlets have been rewritten to cover the latest versions of the specifications and to demonstrate best practices for Java 1.4. New and updated examples throughout the book demonstrate many other new Java features and APIs. This book doesn't hold your hand; it simply delivers well-commented working examples with succinct explanations to help you learn and explore Java and its APIs.

    Java Examples in a Nutshell contains examples that demonstrate:

    • Core APIs, including I/O, New I/O, threads, networking, security, serialization, and reflection
    • Desktop APIs, highlighting Swing GUIs, Java 2D graphics, preferences, printing, drag-and-drop, JavaBeans, applets, and sound
    • Enterprise APIs, including JDBC (database access), JAXP (XML parsing and transformation), Servlets 2.4, JSP 2.0 (JavaServer Pages), and RMI

    The book begins with introductory examples demonstrating structured and object-oriented programming techniques for new Java programmers. A special index at the end of the book makes it easy to look up examples that use a particular Java class or accomplish a desired task.

  4. Design Patterns Java Workbook
    by Steven John Metsker
    Addison Wesley, March 2002
    496 pages, $44.99, ISBN: 0201743973
    A companion to the seminal book, Design Patterns, that allows students to learn patterns using Java as opposed to C++, which was used in the original work. By working through the challenges presented in Design Patterns Java™ Workbook, the student will learn to recognize and apply a large portion of the accumulated wisdom of the software community. The author uses a workbook approach because he believes that students will not truly learn the material by reading it, but by “doing it.”
  5. Algorithms in Java, Third Edition, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching
    by Robert Sedgewick
    Addison Wesley, July 23, 2002
    768 pages, ISBN: 0-201-36120-5
    This edition of Robert Sedgewick's popular work provides current and comprehensive coverage of important algorithms for Java programmers. Michael Schidlowsky and Sedgewick have developed new Java implementations that both express the methods in a concise and direct manner. In addition, many new algorithms are presented, and the explanations of each algorithm are more detailed than in previous editions. This third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 400,000 programmers. This particular book, Parts 1-4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. Although the substance of the book applies to programming in any language, the implementations by Schidlowsky and Sedgewick also exploit the natural match between Java classes and abstract data type (ADT) implementations.

    The key sections on the priority queues and balanced trees are included in your text book, and the entire book is available online through SafariU.

  6. Algorithms in Java, Third Edition, Part 5: Graph Algorithms
    by Robert Sedgewick
    Addison Wesley, July 15, 2003
    528 pages, ISBN-10: 0-201-36121-3
    Algorithms in Java, Third Edition, Part 5: Graph Algorithms is the second book in Sedgewick's thoroughly revised and rewritten series. The first book, Parts 1-4, addresses fundamental algorithms, data structures, sorting, and searching. A forthcoming third book will focus on strings, geometry, and a range of advanced algorithms. Each book's expanded coverage features new algorithms and implementations, enhanced descriptions and diagrams, and a wealth of new exercises for polishing skills. The natural match between Java classes and abstract data type (ADT) implementations makes the code more broadly useful and relevant for the modern object-oriented programming environment. The Web site for this book ( provides additional source code for programmers along with a variety of academic support materials for educators.

    Coverage includes:

    • A complete overview of graph properties and types
    • Diagraphs and DAGs
    • Minimum spanning trees
    • Shortest paths
    • Network flows
    • Diagrams, sample Java code, and detailed algorithm descriptions

    A landmark revision, Algorithms in Java, Third Edition, Part 5 provides a complete tool set for programmers to implement, debug, and use graph algorithms across a wide range of computer applications.

  7. Python in a Nutshell, 2nd Edition
    by Alex Martelli
    O'Reilly, July 14, 2006
    734 pages, ISBN-10: 0-596-10046-9, ISBN-13: 978-0-596-10046-9
    Python in a Nutshell, Second Edition covers more than the language itself; it also deals with the most frequently used parts of the standard library, and the most popular and important third party extensions. Revised and expanded for Python 2.5, this book now contains the gory details of Python's new subprocess module and breaking news about Microsoft's new IronPython project. Our "Nutshell" format fits Python perfectly by presenting the highlights of the most important modules and functions in its standard library, which cover over 90% of your practical programming needs. This book includes:
    • A fast-paced tutorial on the syntax of the Python language
    • An explanation of object-oriented programming in Python
    • Coverage of iterators, generators, exceptions, modules, packages, strings, and regular expressions
    • A quick reference for Python's built-in types and functions and key modules
    • Reference material on important third-party extensions, such as Numeric and Tkinter
    • Information about extending and embedding Python

    Python in a Nutshell provides a solid, no-nonsense quick reference to information that programmers rely on the most. This book will immediately earn its place in any Python programmer's library.

  8. Python Programming with the Java™ Class Libraries:
    A Tutorial for Building Web and Enterprise Applications with Jython

    by Richard Hightower
    Addison Wesley Professional, June 28, 2002
    640 pages, ISBN-10: 0-201-61616-5, ISBN-13: 978-0-201-61616-3
    Characterized by ease of use, richness of expression, and concise syntax, Python has remained a premier programming language for more than a decade, and is used by novices and professionals alike. In particular, its close relationship to Java™ makes the two languages, when used in combination, ideal for Web and distributed enterprise application development.

    This tutorial begins with coverage of some of the basics of Python programming. Using plenty of skill-building exercises and interactive programming sessions, this book will help those new to programming develop an understanding of concepts and practical techniques. For experienced programmers, the book demonstrates Python's breadth of capabilities and shows the ways that Python interfaces with Java APIs for professional application development.

    Python Programming with the Java™ Class Libraries: A Tutorial for Building Web and Enterprise Applications with Jython covers important topics such as:

    • Fundamental programming concepts, including statements, expressions, interpreters, and compilers
    • Python basics, including operators, string formatting, namespaces, classes, errors, and exceptions
    • Object-oriented programming concepts
    • File input/output
    • Python's intrinsic functions
    • Formatting, parsing, and manipulating strings
    • Interfacing with the Java APIs and working with Java Streams
    • Using Python and Java Swing to create GUIs
    • Working with SQL and JDBC™
    • Python and Java applets
    In addition, the book contains instructions for downloading and installing the Python language and the Java Development Kit (JDK). Terminology, definitions, explanations, and numerous code samples make this book a useful learning experience.

Free Books

  1. Thinking in Java
    By Bruce Eckel
    Prentice-Hall, December 6, 2002
    1,119 pages plus CD-ROM, $33.99, ISBN: 0-13-100287-2
    The electronic version is free.
    The Definitive Introduction to Object-Oriented Programming in the Language of the World-Wide Web

    JavaWorld Reader's Choice Award for best book, 2000,
    Java Developer's Journal Editor's Choice Award for best book, 1999
    Software Development Magazine Productivity Award, 1999

    From the fundamentals of Java syntax to its most advanced features (distributed computing, advanced object-oriented capabilities, multithreading), "Thinking in Java" is designed to teach. Bruce Eckel's readable style and small, direct programming examples make even the most arcane concepts clear.

  2. Parsing Techniques - A Practical Guide
    By Dick Grune and Ceriel J.H. Jacobs
    Vrije Universiteit, Amsterdam, The Netherlands
    Originally published by Ellis Horwood, Chichester, England, 1990; ISBN 0 13 651431 6
    This 320-page book treats parsing in its own right, in greater depth than is found in most computer science and linguistics books. It offers a clear, accessible, and thorough discussion of many different parsing techniques with their interrelations and applicabilities, including error recovery techniques. Unlike most books, it treats (almost) all parsing methods, not just the popular ones. See Preface + Introduction and/or Table of Contents for a quick impression.

    The book features a 48 page systematic bibliography containing over 400 entries. A general context-free parser is supplied (Figure 12.1 and Figure 12.2) and discussed in detail.

    No advanced mathematical knowledge is required; the book is based on an intuitive and engineering-like understanding of the processes involved in parsing, rather than on the set manipulations used in practice.

    Dick Grune is a lecturer of Programming Languages and Compiler Construction at the Vrije Universiteit, and is a coauthor of the text books Programming Language Essentials and Modern Compiler Design.

    New second edition!
    We have signed a contract with Springer Verlag for a second edition, to be ready by June 15, 2005! The new edition will also feature generalized deterministic parsers, non-canonical parsers, linear-time substring parsing, parsing as intersection, and parallel parsing, in addition to an expanded and updated main text. And there will be hundreds of additional literature summaries!

Important CS References

  1. Algorithms
    by Robert Sedgewick
    Addison-Wesley, Second edition April 1, 1988
    657 pagesISBN: 0201066734

  2. Algorithms + Data Structures = Programs
    by Niklaus Wirth
    Prentice Hall, February 1, 1976
    366 pages, ISBN: 0130224189

  3. Data Structures, Theory and Practice
    by Alfs T. Berztiss
    Academic Press, Second edition March 28, 1975
    586 pages, ISBN: 012093552X

  4. Foundations of Computer Science
    by Aho and Ullman, 1992.
    W. H. Freeman, C edition October 15, 1994
    786 pages, ISBN: 0716782847

  5. Introduction to Automata Theory, Languages and Computation
    by Hopcroft, Motwani, and Ullman
    Addison Wesley, Second edition November 14, 2000
    521 pages, ISBN: 0201441241

  6. Machines, Languages and Computation
    by Denning, Dennis and Qualitz
    Prentice Hall, July 1, 1978
    601 pages, ISBN: 0135422582

Additional Introductory Books on Java

  1. Learning Java, Third Edition
    By Pat Niemeyer and Jonathan Knudsen
    O'Reilly & Associates, May 2005
    976 pages with CD, $44.95, ISBN: 0-596-00873-2
    With more changes than any previous version, Java 5.0 makes it easier to develop safe, powerful code. But it isn't any easier to learn. That means the bestselling hands-on tutorial Learning Java takes on greater significance, delivering a no-nonsense approach to Java 5.0 features, such as "generics," and looks into the popular Eclipse IDE. The accompanying CD includes the Java 5.0 SDK for Windows, Linux and Solaris.
  2. Beginning Java 2, JDK 5
    by Ivor Horton
    Wrox Press Inc, December 2004
    1512 pages, $49.99, ISBN: 0-7645-6874-4
    This book is a comprehensive introduction to the Java programming language, updated thoroughly (more than 35% new and updated) for the latest SDK 1.5 release. This book shows readers how to build real-world Java applications using the Java SDK. No previous programming experience is required. The author uses numerous step-by-step programming examples to guide readers through the ins and outs of Java development. In addition to fully covering new features of SDK 1.5, such as generic types, the author has also added new chapters on Java database programming with JDBC and Java programming with XML.
  3. Just Java 2, 6th Edition
    by Peter van der Linden
    Prentice Hall, June, 2004
    848 pages, $49.99, ISBN: 0-13-148211-4

    An international bestseller for eight years, Just Java™ 2 is the complete, accessible Java tutorial for working programmers at all levels. Fully updated and revised, this sixth edition is more than an engaging overview of Java 2 Standard Edition (J2SE 1.5) and its libraries: it’s also a practical introduction to today’s best enterprise and server-side programming techniques. Just Java™ 2, Sixth Edition, reflects both J2SE 1.5 and the latest Tomcat and servlet specifications. Extensive new coverage includes:

    • New chapters on generics and enumerated types
    • New coverage of Web services, with practical examples using Google and Amazon Web services
    • Simplified interactive I/O with printf()
    • Autoboxing and unboxing of primitive types
    • Static imports, foreach loop construct, and other new language features

    Peter van der Linden delivers expert advice, clear explanations, and crisp sample programs throughout—including dozens new to this edition. Along the way, he introduces:

    • The core language: syntax, objects, interfaces, nested classes, compiler secrets, and much more
    • Key libraries: date and calendar, pattern matching, network software, mapped I/O, utilities and generic collections
    • Server-side technology: network server systems, a complete tiny HTML Web server, and XML in Java
    • Enterprise J2EE: Sql and JDBC™ tutorial, servlets and JSP and much more
    • Client-side Java: fundamentals of JFC/Swing GUI development, new class data sharing details
  4. Sams Teach Yourself Java 2 in 21 Days, 4th Edition
    by Laura Lemay, Rogers Cadenhead
    Sams, May 13, 2004
    840 pages, $39.99, ISBN: 0672326280
    Sams Teach Yourself Java in 21 Days continues to be the most popular, best-selling Java tutorial on the market. It has been acclaimed for its clear and personable writing, for its extensive use of examples, and for its logical and complete organization. This new edition of the book maintains and improves upon all these qualities, while updating, revising, and reorganizing the material to cover the latest developments in Java and to expand the coverage of core Java programming topics.
  5. Java Enterprise in a Nutshell, 3rd Edition
    by Jim Farley & William Crawford with Prakash Malani, John Norman, & Justin Gehtland
    Third Edition November 2005
    892 pages, $44.95, 0-596-10142-2
    The Java Enterprise APIs are essential building blocks for creating enterprise-wide distributed applications in Java. Java Enterprise in a Nutshell covers the RMI, Java IDL, JDBC, JNDI, Java Servlet, and Enterprise JavaBeans APIs, providing a fast-paced tutorial and compact reference material on each of the technologies. Covers Java 1.2.
  6. Java for Engineers and Scientists, 2/E
    by Stephen J. Chapman
    Prentice Hall, October 2003
    704 pages, $80.00, ISBN: 0-13-033520-7
    From the very beginning, this concise introduction to Java develops and executes practical examples useful for solving problems in an engineering environment. Focused on the proper way to write reliable Java programs, it outlines excellent software development practices; uses a top-down design technique to break the program up into logical portions; and demonstrates object re-usability by building later examples on the classes and methods created in earlier examples. The text makes learning an interactive experience by providing all sources for all examples through a Website.
  7. Eclipse
    By Steve Holzner
    O'Reilly & Associates, First Edition April 2004
    334 pages, $44.95 US, ISBN: 0-596-00641-1
    O'Reilly's new guide to the technology, Eclipse, provides exactly what you're looking for: a fast-track approach to mastery of Eclipse. This insightful, hands-on book delivers clear and concise coverage, with no fluff, that gets down to business immediately. The book is tightly focused, covering all aspects of Eclipse: the menus, preferences, views, perspectives, editors, team and debugging techniques, and how they're used every day by thousands of developers. Development of practical skills is emphasized with dozens of examples presented throughout the book.
  8. Eclipse Cookbook
    By Steve Holzner
    O'Reilly, June 2004
    362 pages, ISBN: 0-596-00710-8
    Eclipse is a powerful open source platform that gives Java developers a new way to approach development projects. In the Eclipse Cookbook, Java expert Steve Holzner demystifies Eclipse with practical recipes for more than 800 situations you may encounter--from deploying a web application automatically to reverse engineering compiled code, from re-naming all references to a class across multiple packages to initializing the SWT JNI libraries.
** Virtually all Java books, including the books listed above, can be purchased online thru, Barnes & Nobel, or Powell's Books.
If you have any questions, contact warner (at) clemson (dot) edu.