Locale Page...  Global  |  Germany  |  UK  |  USA
Your privat CyberGadget - The finest Resources for Web-Designer, Web-Master and Web-Developer!
Quick Search
Advertisement
Partner & Friends
Developersdex
Tutorial Guide
Send News    Add URL / Entry    Tag it:digg it!Stumble It!YahooMyWeb!del.icio.us!Simpify!reddit!Netvouz!Ma.gnolia!FurlIt!Blogmarks!BlinkList!
Books: Java & JavaScript

AVG Rating: 6.00
  Added 29 Nov 05   Updated JUST
Java, Java, Java, Object-Oriented Problem Solving (3rd Edition)  
103.23 $
New from 22.50 $
21 Used from 13.10 $

Author Ralph Walde
Publisher Prentice Hall
Publication Date 2006-01-01
Paperback - 880 Pages
ISBN 0131474340

Amazon Reviews
amazon.com:
Preface Who Should Use This Book?

The topics covered and the approach taken in this book are suitable for a typical depthfirst Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. The book is also useful to professional programmers making the transition to Java and object-oriented programming.

The book takes an "objects first" approach to programming and problem solving. It assumes no previous programming experience and requires no prior knowledge of Java or object-oriented programming. Why Start with Objects?

Java, Java, Java takes an "objects early" approach to teaching Java, with the assumption that teaching beginners the "big picture" early gives them more time to master the principles of object-oriented programming.

The first time I taught Java in our CS1 course I followed the same approach I had been taking in teaching C and C++ - namely, start with the basic language features and structured programming concepts and then, somewhere around midterm, introduce object orientation. This approach was familiar, for it was one taken in most of the textbooks then available in both Java and C++.

One problem with this approach was that many students failed to get the big picture. They could understand loops, if-else constructs, and arithmetic expressions, but they had difficulty decomposing a programming problem into a well organized Java program. Also, it seemed that this procedural approach failed to take advantage of the strengths of Java’s object orientation. Why teach an object-oriented language if you’re going to treat it like C or Pascal?

I was reminded of a similar situation that existed when Pascal was the predominant CS1 language. Back then the main hurdle for beginners was procedural abstraction - learning the basic mechanisms of procedure call and parameter passing and learning how to design programs as a collection procedures. Oh! Pascal!, my favorite introductory text, was typical of a "procedures early" approach. It covered procedures and parameters in Chapter 2, right after covering the assignment and I/O constructs in Chapter 1. It then covered program design and organization in Chapter 3. It didn’t get into loops, if-else, and other structured programming concepts until chapter 4 and beyond.

Presently, the main hurdle for beginners is object abstraction. Beginning programmers must be able to see a program as a collection of interacting objects and must learn how to decompose programming problems into well designed objects. Object orientation subsumes both procedural abstraction and structured programming concepts from the Pascal days. Teaching "objects early" takes a top-down approach to these three important concepts. The sooner you begin to introduce objects and classes, the better the chances that students will master the important principles of object orientation.

Object Orientation (OO) is a fundamental problem solving and design concept, not just another language detail that should be relegated to the middle or the end of the book (or course). If OO concepts are introduced late, it is much too easy to skip over them when push comes to shove in the course.

Java is a good language for introducing object orientation. Its object model is better organized than C++. In C++ it is easy to "work around" or completely ignore OO features and treat the language like C. In Java there are good opportunities for motivating the discussion of object orientation. For example, it’s almost impossible to discuss applets without discussing inheritance and polymorphism. Thus rather than using contrived examples of 00 concepts, instructors can use some of Java’s basic features applets, the class library, GUI components - to motivate these discussions in a natural way. Key Features

In addition to its objects early approach, this book has several other important features.

The CyberPet Example. Throughout the text a CyberPet class is used as a running example to motivate and illustrate important concepts. The CyberPet is introduced in Chapter 2, as a way of "anthropomorphizing" the basic features of objects. Thus individual CyberPets belong to a class (definition), have a certain state (instance variables), and are capable of certain behaviors like eating and sleeping (instance methods). Method calls are used to command the CyberPets to eat and sleep. In Chapter 3 the emphasis is on defining and using methods and parameters to promote communication with Cyberpets. In subsequent chapters, concepts such as inheritance, randomness, animation, and threads are illustrated in terms of the CyberPet. Some of the lab and programming exercises are also centered around extending the behavior and sophistication of the CyberPet.

Applets and GUIs. Applets and GUIs are first introduced in Chapter 4 and then used throughout the rest of the text. Clearly, applets are a "turn on" for introductory students and can be used as a good motivating factor. Plus, event-driven programming and Graphical User Interfaces (GUIs) are what students ought now to be learning in CS1. We are j long past the days when command-line interfaces were the norm in applications programming. Another nice thing about Java applets is that they are fundamentally object oriented. To understand them fully; students need to understand basic OO concepts. That’s why applets are not introduced until Chapter 4, where they provide an excellent way to motivate the discussion of inheritance and polymorphism.

Companion Web Site. The text is designed to be used in conjunction with a companion Web site that includes many useful resources, including the Java code and Java documentation (in HTML) for all the examples in the text, additional lab and programming assignments, on-line quizzes that can be scored automatically, and PowerPoint class notes. Problem Solving Approach. A pedagogical, problem solving approach is taken throughout the text. There are total of 13 fully developed case studies, as well as numerous other examples that illustrate the problem solving process. Marginal notes in the text repeatedly emphasize the basic elements of object-oriented problem solving: What objects do we need? What methods and data do we need? What algorithm should we use? And so on. Self-study Exercises. The book contains more than 200 self-study exercises, with answers provided at the back of each chapter. End-of-Chapter Exercises. Over 400 end-of-chapter exercises are provided, including "Challenge" exercises at the end of most sets. The answers are provided in an Instructor’s Manual, which is available to adopters. Programming, Debugging and Design Tips. The book contains nearly 400 separately identified "tips" (Programming Tips, Debugging Tips, Effective Design Principles, and Java Language Rules) that provide useful programming and design information in a nutshell. Laboratory Sections. Each chapter concludes with a laboratory exercise, so the text can easily be used to support lab-based CS1 courses (such as ours). For CS1 courses that are not lab-based, these sections can still be read as preparation for a programming assignment. For each lab in the text, the companion Web site contains additional resources and handouts, as well as a repository of alternative lab assignments. From the Library Sections. Each chapter includes a section that introduces one or more of the library classes from the Java API (Application Programming Interface). In the early chapters these sections provide a way of introducing tools, such as I/O classes and methods, needed to write simple programs. In subsequent chapters, some of these sections introduce useful but optional topics, such as the NumberFormat class used to format numeric output. Others introduce basic GUI (Graphical User Interface) components that are used in program examples and the laboratory sections. Object-Oriented Design Sections. Each chapter includes a section on Object-Oriented Design which is used to underscore and amplify important principles such as inheritance, polymorphism, and information hiding. Java Language Summary. Those chapters that introduce language features contain Java Language Summary sections that summarize the feature’s essential syntax and semantics. Organization of the Text

The book is organized into three main parts. The first part (Chapters 0 through 4) introduces the basic concepts of object orientation, including objects, classes, methods, parameter passing, information hiding, inheritance, and polymorphism. Although the primary focus in these chapters is on object orientation, rather than Java language details, each of these chapters has a Java Language Summary section that summarizes the language elements introduced.

In Chapters 1 to 3 students are given the basic building blocks for constructing a Java program from scratch. Although the programs at this stage have limited functionality in terms of control structures and data types, the priority is placed on how objects are constructed and how they interact with each other through method calls and parameter passing.

amazon.com:

This second edition of Java, Java, Java offers a robust, accessible, and flexible problem-solving perspective. The use of Unified Modeling Language (UML) diagrams throughout the text, strongly emphasizes object-oriented design. This book assists students and professionals with their most challenging problem as beginning programmers: object abstraction, or how to use interacting objects and methods.

Using a top-down approach, the author focuses on problem decomposition and program design from the beginning. This methodology—along with its lucid and engaging exercises and analogies—sets this book apart. Morelli introduces advanced Java features including GUI’s (e.g., AWT and Swing), exceptions, threads, files, and sockets. The adaptable and accessible style allows instructors to choose which advanced concepts to teach to introductory students, while intermediate-level programmers can benefit from its thorough, advanced feature coverage.

Java, Java, Java’s Numerous Distinguishing Innovations:
  • Emphasizes early OO design concepts such as inheritance and information hiding.
  • Uses UML diagrams throughout to emphasize object-oriented design.
  • Features GUI elements and applets to captivate and maintain the reader’s interest while introducing real-world examples.
  • Incorporates action-learning techniques such as "Hands on Learning" sections, CyberPet examples. and drop-in boxes on effective design, programming and debugging tips, and Java language rules.
  • Covers advanced features of Java: GUI’s, graphics and drawing; exceptions; recursive problem solving;. threads and concurrent programming; files, streams, and input/output techniques; sockets and networking; and data structures.
  • Includes a Companion Website with extensive supplementary resources, such as a Study Guide, PowerPoint slides, and Java code www.prenhall.com/morelli
amazon.com:

Functional and flexible, this guide takes an objects-first approach to Java programming and problem using games and puzzles. Updated to cover Java version 1.5 features, such as generic types, enumerated types, and the Scanner class. Offers independent introductions to both a command-line interface and a graphical user interface (GUI). Features coverage of Unified Modeling Language (UML), the industry-standard, object-oriented design tool. Illustrates key aspects of Java with a collection of game and puzzle examples. Instructor and Student resources available online.   For introductory computer programming students or professionals interested in learning Java.

amazon.com:
By focusing on Java's strengths and object-oriented problem solving, the revision of this popular introductory Java book takes an "objects early" approach to learning Java, allowing readers more time to master the principles of object-oriented programming. The book focuses on Java's strengths and object-oriented problem solving, and provides a solid understanding of objects and methods, concentrating on problem decomposition and program design. A firm grasp on these fundamentals allows the smaller details, and some of Java's advanced features, to fall into place from a teaching and learning perspective. As with previous editions, this book emphasizes design and problem solving, object-oriented design, and GUIs and Applets. Although the book retains its emphasis on a “running example” that is revisited in several chapters, the CyberPet example has been replaced with a collection of compelling games and puzzle examples. The new edition has been fully updated to Java 1.5 introducing readers to simple object-oriented programming principles, such as inheritance, randomness, animation, threads, and networking and includes coverage of the new Java 1.5 Scanner class. Multiple chapters have been revised and reorganized such as chapter 0 and chapter 1. A new chapter 7 covers much of the discussion of inheritance and polymorphism that was revisited throughout the first five chapters of the previous edition. An optional "graphics track" has also been woven throughout the text. For computer science programmers.
[ Add a Comment ]Amazon Customer Comments
Excellent as a Text BookRating: 5
22 Oct 2007 @ amazon.com
It is very clear that the authors of this book have taught the subject many times and have shared their sucessful approaches and experiences with us via the book. The concepts build nicely throughout the book and the examples build in complexity as well. I particularly apreciated the optional sections covering graphical user interfaces in the early chapters. The early introduction of Object Orientation is a plus as well. Because the book provides a great deal of detail, it is an excellent compliment to lectures and assignments in a beginning Java course.
Very good bookRating: 5
27 May 2007 @ amazon.com
I needed this book for a Java class, and it was very good. Easy to follow examples, and clearly written. I would recommend this book to anyone wanting to learn Java.
Just To Let Everyone Know...Rating: 5
22 Aug 2006 @ amazon.com
Most, if not all, of the errors pointed out in other reviews are from earlier editions of the book. I’ve found no errors in the Third Edition (so far). So don’t let those dissuade you from buying this book. :)
thorough education in OO JavaRating: 5
07 Jul 2006 @ amazon.com
This is a review of the 3RD EDITION, published December 2005.



The book starts from scratch. You do not have to know anything about Java. What Morelli and Walde offer is an education that emphasises an object oriented programming mentality, from the very start. The text shows how Java enforces a strict OO coding. Unlike C++, for example, which was bolted onto C as a superset, and accordingly has to accept (endure would be a better word) procedural C code as valid. So thoroughly do the authors want you to learn OO programming that there is no mention of the alternative of procedural programming in other languages! They don’t want to confuse the reader, who is probably assumed to be new to programming in general, and not just Java.



Now the book also holds true to its claim in the title of "Problem Solving". It causes the book to be relatively weak in explaining how to write a user interface with Java widgets. Yes, there is a couple of chapters on this. But the topic is deprecated.



The book’s clear strength is in the majority of its space being devoted to tackling various problems. Chosen so that you don’t need a fancy UI over them. The problems can be handled as pure computations, with perhaps a minimal I/O and stdout user interface. Of course, the problems were also chosen so that the authors could demonstrate solutions that take advantage of OO design.



An important extra benefit is that you get acquainted with the various Java collection classes. These come with the standard Java distribution. They implement key ideas in computer science, like lists, queues, stacks, arrays and hash tables. Professional Java programmers use these extensively. They have a lot of functionality, that is stable and well-tested by Sun itself. These classes address both the OO and problem solving themes of the book. Being Java classes, they are inherently objects to be used in an OO manner. But the sheer utility of these for handling many problems is also a good education for you.
thorough education in OO JavaRating: 5
06 Jul 2006 @ amazon.com
This is a review of the 3RD EDITION, published December 2005.

The book starts from scratch. You do not have to know anything about Java. What Morelli and Walde offer is an education that emphasises an object oriented programming mentality, from the very start. The text shows how Java enforces a strict OO coding. Unlike C++, for example, which was bolted onto C as a superset, and accordingly has to accept (endure would be a better word) procedural C code as valid. So thoroughly do the authors want you to learn OO programming that there is no mention of the alternative of procedural programming in other languages! They don’t want to confuse the reader, who is probably assumed to be new to programming in general, and not just Java.

Now the book also holds true to its claim in the title of "Problem Solving". It causes the book to be relatively weak in explaining how to write a user interface with Java widgets. Yes, there is a couple of chapters on this. But the topic is deprecated.

The book’s clear strength is in the majority of its space being devoted to tackling various problems. Chosen so that you don’t need a fancy UI over them. The problems can be handled as pure computations, with perhaps a minimal I/O and stdout user interface. Of course, the problems were also chosen so that the authors could demonstrate solutions that take advantage of OO design.

An important extra benefit is that you get acquainted with the various Java collection classes. These come with the standard Java distribution. They implement key ideas in computer science, like lists, queues, stacks, arrays and hash tables. Professional Java programmers use these extensively. They have a lot of functionality, that is stable and well-tested by Sun itself. These classes address both the OO and problem solving themes of the book. Being Java classes, they are inherently objects to be used in an OO manner. But the sheer utility of these for handling many problems is also a good education for you.
Excellent book to understand OO conceptsRating: 5
18 Apr 2003 @ amazon.com
I think this a text for computer science students, so it explains a lot of basics. It is for those who want to understand "object-oriented" programming. If you are already familiar with "structured" programming, then buy this book just to understand what object orientation is. What I got most out of it is an extremely clear concept of Object Oriented design and programming.
dull, unclear, disorganized and vagueRating: 1
06 Mar 2003 @ amazon.com
This book is printed in a two color scheme that fails to draw attention to relevant points. Concepts are introduced with promises to be explained later. Components of code are not clearly explained. A sensation of being lost or of trying to stay awake during a long winded boring speech is what I found.

Not good for the beginner.

A very good intro bookRating: 4
26 Feb 2003 @ amazon.com
While there are some small errors (ie: spelling , etc), as others noted, I found this overall to be an excelent intro book. The fact that Morelli covers each subject from multiple angles is a GOOD thing , espcially in an intro book. Not all of us learn the same way after all. Now, perhaps I am a tad biased, as I go to Trinity (Professor Morelli is a CS Prof. here). However I must say my initial reaction to using a "locally" written book, was one of worry. I was, of course, pleasantly suprised to find the book very well written with plenty of examples, lots of neat little "tidbits" which are clearly marked as non-essential if you’re trying to find the key theme.

I wholeheartedly recommend this book for classes as well as for reference , heck, this almost puts the teacher out of work !

(a star is taken off for the occasional typographical error)

Definitely not for a classRating: 1
22 Feb 2002 @ amazon.com
This is by far the worst book to introduce a programming language, and for a class no-less. Each chapter covers a huge, sometimes unrelated quantity of topics that would make a typical college student with a full time job to pay for school find extremely overwhelming to read. Looking through the slide presentations and reading the text can just take two hours alone to get a loose understanding at what is discussed - and that’s a lenient statement! This may be a good book as a reference tool where time to lean concepts really isn’t an issue, but as far as classroom studies go, where deadlines for projects are always fast approaching, this book makes it VERY difficult to review tough to understand topics. If you’re getting into a class that uses this book - I’d strongly get a much much much better reference that can help explain concepts easier and much quicker.
All your base are belong to us...Rating: 3
18 Dec 2001 @ amazon.com
Actual excerpts from the book
"This object has a readLine(), which can be use to read the user’s input into a String variable" pg 244
"It assumes that interest in compounded annually." pg 268
"You will have do some planning and experimenting to determine what values to use for these coordinates." pg 274
"Exercise 5.8 a.7(int b. 30 long c. 14.0 double" pg 279 <-- What is that open parenthese doin’ in there?
"Note here that when we want to retrieve "Wo" form str we specify its substring as indexes..." pg 362
"This program uses isEquals()..." pg 374 <-- Actually it doesn’t.
"A class may be declared abstract even it contains no..." pg 381 <-- He’s an expert on if statements
"After each die toss the appropriate counter will incremented." pg 415
Looks like Morelli wants to start his own Zero Wing catch phrase fad. For some reason I don’t think they’ll catch on quite as well. Hehehe! Everyone that has the book, check these out. They’re all very true. By the way. This book is actually very useful at learning Java. There’s about 500 pages of detail in 940 worth of space though. After the third attempt at going cover to cover I actually did it. And I’m a pretty good coder now.
Add a Comment!  You must login first, to write an comment/review!
Topic / Title / Summary ...


Comment / Review


 

© 2001 - 2008 CYGAD.NET | All rights reserved. | Terms of Service | About | Time data: GMT +1! | Portal Release X2.6.1 Beta | RunTime: 2.317
Optimized for Internet Explorer Internet Explorer 6.0+, Firefox Firefox 1.5+!