
Introduction to Programming Using Java
An Object-Oriented Approach
Pearson (Publisher)
Published on 3. April 1998
Book
Paperback/Softback
765 pages
978-0-201-31184-6 (ISBN)
Description
Using the Java language, this book introduces the beginning computer science student to the concepts of class, object, and message in the first chapter. This object-oriented approach is used throughout the text, as students learn the fundamentals of object-oriented programming along with the basics of imperative programming. Because Java is an object-oriented language that reflects the acquired wisdom of thirty years of programming language design, the book can effectively focus on programming and the process of class design. Early on, a clear, usable procedure for solving problems by developing classes is presented and then used throughout the text.Java's 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 text's class design procedure and allow the students to tie the material together. 0201311844B04062001
* 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 text's class design procedure and allow the students to tie the material together. 0201311844B04062001
More details
Language
English
Place of publication
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 230 mm
Width: 186 mm
Thickness: 30 mm
Weight
1165 gr
ISBN-13
978-0-201-31184-6 (9780201311846)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Persons
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
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
Content
(Most chapters conclude with a Summary, Study Aid, Questions for Review, and Further Exercises.) 1. Jumping Into Java. Computers and programs. Programs and models. Objects, Behavior and Classes. Our First Object: A Monitor. Sending a Message to the System.out Object. A Java program. Java Interlude: Identifiers. Mechanics. Time. GUI Supplement: Introduction. 2. Using Objects. Introduction. Using PrintStream Objects. Java Interlude: References, Methods and Messages. The String Class. Methods, arguments and return-values. Reference Variables. Java Interlude: variables and assignment. Using String Methods. Java Interlude. GUI Supplement: Web Pages and HTML. 3. Using Classes. Introduction. Creating Objects. Java Interlude. Disk Files. Writing Output to Files. Input: an overview. Input: The Keyboard. Interactive Input/Output. Input: Disk Files. Network Computing: An Introduction. GUI Supplement: Applets. 4. Defining Classes. Introduction. Class Definitions. Designing Classes. Specifying an InteractiveIO Class. Implementing the InteractiveIO Class. Improve the implementation but don't touch the interface! Java Interlude: variables, declarations and the return statement. Specifying a Name Class. Implementing the Name Class. State and Behavior. Outputting Objects: Revisiting the Name Class (1). Inputting Objects: Revisiting the Name Class (2). Our First Program Revisited. GUI Supplement: Applets, Painting and Creating Controls 5. The Class Design Process; Method Implementation and Numerical Processing. Introduction. Designing Classes- An Overview. Numeric Processing- The int data type. Collecting Tolls: An Example. Java Interlude - primitive data types, int, expressions and operators. Another Java Interlude - int methods and int input. Other Integer Types. Modeling the Numbers of Measurement. GUI Supplement: Drawing Text 6. Controlling Behavior- Conditional Execution. Introduction. Conditional execution- the if statement. Employee Payroll: An Example. Java Interlude: The if Statement. Input Methods Revisited: Testing for End of Input. Type boolean and boolean-valued expressions. A Time class. Java Interlude - boolean, Compound Conditionals, Logical Operators. GUI Supplement: Responding to Controls: Event-handling. GUI Supplement II: Bringing the Calculator to Life. 7. Verifying Object Behavior. Introduction. Categories of Errors. Test Drivers. Automatic Testing. What to Test and How to Test It. Debugging Techniques. 8. Working with Multiple Objects. Introduction. Processing Multiple Objects. Loop Patterns. The Impact of Loops on Testing. A Radio Station's Song Library. Maintaining Multiple Values. Vector - A Simple Collection Class. Moving Through a Vector - Enumerations. Revisiting the SongLibrary class. Java Interlude: Primitive Types and Collections; Revisiting the Wrapper Classes. An Example - Determining a Student's Relative Performance. Section 8.11: Sets. Java Interlude - Class Object Methods. GUI Supplement: List, Checkbox, CheckboxGroup. 9. Iteration. Introduction. Designing Loops. A Simple Example. Revisiting the loop patterns of Chapter 7. Variations on the Payroll Loop. More Loop Patterns: Counters, Accumulators, Extremes. Java Interlude: The for loop; short-circuits; break and continue. A Loop Design Strategy: Refining an Imperfect Solution. The Radio Station's Play Schedule. GUI Supplement: Threads. 10. Organizing Objects. Indexing. The Limitations of Enumerations. Searching. Self-Organizing Vectors. Java Interlude. Finding Extremes. Binary Search. Sorting. Introducing Arrays. Vectors and Arrays. Command-line Arguments. Strings and Indices. GUI Supplement: The Game of Life. 11. Recursion. Introduction. Example: Exponentiation. How to Design a Recursive Method. Recursive methods: under the hood. Finding A Square Root. Recursion with Vectors, Arrays and Strings. Permutations. Recursion and Iteration: Trade-offs. GUI Supplement: The Towers of Hanoi. 12. Examples. Introduction. The LOGO Turtle. Web Site Maintenance. The Game of Mancala. GUI Supplement: A Graphical Interface for Mancala. 13. 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. Java Interlude - Inheritance. Overriding Methods. Java Interlude- Polymorphism. Factoring out Common Behavior - Inheritance II. Abstract methods and classes. Specifying Common Behavior- Interfaces. Generic Sorting Method. GUI Supplement: The AWT Hierarchy. 14. Exceptions. Expect the Unexpected. Encountering the Unexpected. Java Interlude: The Exception Class. Handling the Unexpected. Responsibility for the Unexpected. Exceptions Are Not Always Errors. Net Supplement: Client-Server Programming: Java Clients. Appendix A. Glossary of All Terms. Appendix B. Editing, Compiling and Running Java Programs. Appendix C. Annotated List of Java Classes, Interfaces, Methods, Variables and Constants Used in this Text. Appendix D. Exercises for the GUI Supplements. Index. 0201311844T04062001