Chapter summaries

bullet Chapter 1: Background
bullet Computer organization; software; software engineering principles; object-oriented software development; problem solving.
bullet Chapter 2: Java basics
bullet Program organization; method main(); commenting and whitespace; classes, keywords, identifiers, and naming conventions; methods; program execution; SDK; constants; variables; operations; primitive types; operators; precedence; interactive programs; primitive variable assignment.
bullet Chapter 3: Using object
bullet String; reference variables; null; inserting, extracting, and concatenating strings; reference assignment; String methods.
bullet Chapter 4: Being classy
bullet Introduces user-defined classes; instance variables; constructors; instance methods; inspectors; mutators; facilitators; simple graphics.
bullet Chapter 5: Decisions
bullet Boolean algebra and truth tables; logical expressions; boolean type; Boolean equality and ordering operators; testing floating-point values for equality; operator precedence; short-circuit evaluation; if statement; if-else statement; string and character testing; sorting; switch statement.
bullet Chapter 6: Iteration
bullet While statement; simple string and character processing; for statement; index variable scope; do-while statement.
bullet Graphics Interlude I
bullet Graphical user interfaces; swing; awt; and event-based programming
bullet Chapter 7: Programming with methods and classes
bullet Parameter passing; invocation and flow of control; class variables; scope; local scope; name reuse; overloading; overriding; equals(); toString(); clone().
bullet Chapter 8: Arrays and collections
bullet One-dimensional arrays; definitions; element access and manipulation; explicit initialization; constant arrays; members; array processing; methods; program parameters; sorting; searching; multidimensional arrays; matrices; collections framework; ArrayList; collections algorithms.
bullet Chapter 9: Inheritance and polymorphism
bullet Object-oriented design; reuse; base class; derived class; single inheritance; super; is-a, has-a, and uses-a relationships; controlling inheritance; default, protected, and private members; polymorphism; abstract base class; interface hierarchies.
bullet Graphics Interlude II
bullet Case studies in the design and implementation of graphical user interfaces for personality typing and the smiley guessing game.
bullet Chapter 10: Exceptions
bullet Abnormal event; exceptions; throwing; trying; catching; exception handlers; finally; stream specialization.
bullet Chapter 11: Recursive problem solving
bullet Recursive functions, sorting, searching, visualization.
bullet Chapter 12: Threads
bullet Multiple independent flows of control; processes; threads; scheduling and repeating threads; Timer; TimerTask; Thread; Date; Calendar; JOptionPane; sleeping; animation; systems software.
bullet Chapter 13: Testing and debugging
bullet Software development; code reviews; black-box and white-box testing; inspections; test harness; statement coverage; unit, integration testing, and system testing; regression testing; boundary conditions; path coverage; debugging.
bullet Appendix A: Tables and operators
bullet Unicode character set; reserved words; operators and precedence.
bullet Appendix B: Number representation
bullet Binary numbers; decimal numbers; two’s compliment; conversions.
bullet Appendix C: Applets
bullet Applet programming.
bullet Appendix D: Standard Java packages
bullet java.io; java.lang; java.math; java.net; java. text; java.util.
bullet Appendix E: Standard Java graphical packages
bullet java.applet, java.awt, and javax.swing.