Icon  Computing Fundamentals With Java Icon
Book Review

By Dale Farris, Secretary
Golden Triangle PC Club
June 2002

Computing Fundamentals With Java introduces object-oriented programming with a complete treatment of traditional CSI topics. This wonderful book on Java is clearly written and includes numerous supporting self-check questions, exercises, and programming projects. This textbook remains true to the author's 15-year quest to teach object-oriented programming while retaining traditional topics, such as control structures and arrays.

Numerous Java examples and Java programming projects, and the case study that spans Chapters 3-8 show students how objects in object-oriented programs interact with each other. The programs use 20 classes in all, 11 of which are standard Java classes.

Students also experience polymorphism through inheritance and interfaces. A carefully chosen subject of four Java classes allows students to learn standard Java event-driven programming with graphical user interfaces. Many programming projects can be completed with either a text interface or a GUI.

The book is written for the introductory computer science class at the university level, and is appropriate for students with little or no programming background. Students have tested the book 11 times in various settings, and more than 1,400 students have used this book. The material was developed in courses where students had a wide variety of programming experience, from none to several years experience with other programming languages. The book recognizes the relevance and validity of object-oriented programming and design, but not at the expense of traditional computing fundamentals.

After completing the first 8 chapters, students should be comfortable with traditional programming concepts, such as problem-solving, control structure, methods, parameters, and arrays. Students will also have learned the main concepts of object-oriented programming, such as partitioning systems into objects, message passing, building classes, polymorphism through inheritance, and polymorphism through Java interfaces. They will be able to write programs that use Java classes, and classes written by them for particular applications.

By the end of chapter 8, students will also have had the opportunity to observe the development of a relatively complex object-oriented system. The system is progressively built in sections of Chapters 3 through 8. This extended case study provides the opportunity for understanding object-oriented programming in Java. This bank teller system directly uses 11 standard Java classes, plus 10 classes specifically written for this application.

Chapters 9 through 12 provide additional material sometimes presented in a first course in programming. These additional topics include exceptions and Java input/output streams. The objects built in the case study can be made persistent. Design issues are woven through the text in algorithmic patterns and object-oriented design guidelines. Chapter 10 presents an object-oriented software development strategy with role-playing and class/responsibility/collaborator cards. Chapter 11 presents 2 dimensional arrays and array-processing algorithms typically presented in a first course, and Chapter 12 introduces the concept of recursion and how it works in programming.

The textbook is the result of 15 years of reasoning how best to use the first course in the computer science curriculum, and how best to integrate object-oriented programming and design.

This textbook can be used as the core textbook in a course that focuses exclusively on teaching Java programming, as well as a supplement to other programming classes.

The organization of this textbook emphasizes ease of use by the student, with great attention to the step-by-step process of using the selected programming steps and exercises. This high degree of detail to such tedious organization of this material must have been an enormous challenge to produce, not only for the author, but for all involved in the superb design and organization of this wealth of information. The result is a vastly superior book on how to program in Java that will make it much easier to learn this skill.

Each chapter sums up the prior chapter, and succinctly presents the key topics to be covered in the chapter. The topics are well outlined, and the extensive use of detailed, step-by-step programming lines ensure that students succeed in getting a grasp of the chapter material. These programming code scripts are presented in a different font, and are all presented in the exact outline structure required in real programming. What a tedious job this must have been to reproduce this complex material in such a manner that greatly aids in student learning!

Table of Contents

The 12 chapters include the following:
  • Program Development
  • A Little Java
  • Using Objects
  • Classes and Interfaces
  • Events, Listeners, and a Little Polymorphism
  • Selection
  • Repetition
  • Arrays
  • A Few Exceptions, a Little Input/Output, & Some Persistent Objects
  • Designing An Inheritance Hierarchy
  • More Arrays
  • Simple Recursion

The three appendixes include Appendix A, "A Little Javadoc," Appendix B, "HTML Documentation of Author-Supplied Classes," and Appendix C, "Answers to Selected Exercises."

The case study that is played out in Chapters 3 through 8 really helps students apply the techniques they learn as they progress through these chapters. The case study is an event-driven bank teller application with a graphical user interface.

At the end of each chapter, author Mercer presents a summary of the key points in the chapter, a list of the key terms covered, and many exercises for students to complete. Some of these exercises are answered in Appendix C, and all are answered in the additional instructor material available on CD for instructors who adopt this textbook. See below for information how to contact the publisher regarding these supplemental instructor materials.

In addition, each chapter also includes many annotated programming tips that further enhance the chapter content, and many relatively small-scale programming problems that have been extensively lab-tested to ensure that the projects can be completed with little or no instructor intervention. These amazing programming projects are alone worth the investment in this super textbook. These programming projects represent a wide range of difficulty, and students typically complete from 1 to 4 projects per week in an acceptable amount of time. Virtually all these projects were assigned and successfully completed by students over the past 11 years. These projects also represent excellent homework assignments for students in Java classes.

Key Features

The text is designed to be used in a structured, instructor-facilitated class in Java. With all the many chapter review questions, practice exercises, and programming projects, this text could easily be considered the pre-eminent work of choice for anyone needing a text to support their plans to offer a Java class for their students.

The key features of this book include: 

Supplemental activities disk
Object-oriented programming
Traditional topics such as problem-solving, design, arrays, control structures
Objects early approach
Carefully chosen subset of Java
Case study that covers 7 chapters of topics
Algorithmic patterns
Event-driven programming the Java way
Extensively tested in the classroom and laboratory
Self-check questions
Exercises
Programming Tips
Programming Projects

About the Author

Rick Mercer teaches computer science at the University of Arizona. A frequent presenter at OOPSLA, he has also been invited to participate in numerous NSF-funded workshops concerning the implementation of object-oriented programming in the college computer science curriculum. This is the 4th textbook for use in CSI. His "Computing Fundamentals with C++" has been a top seller in the CSI college market.

Target Readers

This is one of the most well organized and effective textbooks on learning Java you will find on the market. Mercer's super text is tailor-made for any university or college class in Java programming, and the depth and breadth is here for those wishing to maximize learning Java.

A special note for instructors of these classes is worthy here. In addition to the high value you will receive from using this textbook, Franklin, Beedle & Associates, Inc. (FBA) also makes available superb instructor resource materials that will provide everything you need to integrate the use of this text in a class. I have greatly benefited from these many helpful materials in preparing for my own class that uses another FBA textbook, and I can highly recommend this publisher to others wishing to develop a class in Java.

With this venture, the Franklin, Beedle & Associates, Inc. publishing company solidifies their rapidly growing reputation for producing excellent textbooks for computer classes that can be considered by all levels of education. Students working toward computer certification, as well as any other student, should seriously consider this superb book that thoroughly covers how to create Java programs.

Recommendation

While many other publishers approach works on Java as introductory, or conceptual titles, Franklin Beedle & Associates, Inc. has designed a complete and thorough textbook that is just right for any college or university course on learning Java. The text is designed for students with little or no prior programming experience, as well as for students who have experience with another programming language. This super text has been class tested 11 times in a variety of classroom settings, and is written to clearly present fundamental concepts for beginning programmers. For any Java class, this textbook can well serve any Java instructor looking for such a thorough and well designed approach to teaching students Java.

Note that because this book has been organized as a textbook, it is therefore somewhat larger in scope, as well as size, since it is targeted to meet the needs of students in organized Java classes. The book will also be of value to others interested in learning Java, but not necessarily wanting to enroll in a class. However, self-paced learners will naturally need to also be self-disciplined enough to walk through the many included exercises, while understanding that without an instructor working with the additional instructor material they will not necessarily have readily available this type of assistance, or answers to many of the chapter summaries.

Book Contents

719 pages; supplemental Java source code disk; preface; acknowledgments; tons of coding exercises; 6-chapter case study; student self-checks; chapter summaries; key terms in each chapter; analysis and design projects; figures; appendixes; glossary; index

ISBN

1st Edition, 2002
1-887902-47-3

List Price

$60.00

Supplemental Floppy Disk

This marvelous textbook also includes a supplemental floppy disk that contains all of the Java source code from the textbook. The disk is divided into a folder for each chapter. Some folders hold files that help the student complete the programming assignments. The root directory (folder) on the disk has the files needed by some of the programming projects. This disk alone is worth the investment in this textbook, as these files add great value to this already value-laden textbook.

Instructor's Manual

The instructor's manual that accompanies this textbook is available as a CD to teachers who adopt this textbook. The CD contains solutions to all programming projects, answers to all the exercises, teaching suggestions for each chapter, multiple versions of tests that were actually used at the University of Arizona, and lecture notes for each chapter as PowerPoint slides. As an instructor of another course based on a Franklin, Beedle & Associates, Inc. textbook, I can guarantee instructors will be very impressed, as well as amazed at the quality and quantity of material this publisher makes available for instructors. Once you begin working with FBA material in your classes, you will be hard pressed to find another textbook publisher that works as hard as FBA to make your class preparation such a delight.

To obtain a copy of this instructor manual CD, contact the publisher below.

Publisher


Contact: Christine Collier
Marketing Representative
Franklin, Beedle & Associates, Inc.
8536 SW St. Helens Drive, Suite D
Wilsonville, Oregon 97070
1-800-FBA-BOOK
1-503-682-7668
FAX 1-503-682-7638
ccollier@fbeedle.com
www.fbeedle.com