Table of Contents from http://www.awlonline.com/lewis/toc.html Assigned readings are marked by date. [4/03] 1. Computer Systems | 1.1 Introduction | 1.2 Hardware Components | 1.3 Networks | 1.4 Programming | 1.5 Programming Languages | 1.6 Graphics | Summary of Key Concepts | Self-Review Questions | Exercises | Programming Projects | Answers to Self-Review Questions [4/03] 2. Objects and Primitive Data | 2.1 Introduction to Objects | 2.2 String Literals | 2.3 Variables and Assignment | 2.4 Primitive Data Types and Expressions | 2.5 Creating Objects | 2.6 Class Libraries and Packages | 2.7 Invoking Class Methods | 2.8 Formatting Output | 2.9 An Introduction to Applets | 2.10 Drawing Shapes | Summary of Key Concepts | Self-Review Questions | Exercises | Programming Projects | Answers to Self-Review Questions 3. Program Statements [4/03] 3.1 Control Flow [4/03] 3.2 The if Statement [bonus] 3.3 The switch Statement [4/03] 3.4 Boolean Expressions Revisited [4/03] 3.5 More Operators [4/03] 3.6 The while Statement [bonus] 3.7 The do Statement [4/??] 3.8 The for Statement [4/03] 3.9 Developing Programs [bonus] 3.10 Drawing using Conditionals and Loops Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions [4/??] 4. Writing Classes : 4.1 Objects Revisited : 4.2 Anatomy of a Class : 4.3 Anatomy of a Method : 4.4 Object Relationships : 4.5 Method Overloading : 4.6 Method Decomposition : 4.7 Applet Methods : 4.8 Graphical Objects : Summary of Key Concepts : Self-Review Questions : Exercises : Programming Projects : Answers to Self-Review Questions [4/??] 5. Enhancing Classes : 5.1 References Revisited : 5.2 The static Modifier [bonus] 5.3 Nested Classes : 5.4 Interfaces : 5.5 Events and Listeners : 5.6 Animations Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions [4/??] 6. Arrays and Vectors : 6.1 Arrays : 6.2 Arrays of Objects : 6.3 Sorting : 6.4 Two-Dimensional Arrays 6.5 The Vector Class 6.6 Arrays and Graphics Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions [5/01] 7. Inheritance : 7.1 Creating Subclasses : 7.2 Overriding Methods : 7.3 Class Hierarchies : 7.4 Polymorphism via Inheritance : 7.5 Indirect Use of Noninherited Members [bonus] 7.6 Interface Hierarchies : 7.7 Inheritance and Graphics : 7.8 GUI Components Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions 8. Exceptions and I/O Streams 8.1 Exceptions 8.2 Input / Output Streams 8.3 Standard I/O 8.4 Text Files 8.5 Object Serialization Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions [bonus] 9. Graphical User Interfaces 9.1 Java GUI Overview 9.2 Containers 9.3 Components 9.4 Layout Managers 9.5 Special Features 9.6 GUI Design Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions 10. Software Engineering 10.1 Software Development Models 10.2 Prototypes 10.3 Testing 10.4 Evolutionary Development 10.5 The PaintBox Project Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions [bonus] 11. Recursion 11.1 Recursive Thinking 11.2 Recursive Programming 11.3 Using Recursion 11.4 Recursion in Graphics Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions 12. Data Structures 12.1 Collections 12.2 Implementing Data Structures 12.3 Classic Data Structures 12.4 Collection Classes Summary of Key Concepts Self-Review Questions Exercises Programming Projects Answers to Self-Review Questions Appendix A Glossary Appendix B Number Systems Appendix C The Unicode Character Set Appendix D Java Operators Appendix E Java Bitwise Operators Appendix F Java Modifiers Appendix G Java Coding Guidelines Appendix H Review Checklist Appendix I Comparing Java to C++ Appendix J An HTML Tutorial Appendix K Java Exceptions and Errors Appendix L Java Syntax Appendix M The Java Class Library