Java : An Introduction to Computing / Edition 1

Multimedia Set (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 98%)
Other sellers (Multimedia Set)
  • All (13) from $1.99   
  • New (3) from $6.04   
  • Used (10) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$6.04
Seller since 2007

Feedback rating:

(5876)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand new book. We Pack Carefully and Ship Daily!

Ships from: Miamisburg, OH

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$54.42
Seller since 2009

Feedback rating:

(122)

Condition: New
New Book from multilingual publisher. Shipped from UK within 4 to 14 business days. Please check language within??the description. Established seller since 2000.

Ships from: Fairford, United Kingdom

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$144.19
Seller since 2008

Feedback rating:

(17614)

Condition: New
Brand New, Perfect Condition, Please allow 4-14 business days for delivery. 100% Money Back Guarantee, Over 1,000,000 customers served.

Ships from: Westminster, MD

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by

Overview

In their introductory book, these best-selling authors provide the beginning computer science student or professional with a thorough introduction to computing with Java and Object-Oriented Programming. Java: An Introduction to Computing teaches traditional and graphical/internet programming. This text provides a solid introduction to computer science as a discipline with an object-oriented approach to Java. The following features and benefits make this text an invaluable tool for learning Java.

FEATURES/BENEFITS:

  • Provides extensive coverage of Java 2, including in the Swing components.
  • Enjoy a comprehensive reference to the most current version of Java.
  • Uses a "spiral" approach, with central topics introduced early and revisited in increasing detail.
  • A "use it build it" approach that reduces the learning curve for students or professionals.
  • Introduces Object-Centered Design (OCD), in Chapter, culminating in Object-Oriented Design in Chapter 11.
  • OCD provides a gentle, consistent approach to OOD and OOP, which is becoming the industry standard.
  • Covers GUI programming gradually and consistently in each chapter.
  • Learn how to build programs with graphical user interfaces.
  • Presents "Part of the Picture" sections, contributed by field experts, in each chapter.
  • Introduces the discipline of computer science, including sections on ethics, history, artificial intelligence, and architecture.

Provides an introduction to computer science with an object-oriented approach to Java. Teaches traditional and graphical/internet programming. Covers Object-Centered Design, Object-Oriented Design, and GUI programming. Accompanying CD-ROM includes Java compiler (JBuilder), HTML reference guide, the text's example source code and screen snaps, and a lab manual containing laboratory exercises and projects coorinated with the text.

Read More Show Less

Editorial Reviews

From the Publisher

"The authors did an excellent job in covering all the milestones of computer development. The authors should be commended for bringing life to an often poorly described subject."—Mike Davarpanah, California Polytechnic University, Pomona

"The biggest strength of this book is a good, methodical approach to object-oriented design. The steps are well laid-out…and the examples are quite good."—Brian Durney, Brigham Young University, Hawaii

Read More Show Less

Product Details

  • ISBN-13: 9780130142511
  • Publisher: Prentice Hall
  • Publication date: 1/2/2001
  • Edition description: BK&CD-ROM
  • Edition number: 1
  • Pages: 945
  • Product dimensions: 7.00 (w) x 9.25 (h) x 1.37 (d)

Meet the Author

JOEL C. ADAMS received two B.S. degrees in Psychology and Computer Science in 1980 and 1984 from Geneva College. He continued his study of Computer Science at the University of Pittsburgh, where he received his M.S. in 1986 and his Ph.D. in 1988. Since 1989, Joel has taught at Calvin College, where he is a Professor of Computer Science. He has also been a visiting faculty member at North Carolina State University and a Fulbright Scholar at the University of Mauritus. He is co-author of the widely used book C++: An Introduction to Computing.

LARRY R. NYHOFF earned his A.B. in Mathematics in 1960 from Calvin College and his M.S. in 1961 from the University of Michigan. Larry continued his study of Mathematics and received his Ph.D. in 1969 from Michigan State University. He is in his 37th year as a Professor at Calvin College and has aided in the development of the school's computer science curriculum since its inception. In addition to authoring and co-authoring over 27 textbooks used worldwide, Larry is a professional member of ACM and SIGCSE.

JEFFREY L. NYHOFF received his B.A. degree in 1985 from Calvin College. He majored in both Computer Science and Communication Arts and Sciences. He went on to earn his Master's degree in 1992 from the University of California at Berkeley. Currently, Jeff is working on his Ph.D. dissertation at the University of California — Davis. He has taught Computer Science at Calvin College since 1994, where he is an Assistant Professor.

Read More Show Less

Read an Excerpt

PREFACE

To properly introduce students to computing, we believe that the first computing course should accomplish two goals:

  1. Introduce students to the breadth of the discipline of computing, so that they come to understand the role of programming in the broader context of computing.
  2. Introduce the methodologies and techniques of computer programming using a modern programming language, providing a (fairly) complete introduction to the language.

The aim of this textbook is to accomplish both of these goals, the latter using Java. THE BREADTH OF COMPUTING

The first goal grows out of an important theme of curriculum recommendations of the Association of Computing Machinery (ACM) that an introductory course in computing should introduce the various knowledge areas of the discipline:

  • Architecture
  • Artificial Intelligence and Robotics
  • Database and Information Retrieval
  • Human-Computer Communication
  • Numerical and Symbolic Computation
  • Operating Systems
  • Programming Languages
  • Software Methodology and Engineering
  • Social, Ethical, and Professional Context

To accomplish the first goal, we include the Part of the Picture sections, several of which are written by experts in various areas of computing. These sections introduce these areas, trying to capture the spirit of these curriculum guidelines in a natural, unobtrusive way. They have been carefully selected to provide an overview of the discipline of computer science and to provide a foundation for further study in theoretical and/or applied computer science. Titles include:

What is Computer Science?
The History of Computing
Introduction to Computer Systems
Ethics and Issues (by Anne Marchant)
Data Representation
Computability Theory
Boolean Logic and Digital Design
Computer Architecture (by William Stallings)
Introduction to Algorithm Analysis
Numerical Methods
Database Systems (by Keith VanderLinden)
Artificial Intelligence (by Keith VanderLinden)
The TCP/IP Communications Architecture (by William Stallings)
Data Structures

A solid base is thus established for later courses in theoretical and/or applied computer science. CS1 & CS2

To help with accomplishing the second goal, a sequel to this book is planned. This first text will introduce the essential ideas of Java programming and the breadth of the discipline of computing, making it ideal for a one-semester course in computer science. The second text will be available in two flavors:

  • C++: An Introduction to Data Structures (already available) for those who wish to change to C++ in the CS2 course
  • Java: An Introduction to Data Structures, for those who wish to continue with the same language in the CS2 course.

Both will introduce elementary data structures and their implementations as well as other topics that are traditionally taught in the second course including sorting, searching, and algorithm analysis. Together, this text followed by one of those listed above will provide a solid introduction to the discipline of computer science. PEDAGOGICAL APPROACHES

A popular feature of other texts we have written is to use a problem at the beginning of each chapter to introduce the subject of that chapter (e.g., methods, control, structures, inheritance, and so on). Following this example, the concepts and theory behind those ideas are explored, and other examples given to reinforce the ideas. In this approach, students see the practice of a new topic before the abstract definitions and theory that underlie that topic, providing them with a framework in which those abstract aspects can be organized and understood.

We also continue the "use it, then build it" approach with respect to the more difficult topics for beginning programmers—e.g., methods, classes, and graphical programming—a kind of spiral approach that revisits topics in increasingly greater detail. For example, to show students how methods are used, predefined methods are used in Chapters 2 and 3 as components of expressions. Once students have experience using (predefined) methods, Chapters 4 and 5 teach them to build simple methods, and subsequent chapters show how to build increasingly sophisticated methods. Similarly, students are introduced to classes in Chapter 1, with more practice following in subsequent chapters. Once students are firmly grounded in building and using classes, they explore inheritance and polymorphism in detail in Chapter 11. Through this "use it, then build it" approach, students receive extensive exposure to the concepts underlying each of these constructs, reducing the learning curve when the time comes to actually build those constructs.

We have added chapter objectives and expanded the end-of-chapter features to include a chapter summary that contains key terms and concepts along with documentation for some of the key Java classes used in the chapter. These augment the popular programming pointers used in others of our texts to provide students with good program design and style guidelines as well as warn of potential pitfalls.

This text also exposes the introductory student to object-oriented programming early and consistently. We have included many examples of developing a program to solve a problem, all of which use a design strategy that we have termed object-centered design (OCD). This gives the students a problem-solving methodology to follow. The example programs all model good documentation techniques and habits to help students learn the importance of writing maintainable programs.

New to this text are the Graphical/Internet Java sections designed to introduce students to graphics programming. The approach here also is a spiral one. Chapter 1 contains a simple greeting applet, Chapter 2 gives a simple GUI greeting application. In each chapter thereafter, the applet and/or GUI application being built is increasingly more sophisticated—for example, event-driven programming is introduced in Chapter 7 and using threads in animations in Chapter 13. The examples all make use of Java's Swing components. There is one such section per chapter, but if desired, they can be passed over in a first look at "text-based" Java programming and then covered later. CONTENT AND ORGANIZATION

  • The background and introductory information has been consolidated into a Chapter 0, which instructors can cover in lecture, assign as reading, or omit as preferred. The presentation of computing history has been updated with more events and photos in a timeline of important people and events in the history of computing.
  • Chapter 1 introduces Java applications and applets with a very simple example. It also introduces the design methodology, called object-centered design, a four-phase graduated methodology that novice programmers can use as an aid in designing software solutions. This methodology is used consistently to solve the problems presented throughout the remainder of the text. As the reader learns new language constructs in subsequent chapters, the methodology is expanded to incorporate these new constructs—for example, use methods to create new operations not provided in the language and classes to create new types for objects needed in a problem. A superb new presentation of the major ethical issues in computing has been contributed by Ann Marchant of George Mason University.
  • Chapters 2 and 3 introduce the fundamental ideas of types, operations and expressions, including predefined methods.
  • Chapters 4 and 5 introduce reusability, using methods as a way to encapsulate program statements that can be reused. Object-centered design is expanded (phase II) to incorporate this new idea.
  • Chapter 6 builds on the ideas introduced in Chapters 1-3, presenting classes and instance methods. Object-centered design is again expanded (phase III) to incorporate this new idea. Our colleague Keith VanderLinden has contributed a Part of the Picture section on artificial intelligence for this chapter.
  • Chapters 7 and 8 expand on the introduction in Chapter 5 to control structures for selection and repetition. These control structures are used to build increasingly sophisticated functions. Recursion is also introduced in Chapter 8. These chapters also include a concise but thorough summary of computer architecture contributed by William Stallings.
  • Chapter 9 introduced arrays and illustrates their use with several examples. The important topics of sorting and searching are also introduced as well as multidimensional arrays. A Class Matrix is constructed in detail.
  • Chapter 10 introduces file input and output, along with the important concept of exceptions in Java. Our colleague Keith VanderLinden kindly contributed a Part of the Picture section on databases.
  • Chapter 11 builds on earlier chapters, reinforcing the idea of reusability through class extension and inheritance, showing how one class can reuse the work of another. Object-centered design is expanded a final time (phase IV), resulting in object-oriented design.
  • Chapter 12 introduces Java's ArrayList andLinkedList classes and uses them to implement stacks and queues. A modified structure is used in a polygon-sketching GUI. Binary search trees are also introduced in this chapter.
  • Chapter 13 introduces the more advanced capabilities of Java: multithreading and client-server networking. An animation of moon phases demonstrates the use of threads in graphical programming.
STANDARD JAVA

We have used the specification of Java 2 published by Sun as our primary reference in preparing this text. This language specification along with the API documentation can be found at Sun's website (java.sun.com/docs). OTHER FEATURES

  • The websites cs.calvin.edu/books/java/intro/1e/ will be maintained by the authors and will include corrections, additions, reference materials, Internet exercises, and other supplementary materials. These and additional items, including an on-line study guide, will also be available at the Companion Website (www.prenhall.com/adams) for this text.
  • Chapter objectives and summaries consisting of key words and notes help the student identify the main concepts of each chapter
  • Programming Pointers at chapter ends highlight important points, including:
  • Proper techniques of design and style
  • Common programming pitfalls
  • Approximately 450 Quick Quiz questions provide a quick check of understanding the material being studied. The answers to all of the quick-quiz questions are given in the text.
  • Nearly 500 written exercises extend the quick quizzes and apply the material of the preceding section(s). No answers for these are provided in the text and they can therefore be used for written assignments
  • The Programming Problems sections at the end of the chapters contain more than 300 programming problems drawn from a wide range of application areas.
  • An attractive new design makes the text attractive and readable.
  • Color is used to emphasize and highlight important features.
  • Boxed displays make it easy to find descriptions of the basic Java statements and constructs.
  • Icons serve as markers to point out key parts of the text.
SUPPLEMENTARY MATERIALS
  • Websites at www.prenhall.com/adams and cs.calvin.edu/books/java/intro/1e will contain source code, color screen snaps of graphical output produced by programs, an online study guide, links to important sites that correspond to items in the text, and many other supplementary materials.
  • The CD-ROM accompanying this text also contains most of the above items along with a Java compiler (JBuilder), an HTML reference guide, and a lab manual containing laboratory exercises and projects coordinated with the text.
  • The Instructor's Resource CD-ROM contains the preceding materials along with PowerPoint slides along with solutions to the exercises and many of the programming problems.
  • A lab manual contains laboratory exercises and projects coordinated with the text.
SUGGESTIONS

The authors welcome feedback, both positive and negative. Comments on features of the text that work especially well as well as those that could be improved will aid us in the preparation of subsequent editions. We would also appreciate being notified of errors. Such comments can be directed to any of the authors at adams@calvin.edu, nyhl@calvin.edu, or jnyhoff@calvin.edu via the Internet, or at the following address:

Department of Computer Science
Calvin College
3201 Burton SE
Grand Rapids, MI 49546
USA ACKNOWLEDGMENTS

We express our sincere appreciation to all who helped in any way in the preparation of this text, especially Alan Apt, Scott Disanno, Toni Holm, Nick Murray, Heather Scott, Ana Terry, and Jake Warde. We also appreciate the valuable comments and suggestions made by the following reviewers: Donald Cooley (Utah State Univ.), Mike Davarpanah (Cal Poly Pomona), Brian Durney (Brigham Young Univ., Hawaii), Henry Ettinger (Rochester Institute of Technology), Pedro Larios (Metrowerks), Ralph Sanford (Bristol Community College), and Pam Vermeer (Washington and Lee Univ.) We also thank Ann Marchant, William Stallings, and Keith VanderLinden for contributing Part of the Picture sections. And, of course, we must also thank our families-Barb, Roy, and Ian; Shar, Jeff, Jim, Greg, Julie, Joshua, Derek, Tom, Joni, and Abigail; Dawn, Rebecca, Megan, and Sara- for encouraging and supporting us, and for being understanding and patient when we slighted their needs and wants. Above all, we give thanks to God for giving us the opportunity, ability, and stamina to prepare this text.

JOEL ADAMS
LARRY NYHOFF
JEFFREY NYHOFF

Read More Show Less

Table of Contents

(NOTE: Each chapter begins with Chapter Objectives and ends with Chapter Summary and Programming Pointers and/or Programming Problems.)

Beginning Snapshots.

1. Problem Solving and Software Engineering.

A Brief History of OOP and Java. Introduction to Java Application Programs. Introduction to Java Applet Programs. Problem Solving through Software Engineering.

2. Some Java Fundamentals.

Example: A Payroll Program. Types, Variables, and Constants. Some Basic Program Features. Java Documentation—API. Introduction to GUIs: A GUI Greeter.

3. Types and Expressions.

Introductory Example: Einstein's Equation. Primitive Types and Reference Types. Numeric Types and Expressions. Assignment Expressions. Java's boolean Type and Expressions. Java's Character-Related Types and Expressions. Graphical/Internet Java: Einstein's Equation.

4. Methods.

Introductory Example: Old MacDonald Had a Farm… Getting Started with Methods. Example: The Volume of a Sphere. Methods: A Summary. Graphical/Internet Java: Old MacDonald…Applet.

5. Using Control Structures in Methods.

Example: An Improved Payroll Program. Methods That Use Selection. Methods That Use Repetition. Graphical/Internet Java: Old MacDonald…Applet Revisited.

6. More about Classes: Instance Methods.

Introductory Example: Modeling Temperatures. Designing a Class. Implementing Class Attributes. Implementing Class Operations. Graphical/Internet Java: Raise the Flag.

7. Selection.

Introductory Example: The Mascot Problem. Selection: The if Statement Revisited. Selection: The Switch Statement. Selection: Conditional Expressions. Graphical/Internet Java: Event-Driven Programming.

8. Repetition Structures.

Introductory Example: The Punishment of Gauss. Repetition: The For Loop Revisited. Repetition: The While Loop. Repetition: The Do Loop. Choosing the Right Loop. Introduction to Recursion. Graphical/Internet Java: A Guessing Game.

9. Arrays.

Introductory Example: Ms. White's Test Score Analyzer. Arrays. Sorting. Searching. Processing Command-Line Arguments. Multidimensional Arrays. Graphical/Internet Java: A Pie-Chart Class.

10. File I/O.

Introductory Example: Weather Data Analysis. Java's I/O System: Readers, Writers, and Streams. Exceptions. More about I/O Streams. Example: Scanning for a Virus. Example: Retrieving Student Information. Graphical/Internet Java: Student Data Retrieval GUI.

11. Inheritance and OOP.

Introductory Example: A Trip to the Aviary. Inheritance and Polymorphism. Example: Geological Classification. Example: An O-O Payroll Program. Graphical/Internet Java: A Function Plotter.

12. Data Structures.

Introductory Example: Counting Internet Addresses. The ArrayList and LinkedList Classes. Example: A Stack Application and Class. Example: Building a Queue Class. An Introduction to Trees. Graphical/Internet Java: A PolygonSketcher Class.

13. Advanced Topics.

Introductory Example Sorting a List. Topic: Multithreading. Topic: Client-Server Networking. Graphical/Internet Java: Moon Animation. The End?

Appendixes.

A: Unicode Character Set. B: Java Keywords. C: Java Operators. D: Java Packages and Classes. E: Number Systems. F: Answers to Quick Quizzes.

Index.

Read More Show Less

Preface

PREFACE

To properly introduce students to computing, we believe that the first computing course should accomplish two goals:

  1. Introduce students to the breadth of the discipline of computing, so that they come to understand the role of programming in the broader context of computing.
  2. Introduce the methodologies and techniques of computer programming using a modern programming language, providing a (fairly) complete introduction to the language.

The aim of this textbook is to accomplish both of these goals, the latter using Java.

THE BREADTH OF COMPUTING

The first goal grows out of an important theme of curriculum recommendations of the Association of Computing Machinery (ACM) that an introductory course in computing should introduce the various knowledge areas of the discipline:

  • Architecture
  • Artificial Intelligence and Robotics
  • Database and Information Retrieval
  • Human-Computer Communication
  • Numerical and Symbolic Computation
  • Operating Systems
  • Programming Languages
  • Software Methodology and Engineering
  • Social, Ethical, and Professional Context

To accomplish the first goal, we include the Part of the Picture sections, several of which are written by experts in various areas of computing. These sections introduce these areas, trying to capture the spirit of these curriculum guidelines in a natural, unobtrusive way. They have been carefully selected to provide an overview of the discipline of computer science and to provide a foundation for further study in theoretical and/or applied computer science. Titles include:

What is Computer Science?
The History of Computing Introduction to Computer Systems Ethics and Issues (by Anne Marchant)
Data Representation Computability Theory Boolean Logic and Digital Design Computer Architecture (by William Stallings)
Introduction to Algorithm Analysis Numerical Methods Database Systems (by Keith VanderLinden)
Artificial Intelligence (by Keith VanderLinden)
The TCP/IP Communications Architecture (by William Stallings)
Data Structures

A solid base is thus established for later courses in theoretical and/or applied computer science.

CS1 & CS2

To help with accomplishing the second goal, a sequel to this book is planned. This first text will introduce the essential ideas of Java programming and the breadth of the discipline of computing, making it ideal for a one-semester course in computer science. The second text will be available in two flavors:

  • C++: An Introduction to Data Structures (already available) for those who wish to change to C++ in the CS2 course
  • Java: An Introduction to Data Structures, for those who wish to continue with the same language in the CS2 course.

Both will introduce elementary data structures and their implementations as well as other topics that are traditionally taught in the second course including sorting, searching, and algorithm analysis. Together, this text followed by one of those listed above will provide a solid introduction to the discipline of computer science.

PEDAGOGICAL APPROACHES

A popular feature of other texts we have written is to use a problem at the beginning of each chapter to introduce the subject of that chapter (e.g., methods, control, structures, inheritance, and so on). Following this example, the concepts and theory behind those ideas are explored, and other examples given to reinforce the ideas. In this approach, students see the practice of a new topic before the abstract definitions and theory that underlie that topic, providing them with a framework in which those abstract aspects can be organized and understood.

We also continue the "use it, then build it" approach with respect to the more difficult topics for beginning programmers—e.g., methods, classes, and graphical programming—a kind of spiral approach that revisits topics in increasingly greater detail. For example, to show students how methods are used, predefined methods are used in Chapters 2 and 3 as components of expressions. Once students have experience using (predefined) methods, Chapters 4 and 5 teach them to build simple methods, and subsequent chapters show how to build increasingly sophisticated methods. Similarly, students are introduced to classes in Chapter 1, with more practice following in subsequent chapters. Once students are firmly grounded in building and using classes, they explore inheritance and polymorphism in detail in Chapter 11. Through this "use it, then build it" approach, students receive extensive exposure to the concepts underlying each of these constructs, reducing the learning curve when the time comes to actually build those constructs.

We have added chapter objectives and expanded the end-of-chapter features to include a chapter summary that contains key terms and concepts along with documentation for some of the key Java classes used in the chapter. These augment the popular programming pointers used in others of our texts to provide students with good program design and style guidelines as well as warn of potential pitfalls.

This text also exposes the introductory student to object-oriented programming early and consistently. We have included many examples of developing a program to solve a problem, all of which use a design strategy that we have termed object-centered design (OCD). This gives the students a problem-solving methodology to follow. The example programs all model good documentation techniques and habits to help students learn the importance of writing maintainable programs.

New to this text are the Graphical/Internet Java sections designed to introduce students to graphics programming. The approach here also is a spiral one. Chapter 1 contains a simple greeting applet, Chapter 2 gives a simple GUI greeting application. In each chapter thereafter, the applet and/or GUI application being built is increasingly more sophisticated—for example, event-driven programming is introduced in Chapter 7 and using threads in animations in Chapter 13. The examples all make use of Java's Swing components. There is one such section per chapter, but if desired, they can be passed over in a first look at "text-based" Java programming and then covered later.

CONTENT AND ORGANIZATION

  • The background and introductory information has been consolidated into a Chapter 0, which instructors can cover in lecture, assign as reading, or omit as preferred. The presentation of computing history has been updated with more events and photos in a timeline of important people and events in the history of computing.
  • Chapter 1 introduces Java applications and applets with a very simple example. It also introduces the design methodology, called object-centered design, a four-phase graduated methodology that novice programmers can use as an aid in designing software solutions. This methodology is used consistently to solve the problems presented throughout the remainder of the text. As the reader learns new language constructs in subsequent chapters, the methodology is expanded to incorporate these new constructs—for example, use methods to create new operations not provided in the language and classes to create new types for objects needed in a problem. A superb new presentation of the major ethical issues in computing has been contributed by Ann Marchant of George Mason University.
  • Chapters 2 and 3 introduce the fundamental ideas of types, operations and expressions, including predefined methods.
  • Chapters 4 and 5 introduce reusability, using methods as a way to encapsulate program statements that can be reused. Object-centered design is expanded (phase II) to incorporate this new idea.
  • Chapter 6 builds on the ideas introduced in Chapters 1-3, presenting classes and instance methods. Object-centered design is again expanded (phase III) to incorporate this new idea. Our colleague Keith VanderLinden has contributed a Part of the Picture section on artificial intelligence for this chapter.
  • Chapters 7 and 8 expand on the introduction in Chapter 5 to control structures for selection and repetition. These control structures are used to build increasingly sophisticated functions. Recursion is also introduced in Chapter 8. These chapters also include a concise but thorough summary of computer architecture contributed by William Stallings.
  • Chapter 9 introduced arrays and illustrates their use with several examples. The important topics of sorting and searching are also introduced as well as multidimensional arrays. A Class Matrix is constructed in detail.
  • Chapter 10 introduces file input and output, along with the important concept of exceptions in Java. Our colleague Keith VanderLinden kindly contributed a Part of the Picture section on databases.
  • Chapter 11 builds on earlier chapters, reinforcing the idea of reusability through class extension and inheritance, showing how one class can reuse the work of another. Object-centered design is expanded a final time (phase IV), resulting in object-oriented design.
  • Chapter 12 introduces Java's ArrayList and LinkedList classes and uses them to implement stacks and queues. A modified structure is used in a polygon-sketching GUI. Binary search trees are also introduced in this chapter.
  • Chapter 13 introduces the more advanced capabilities of Java: multithreading and client-server networking. An animation of moon phases demonstrates the use of threads in graphical programming.

STANDARD JAVA

We have used the specification of Java 2 published by Sun as our primary reference in preparing this text. This language specification along with the API documentation can be found at Sun's website (java.sun.com/docs).

OTHER FEATURES

  • The websites cs.calvin.edu/books/java/intro/1e/ will be maintained by the authors and will include corrections, additions, reference materials, Internet exercises, and other supplementary materials. These and additional items, including an on-line study guide, will also be available at the Companion Website (www.prenhall.com/adams) for this text.
  • Chapter objectives and summaries consisting of key words and notes help the student identify the main concepts of each chapter
  • Programming Pointers at chapter ends highlight important points, including:
    • Proper techniques of design and style
    • Common programming pitfalls
  • Approximately 450 Quick Quiz questions provide a quick check of understanding the material being studied. The answers to all of the quick-quiz questions are given in the text.
  • Nearly 500 written exercises extend the quick quizzes and apply the material of the preceding section(s). No answers for these are provided in the text and they can therefore be used for written assignments
  • The Programming Problems sections at the end of the chapters contain more than 300 programming problems drawn from a wide range of application areas.
  • An attractive new design makes the text attractive and readable.
  • Color is used to emphasize and highlight important features.
  • Boxed displays make it easy to find descriptions of the basic Java statements and constructs.
  • Icons serve as markers to point out key parts of the text.

SUPPLEMENTARY MATERIALS

  • Websites at www.prenhall.com/adams and cs.calvin.edu/books/java/intro/1e will contain source code, color screen snaps of graphical output produced by programs, an online study guide, links to important sites that correspond to items in the text, and many other supplementary materials.
  • The CD-ROM accompanying this text also contains most of the above items along with a Java compiler (JBuilder), an HTML reference guide, and a lab manual containing laboratory exercises and projects coordinated with the text.
  • The Instructor's Resource CD-ROM contains the preceding materials along with PowerPoint slides along with solutions to the exercises and many of the programming problems.
  • A lab manual contains laboratory exercises and projects coordinated with the text.

SUGGESTIONS

The authors welcome feedback, both positive and negative. Comments on features of the text that work especially well as well as those that could be improved will aid us in the preparation of subsequent editions. We would also appreciate being notified of errors. Such comments can be directed to any of the authors at adams@calvin.edu, nyhl@calvin.edu, or jnyhoff@calvin.edu via the Internet, or at the following address:

Department of Computer Science Calvin College
3201 Burton SE Grand Rapids, MI 49546
USA

ACKNOWLEDGMENTS

We express our sincere appreciation to all who helped in any way in the preparation of this text, especially Alan Apt, Scott Disanno, Toni Holm, Nick Murray, Heather Scott, Ana Terry, and Jake Warde. We also appreciate the valuable comments and suggestions made by the following reviewers: Donald Cooley (Utah State Univ.), Mike Davarpanah (Cal Poly Pomona), Brian Durney (Brigham Young Univ., Hawaii), Henry Ettinger (Rochester Institute of Technology), Pedro Larios (Metrowerks), Ralph Sanford (Bristol Community College), and Pam Vermeer (Washington and Lee Univ.) We also thank Ann Marchant, William Stallings, and Keith VanderLinden for contributing Part of the Picture sections. And, of course, we must also thank our families-Barb, Roy, and Ian; Shar, Jeff, Jim, Greg, Julie, Joshua, Derek, Tom, Joni, and Abigail; Dawn, Rebecca, Megan, and Sara- for encouraging and supporting us, and for being understanding and patient when we slighted their needs and wants. Above all, we give thanks to God for giving us the opportunity, ability, and stamina to prepare this text.

JOEL ADAMS LARRY NYHOFF JEFFREY NYHOFF

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)