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