Beginner Java @ Java Programming
 Programming Network : The Programmer Store & Resources
|  ASP.NET  |  HTML / DHTML  |  Java / JavaScript  |  Perl  |  PHP  |  Python  |  XML  |
Java Index - Java Beginner's Guides :

Java Beginner's Book :
Java: An Introduction to Computing

Java: An Introduction to Computing
Check price @
Amazon.com
Amazon.ca
Amazon.co.uk


Java: An Introduction to Computing
by Jeffrey L. Nyhoff, Joel C. Adams, Larry R. Nyhoff

Paperback: 950 pages
Publisher: Prentice Hall
ISBN: 0130142514; 1st edition (January 15, 2000)


Book Info: (Pearson Education) An introductory text in Java, for the beginner computer science student. A complete tutorial in object-oriented programming. The CD-ROM contains Java on Campus with inprise/Borland JBuilder 3.5 Foundation for Windows, Linux and Solaris.

From the Inside Flap: PREFACE

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

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. 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

From the Back Cover: 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.

About 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.


Customer Reviews
Good As a Review, December 5, 2001
Reviewer: A reader from PA, USA

I have faced with this book in the Fall 2001 computer science course "Data Structures and Algorithms". As a novice to Java, I think this book does not cover enough introductory issues such as how importing of the libraries work, what are the installation instruction of JDK. They do not even give us any clue how to set up ann lib without using JBuilder. The documentation on the CD-ROM is for JBuilder users only. But overall book structure is very good.

A class book that achieves its object, August 7, 2001
Reviewer: Tom Sharpe from Manchester, England

I am planning to teach Java to biosciences graduates as a first language for the first time, having used a subset of C++ up to now. There are a lot of books on Java, but not so many that are suitable for mature beginners. The question is, am I about to endorse this as the course recommended text? The answer is yes - it's pretty much the book I wish I had written.

The author of a book like this has to face some difficult decisions: how soon do I talk about objects and classes? Do I use applets or applications? If applications, how to avoid making all the methods in my main class static? Do I use simplified I/O classes? And so on. I think Adams et al have made the right decisions. Object-centred design is brought in right at the beginning and provides a framework for translating from the problem domain to the program domain. There aren't any sudden leaps in complexity - GUI programs are introduced alongside console applications and fully-fledged OOP appears about two-thirds of the way in. Examples are interesting and there are some good suggestions on programming practice like including preconditions in method documentation where applicable.

Overall the book is well-presented and good value (you get a CD and there is a very useful web site). I like the sections on topics like ethics and AI, and the treatment of data structures. The quizzes are very good too. There are just a few niggles: easy I/O classes are provided on the CD, but I couldn't find advice on where to put these in order to run the console examples which all contain an import statement. I'm not totally convinced about introducing static methods as the norm, and I don't see the point of a list of the names of all the classes in Java SE 1.3 - a glossary would be more helpful. But these are minor and can be sorted out in later editions and through the web site - as an introduction to programming and computing the book represents a worthwhile addition to the literature and I (and I hope my students) will be very grateful for it.






Book Subjects
Java Beginner's Guides
Java Reference
Java Servlets
Java Certification Central
Visual J++
 
Learn Java
Java 2: A Beginner's Guide
by Herbert Schildt
Beginning Java 2 SDK 1.4 Edition
by Ivor Horton
Beginning Java 2 - Jdk 1.3 Edition (Programmer to Programmer)
by Ivor Horton
Computer Graphics / Games: Photoshop Wire | CorelDRAW Wire | PC Games
Graphing Calculators | Shop 4 Calculator
© 2017, Programming Network