Contents:
Chapter 1. Introduction
[slides]
1.1 A brief history of computing
1.2 What is computer science?
1.3 A brief tour of computer hardware
1.4 Algorithms
1.5 Stages in the programming process
1.6 Java and the object-oriented paradigm
1.7 Java and the World Wide Web
Chapter 2. Programming by example
[code]
[slides]
2.1 The Hello World program
2.2 Perspectives on the programming process
2.3 A program to add two numbers
2.4 Programming idioms and patterns
2.5 Classes and objects
2.6 Graphical programs
Chapter 3. Expressions
[code]
[slides]
3.1 Primitive data types
3.2 Constants and variables
3.3 Operators and operands
3.4 Assignment statements
3.5 Boolean expressions
3.6 Designing for change
Chapter 4. Statement Forms
[code]
[slides]
4.1 Statement types in Java
4.2 Control statements and problem solving
4.3 The if
statement
4.4 The switch
statement
4.5 The while
statement
4.6 The for
statement
Chapter 5. Methods
[code]
[slides]
5.1 A quick overview of methods
5.2 Writing your own methods
5.3 Mechanics of the method-calling process
5.4 Decomposition
5.5 Algorithmic methods
Chapter 6. Objects and Classes
[code]
[slides]
6.1 Using the RandomGenerator
class
6.2 The javadoc documentation system
6.3 Defining your own classes
6.4 Representing student information
6.5 Rational numbers
6.6 Extending existing classes
Chapter 7. Objects and Memory
[code]
[slides]
7.1 The structure of memory
7.2 The allocation of memory to variables
7.3 Primitive types versus objects
7.4 Linking objects together
Chapter 8. Strings and Characters
[code]
[slides]
8.1 The principle of enumeration
8.2 Characters
8.3 Strings as an abstract idea
8.4 Using the methods in the String
class
8.5 A case study in string processing
Chapter 9. Object-Oriented Graphics
[code]
[slides]
9.1 The acm.graphics
model
9.2 Structure of the acm.graphics
package
9.3 Using the shape classes
9.4 Creating compound objects
Chapter 10. Event-Driven Programs
[code]
[slides]
10.1 The Java event model
10.2 A simple event-driven program
10.3 Responding to mouse events
10.4 Responding to keyboard events
10.5 Creating a simple GUI
10.6 The Swing interactor hierarchy
10.7 Managing component layout
10.8 Using the TableLayout
class
Chapter 11. Arrays and ArrayLists
[code]
[slides]
11.1 Introduction to arrays
11.2 Internal representation of arrays
11.3 Passing arrays as parameters
11.4 Using arrays for tabulation
11.5 Initialization of arrays
11.6 Multidimensional arrays
11.7 Image processing
11.8 The ArrayList
class
Chapter 12. Searching and Sorting
[code]
[slides]
12.1 Searching
12.2 Sorting
12.3 Assessing algorithmic efficiency
12.4 Using data files
Chapter 13. Collection Classes
[code]
[slides]
13.1 The ArrayList
class revisited
13.2 The HashMap
class
13.3 The Java Collections Framework
13.4 Principles of object-oriented design
Chapter 14. Looking Ahead
[code]
[slides]
14.1 Recursion
14.2 Concurrency
14.3 Using the network
14.4 Programming patterns