Contents
Preface
Chapter 0 Background
0.1 Introduction
0.2 Computer hardware
0.3 Computer software
0.4 Programming languages and Java
0.5 Executing a program
0.6 Software tools for programming
0.7 How compilation works in Java
0.8 The process of writing programs
0.9 What if your program doesn't work?
Summary
Self-Check Questions
Exercises
Chapter 1 Introduction to Objects
1.1 Introduction
1.2 Concepts
1.3 Mechanics
1.4 Working Out with Objects: getting starting with Java
Summary
Self-Check Questions
Exercises
Programming Projects
New Style Conventions
Chapter 2 Methods with Parameters
2.1 Introduction
2.2 Concepts
2.3 Mechanics
2.4 Working Out with Objects: the talking sun
2.5 Working Out with Composite Objects: the Snowman
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 3 Inheritance
3.1 Introduction
3.2 Concepts
3.3 Mechanics
3.4 Working Out with Inheritance: the Blobs
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 4 Interfaces
4.1 Introduction
4.2 Concepts
4.3 Mechanics
4.4 Working Out with Interfaces: a movable sun
4.5 Working Out with Interfaces and Composite Shapes: a movable hat
4.6 Recipes
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 5 Polymorphism
5.1 Introduction
5.2 Concepts
5.3 Mechanics
5.4 Working Out with Polymorphism: the sketch pad
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 6 Introduction to Arithmetic and Conditional Statements
6.1 Introduction
6.2 Concepts
6.3 Mechanics
6.4 Working Out with arithmetic and conditionals: Daisy,Daisy, give me your answer do
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 7 Two-Dimensional Graphical Shapes
7.1 Introduction
7.2 Concepts
7.3 Working Out with Windows and Shapes - FirstApp revisited
7.4 Working Out with Events and Animation - the bouncing ball
7.5 Working Out with Events and Composite Shapes - the fish tank
7.6 Working Out with Design - building our own Wheels
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 8 Graphical User Interfaces and Event-Handling
8.1 Introduction
8.2 Concepts
8.3 Mechanics
8.4 Working out with GUI: a user-controlled bouncing ball
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 9 Design Patterns
9.1 Introduction
9.2 Concepts
9.3 Mechanics
9.4 Working out with the Holder Pattern - part of a drawing program
9.5 Working out with the Proxy Pattern - race cars
9.6 Working out with the Composite Pattern - the space alien
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 10 Advanced Arithmetic and Conditional Statements
10.1 Introduction
10.2 Concepts
10.3 Mechanics
10.4 Working out with floating point numbers, nested conditionals, and random numbers - ColorBounceApp
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 11 Loops
11.1 Introduction
11.2 Concepts
11.3 Mechanics
11.4 Working out with: ButterflyApp
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 12 Recursion
12.1 Introduction
12.2 Concepts
12.3 Mechanics
12.4 Working out with Recursion: SpiralApp
12.5 Working out with Recursion: TreeApp
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 13 Arrays, Vectors, and ArrayLists
13.1 Introduction
13.2 Concepts
13.3 Mechanics
13.4 Working out with: Arrays: ClickApp
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 14 Introduction to Data Structures
14.1 Introduction
14.2 Concepts
14.3 Mechanics
14.4 Working Out with Data Structures: Driver programs
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 15 Trees
15.1 Introduction
15.2 Concepts
15.3 Mechanics: Binary Search Trees
15.4 Working Out with Trees: Driver Program
Summary
Self-Check Questions
Exercises
Chapter 16 Sorting and Searching
16.1 Introduction
16.2 Concepts
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 17 Strings and Text I/O
17.1 Introduction
17.2 Concepts
17.3 Mechanics: Strings
17.4 Working out with Strings: GUI Text I/O
Summary
Self-Check Questions
Exercises
Programming Projects
Chapter 18 Console I/O, File I/O, and Exceptions
18.1 Introduction
18.2 Concepts
18.3 Mechanics
18.4 Working Out with File I/O: Saving and restoring objects
Summary
Self-Check Questions
Exercises
Programming Projects
Index