Chapter O. Introduction to object-oriented software design. Chapter 1. Data abstraction: introductory concepts. Chapter 2. Defining a simple class. Chapter 3. Designing interacting classes. Chapter 4. Conditions. Chapter 5. Programming by contract. Chapter 6. Testing. Chapter 7. Building a text-based user interface. Chapter 8. The software life cycle: building a complete system. Chapter 9. Specifying clients: interfaces. Chapter 10. Class extension and inheritance. Chapter 11. Modeling with abstraction. Chapter 12. Lists. Chapter 13. Arrays. Chapter 14. Sorting and searching. Chapter 15. Failures and exceptions. Chapter 16. Stream i/o. Chapter 17. Building a graphical user interface. Chapter 18. Integrating user interface and model: the Model-View-Controller pattern. Chapter 19. Recursion. Chapter 20. Generic structur5es. Chapter 21. Implementing lists: linked implementations. Chapter 22. Iterators. Supplement a. Systems and software. Supplement b. Programming errors. Supplement C. Applets. Supplement d. Enumerations types: the rest of the story. Appendix i. Compiling, executing, and documenting. Appendix ii. DrJava. Appendix iii. Controls and basic Latin: the first 128 Unicode characters. glossary. references. index.
Jaime Nino is Associate Professor of Computer Science at the University of New Orleans. He is the author, with Frederick Hosch, of the previous editions of An Introduction to Programming and Object-Oriented Design Using Java. Frederick A. Hosch is Professor Emeritus at the University of New Orleans.