Cover image for Introduction to programming using Java : an object-oriented approach
Title:
Introduction to programming using Java : an object-oriented approach
Author:
Arnow, David M.
Personal Author:
Publication Information:
Reading, Mass. : Addison Wesley, [1998]

©1998
Physical Description:
xxxi, 783 pages : illustrations ; 23 cm
General Note:
Includes index.
Language:
English
Added Author:
ISBN:
9780201311846
Format :
Book

Available:*

Library
Call Number
Material Type
Home Location
Status
Central Library QA76.73.J38 A77 1998 Adult Non-Fiction Central Closed Stacks
Searching...

On Order

Summary

Summary

Javas support for GUI and network programming makes a great setting for diverse programming examples: a calculator, a strategy game, reading the Dow Jones from Yahoo , a Web surveyor application, scheduling songs for a rock-and-roll radio station, as well as traditional payroll and student GPA computations. Working with these and other examples, students learn to think like a programmer, analyze problems, devise solutions, design classes, and write code. Features *Uses the necessary features of Java 1.1 while teaching CS1 concepts. *Uses object-oriented concepts from the very beginning--classes, objects, and messages are all introduced in Chapter 1--and develops them throughout. *Applies a consistent class design procedure, usable by beginners. *Contains graphic user interface (GUI) supplements in each chapter. *Provides an early introduction to testing, covering test drivers, debugging, and test case selection. *Includes a chapter with three robust applications--a LOGO turtle, a Web surveyor, and Mancala (a strategy game)--which use the texts class design procedure and allow the students to tie the material together.


Author Notes

David Arnow is a Professor in the Department of Computer and Information Science at Brooklyn College. Since joining Brooklyn College in 1981, his research has encompassed data structures, distributed programming, scripting languages, and parallelization of decision support software. He has published papers on CS education in SIGCSE and related settings, led two NSF-funded projects in areas of CS education, and organized or co-organized several nationally attended workshops on logic and formal methods in CS education.

Gerald Weiss is an Associate Professor in the Department of Computer and Information Science at Brooklyn College. Since joining Brooklyn College in 1980, his research has encompassed data structures, programming language design and translation, object-oriented programming, and multimedia conferencing. He has published papers on CS education in SIGCSE and in other ACM and IEEE publications. He has also acted as an educational consultant to industry.



0201311844AB04062001


Table of Contents

1 Jumping Into Java
Computers and Programs
Programs and Models
Objects, Classes, and Messages
Our First Object: A PrintStream
Sending a Message to the System.out Object
A Java Program
Identifiers, Statement Order, Format, And Comments
Mechanics
Time
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
Introduction: Web Pages, Html, And Applets
2 Sending Messages and Performing Operations
Introduction
Using PrintStream Objects
References, Methods, And Messages
The String Class
Methods, Arguments, and Return Values
Reference Variables
Variables And Assignment
Using String Methods
Imperative Programming: Doing the Work
Examples
Java Interlude: String Objects And The + Operator
Study Aid: Terminology Review
Questions for Review
Further Exercises
Painting And Positioning Graphics
3 Working with Objects and Primitive Types
Introduction
Creating Objects
Origins Of Objects
Working With Objects
Dates and Calendars
BigInteger
Introduction to Input
The File Input Process
Keyboard Input
File Output
Network Computing: An Introduction
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
Towards Animation
4 Defining Classes
Introduction
Class Definition: Methods
Class Definition: Instance Variables
More on Methods: Return Values
Imperative Programming: Finding the Minimum
Variables, Declarations, And The Return Statement
Still More on Methods: Parameters
State and Behavior
Class Definition: Putting it All Together
Declarations, Access, And Objects
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
A Simple Animation
5 Advanced Class Definition
Customizing New Objects: Constructors
Constructors, Initializers, And Overloading
Example: A Name Class
Providing Class Behaviors
Static Methods
Tracking Class-wide Information: Static Variables
Defining Constant Values: final
Working With Objects
Input Methods Revisited: Testing for End of Input
Summary
Terminology Review
Questions for Review
Further Exercises
Creating Controls And Interaction
6 Inside the Method: Imperative Programming
Introduction
A Metric Conversion Class
Float, Double, And The For Statement
Approximating the Value of p
Cascaded and Compound Conditional Statements
Logical Operators And Conditional Statements
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
More On Interaction
7 Designing Classes
Introduction
Designing Classes-An Overview
The Counter Class Revisited
An Automated Teller Machine
Dispatching Repairpeople: An Example
Summary
Questions for Review
Further Exercises
Multiple Controls: Layout And Event Handling
8 Verifying Object Behavior
Introduction
Categories of Errors
Java's Assertion Facility
Test Drivers
Automatic Testing
What to Test and How to Test It
Debugging Techniques
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
Separating Display And Control
9 Working with Multiple Objects
Introduction
Processing Multiple Objects
Loop Patterns
The Impact of Loops on Testing
A Telephone Book
Maintaining Multiple Values
Vector-A Simple Collection Class
Traversing Vectors Using for Loops
Revisiting the Telephone Book Class
Primitive Types And Collections
Revisiting The Wrapper
Classes
An Example-Determining a Student's Relative Performance
Another Vector Application
Object Methods
Introducing Arrays
Vectors and Arrays
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
Positioning Text
10 Designing Iteration
Introduction
Designing Loops
Java Interlude: Two Loop Statements
Another Simple Example
Revisiting the Loop Patterns of Chapter
Variations on the Repairperson Loop
More Loop Patterns: Counters, Accumulators, and Extremes
Short Circuits, Break And Continue
A Loop Design Strategy: Refining an Imperfect Solution
The Radio Station's Play Schedule
Example: The LOGO Turtle
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
More Text Manipulation
11 Maintaining Collections of Objects
Overview
Searching
Binary Search
Finding the Index of an Extreme
Sorting
Summary
Study Aid: Terminology Review
Questions for ReviEW
Further Exercises
Threads
12 Extending Class Behavior
Introduction
Extending Classes-Inheritance I
A Better Buffered Reader
Adding State to the Subclass-Accessing the Superclass's State
Revisiting the Name Class-Adding Additional State
Inheritance
Overriding Methods
Polymorphism
Factoring out Common Behavior-Inheritance II
Abstract Methods and Classes
Specifying Common Behavior-Interfaces
A Generic Sorting Method
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
Exploring The Awt Portion Of The Java Class Hierarchy
13 Exceptions
Expect the Unexpected
Encountering the Unexpected
THE Exception CLASS
Handling the Unexpected
Responsibility for the Unexpected
Exceptions Are Not Always Errors
Summary
Study Aid: Terminology Review
Questions for Review
Further Exercises
The Model-View-Controller (Mvc) Paradigm
14 Recursion
Introduction
Example: Exponentiation
How to Design a Recursive Method
Recursive Methods: Under the Hood
Recursion with Vectors, Arrays,and Strings
Permutations
Towers of Hanoi
Recursion and Iteration
Summary
Questions for Review
Study Aid: Terminology Review
Further Exercises
Towers Of Hanoi Applet
15 Client/Server Computing
Clients and Servers
Internet Communication
Client-Server Computing
Some Simple Client Classes
Swing

Google Preview