|
Chapter 1: Background
|
Computer organization; software; software engineering principles;
object-oriented software development; problem solving. |
|
|
Chapter 2: Java basics
|
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. |
|
|
Chapter 3: Using object
|
String; reference variables; null; inserting,
extracting, and concatenating strings; reference assignment; String methods. |
|
|
Chapter 4: Being classy
|
Introduces user-defined classes; instance variables;
constructors; instance methods; inspectors; mutators; facilitators; simple
graphics. |
|
|
Chapter 5: Decisions
|
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. |
|
|
Chapter 6: Iteration
|
While statement; simple string and character processing;
for statement; index variable scope; do-while statement. |
|
|
Graphics Interlude I
|
Graphical user interfaces; swing; awt; and event-based
programming |
|
|
Chapter 7: Programming with methods and classes
|
Parameter passing; invocation
and flow of control; class variables; scope; local scope; name reuse;
overloading; overriding; equals(); toString(); clone(). |
|
|
Chapter 8: Arrays and collections
|
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. |
|
|
Chapter 9: Inheritance and polymorphism
|
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. |
|
|
Graphics Interlude II
|
Case studies in the design and implementation of
graphical user interfaces for personality typing and the smiley guessing game. |
|
|
Chapter 10: Exceptions
|
Abnormal event; exceptions; throwing; trying; catching;
exception handlers; finally; stream specialization. |
|
|
Chapter 11: Recursive problem solving
|
Recursive functions, sorting, searching,
visualization. |
|
|
Chapter 12: Threads
|
Multiple independent flows of control; processes; threads;
scheduling and repeating threads; Timer; TimerTask; Thread; Date; Calendar;
JOptionPane; sleeping; animation; systems software. |
|
|
Chapter 13: Testing and debugging
|
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. |
|
|
Appendix A: Tables and operators
|
Unicode character set; reserved words;
operators and precedence. |
|
|
Appendix B: Number representation
|
Binary numbers; decimal numbers; two’s
compliment; conversions. |
|
|
Appendix C: Applets
|
Applet programming. |
|
|
Appendix D: Standard Java packages
|
java.io; java.lang; java.math; java.net;
java. text; java.util. |
|
|
Appendix E: Standard Java graphical packages
|
java.applet, java.awt, and
javax.swing. |
|