Beyond Karel J Robot
A Gentle Introduction to the Art of Object-Oriented Programming in Java Volume 2
Joseph Bergin
Preface
Chapter 9 The State of the Computation 1
9.1 Implicit State
9.1.1 Assertions
9.2 The Program Counter
9.3 Explicit State (Introduction)
9.4 Primitive Data
9.5 Making Use of Arithmetic on int Values
9.6 A Program Using Numeric Data and Built by Composition
9.6.1 A Calculator Model with a Display
9.6.2 Numeric Keys
9.6.3 Accumulation
9.6.4 Operators
9.6.5 The Equals Key
9.7 Other Primitive Types in Java
9.8 Scope of Variables
9.9 Introduction to Arrays
9.10 Important Ideas From This Chapter
9.11 Problem Set
Chapter 10 Input, Output, and Exception Handling 33
10.1 File Output
10.2 Exceptions
10.3 Input
10.4 File At a Time Input
10.5 Character At a Time Input
10.6 Reading From the Console
10.7 A Simple I/O Illustration
10.8 Introduction to Graphical User Interface Programming: Dialogs
10.9 Important Ideas From This Chapter
10.10 Problem Set
Primo Intermezzo: The French Military Game 56
1 The Game
2 Move Rules
3 The Display
4 The Police
5 The Fox
6 Playing the Game
7 The Memory Manager
8 Important Ideas From This Intermezzo
9 Problem Set
Chapter 11 Collections 76
11.1 Collections Framework Overview
11.2 Collections Exploration Ð Part 1, Variations
11.3 Collections Exploration Ð Part 2, The MemoryManager
11.4 Collections Exploration Ð Part 3, The Police class
11,5 Important Ideas From This Chapter
11.6 Problem Set
Chapter 12 Testing and Documentation 93
12.1 Documentation Overview
12.2 JavaDoc Ð Automated Documentation
12.3 Testing Overview
12.4 JUnit Ð Automated Testing
12.4.1 Testing Example Ð The Calculator Again
12.5 Important Ideas From This Chapter
12.6 Problem Set
Secondo Intermezzo: A Toy Computer 108
1 Introduction to Machine Language
2 The Memory and Its Contents
3 The Execution Stack
4 The Toy Computer
5 Running the Program
6 More Convenient Programming Ð Assembly Language
7 Important Ideas From This Intermezzo
8 Problem Set
Chapter 13 Queues, Priority Queues, and Huffman Coding 129
13.1 Queues and Priority Queues
13.2 Huffman Coding - The Problem
13.3 Huffman Coding - The Data Structures
13.4 Huffman Coding - The Process
13.5 Decoding the Result
13.6 Encoding the Translation Tree - More Recursion
13.7 Important Ideas From This Chapter
13.8 Problem Set
Chapter 14 Project and Case Study - MiniKarel
14.1 Overview
14.2 State, Building MiniRobot
14.3 Arrays and I/O - Extending the World
14.4 Collections, Neighbors
14.5 Documentation and Testing
14.6 Dialogs, Refactoring, and Polymorphism
Appendix 163
1 A Dense List Implementation
2 A Linked List Implementation
3 A Tree Set Implementation
4 A Hashed Set Implementation
190 pages total, plus front matter and index
Last updated: January 28, 2008