|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Java, Java, Java Object-Oriented Problem Solving, 2/E
Ralph MorelliTrinity College, Hartford CT

ISBN-10: 0130333700
ISBN-13:  9780130333704

Publisher:  Prentice Hall
Copyright:  2003
Format:  Paper Bound w/CD-ROM; 862 pp
Published:  02/21/2002

For CS1 (in Java) and introductory Java programming courses offered in Computer Science, Engineering, CIS, MIS, IT and Business programs at both the undergraduate and graduate level.

With a focus on Java's strengths and object-oriented problem solving, this revision of a popular book 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.



This product accompanies:
Morelli & Walde,  Java, Java, Java, Object-Oriented Problem Solving, 3/E

  • NEW - Unified Modeling Language (UML) diagrams appear throughout—Introduced gradually beginning with Chapter 0.
    • Enables instructors to present object-oriented concepts in a graphical way that shows students how to design programs.

  • NEW - Exercises in each chapter—Emphasize the concepts found in the UML diagrams.
    • Enables instructors to place an even greater emphasis on object-oriented design.

  • An “objects first” approach—Introduces the fundamentals of designing objects and methods before introducing most of the basic language features and structured programming concepts.
    • Helps orient students before introducing them to lots of language details.

  • Emphasis on design and problem solving—Examples are developed and presented in a problem-solving style, beginning with a clear problem statement, and proceeding through problem decomposition, method and algorithm design, and Java coding.
    • Shows students how programs are developed from specification through coding and testing.

  • Emphasis on object-oriented design—Introduces fundamental object-oriented design concepts, such as inheritance and information hiding, early, and presents them as an essential part of using an object-oriented language.
    • Shows students the programming paradigm that is most favored by the software industry.

  • Emphasis on GUIs and Applets—Introduced in Chapter 4 and used throughout the text. New GUI elements are introduced in almost every chapter, and Chapters 9 and 10 focus entirely on Java's GUI elements.
    • Helps keep students' interest and provides a good way to introduce them to more real-world examples. Encourages students to study and develop programs that resemble ones they are used to using.

  • In the Laboratory sections—Each chapter concludes with a laboratory exercise, so the text can easily be used to support lab-based CS1 courses. The labs are presented using an incremental problem solving approach.
    • Encourages students to practice and extend the concepts discussed in the book.

  • CyberPet example—Uses a CyberPet as an example of an object with a very simple internal state that can be given simple commands such as “eat” and “sleep” to change its state. Subsequent chapters introduce concepts such as inheritance, randomness, animation, threads and networking in terms of this example.
    • Helps to convey simple object-oriented programming principles to the student.

  • Optional advanced topics—Advanced features of the Java language are introduced through carefully designed, real-world problems in later chapters.
    • Exposes students to those concepts and features that they are most likely to encounter in the workplace.

  • Companion Website—Includes many useful resources, such as the Java code for all the examples in the text, detailed lab and programming assignments, online quizzes, CGI scripts for automatic creation and grading of quizzes.
    • Allows students to experiment with all the programs in the book, and use on-line quizzes to help study for exams.

  • CD-ROM with every text.
    • Includes Java applications and source code for all the examples in the text, Java™ 2 SDK, Standard Edition, Version 1.3 ; and Forte™ for Java™, Release 2.0, Community Edition IDE for all platforms.

  • Unified Modeling Language (UML) diagrams appear throughout—Introduced gradually beginning with Chapter 0.
    • Enables instructors to present object-oriented concepts in a graphical way that shows students how to design programs.

  • Exercises in each chapter—Emphasize the concepts found in the UML diagrams.
    • Enables instructors to place an even greater emphasis on object-oriented design.



Preface.


0. Computers, Objects, and Java.

Welcome. Why Study Programming? Why Java? What Is a Computer? The Internet and the World Wide Web. Programming Languages. What Is Object-Oriented Programming? Summary of UML Elements.



1. Java Program Design and Development.

Introduction. Designing Good Programs. Editing, Compiling, and Running a Java Program. Qualified Names in Java.



2. Objects: Defining, Creating, and Using.

Introduction. Class Definition. Case Study: Simulating a CyberPet.



3. Methods: Communicating with Objects.

Introduction. Passing Information to an Object. Constructor Methods. Retrieving Information from an Object. Passing a Value and Passing a Reference. Flow of Control: Selection Control Structures. The Improved CyberPet.



4. Applets: Programming for the World Wide Web.

Introduction. The Applet Class. Class Inheritance. Applet Subclasses. A Simple Applet. Event-Driven Programming. Case Study: The CyberPetApplet.



5. Java Data and Operators.

Introduction. Programming = Representation + Action. Boolean Data and Operators. The Boolean-Based CyberPet Model. Numeric Data and Operators. Case Study: Converting Fahrenheit to Celsius. An Integer-Based CyberPet Model. Character Data and Operators. Example: Character Conversions. Example: Calculating Compound Interest. Problem Solving = Representation + Action.



6. Control Structures.

Introduction. Flow of Control: Repetition Structures. Counting Loops. Example: Car Loan. Conditional Loops. Example: Computing Averages. Example: Data Validation. Case Study: Animated CyberPet. Principles of Loop Design.



7. Strings and String Processing.

Introduction. String Basics. Finding Things Within a String. Example: Keyword Search. Retrieving Parts of Strings. Example: Processing Names and Passwords. Processing Each Character in a String. Case Study: Silly CyberPet String Tricks. Comparing Strings.



8. Arrays and Array Processing.

Introduction. One-Dimensional Arrays. Simple Array Examples. Example: Testing a Die. Case Study: CyberPet Animation. Array Algorithms: Sorting. Array Algorithms: Searching. Two-Dimensional Arrays. Multidimensional Arrays. Case Study: Simulating a Card Deck.



9. Graphical User Interfaces.

Introduction. The Swing Component Set. The Java Event Model 446 Events and Listeners. Case Study: Designing a Basic GUI. Containers and Layout Managers. Checkboxes, Radio Buttons, and Borders. Menus and Scroll Panes.



10. Graphics and Drawing.

Introduction. The Drawing Surface. The Graphics Context. The Color Class. Painting and Drawing Lines and Shapes. Example: The ShapeDemo Applet. Graphing Equations. Drawing Bar Charts and Pie Charts. Handling Text in a Graphics Context. Case Study: Interactive Drawing.



11.Exceptions: When Things Go Wrong.

Introduction. Handling Exceptional Conditions. Java's Exception Hierarchy. Handling Exceptions Within a Program. Error Handling and Robust Program Design. Creating and Throwing Your Own Exceptions.



12. Recursive Problem Solving.

Introduction. Recursive Definition. Recursive String Methods. Recursive Array Processing. Example: Drawing (Recursive) Fractals.



13. Threads and Concurrent Programming.

Introduction. What Is a Thread? Thread States and Life Cycle. Using Threads to Improve Interface Responsiveness. Case Study: Cooperating Threads. Case Study: The Spider and Fly Threads.



14. Files, Streams, and Input/Output Techniques.

Introduction. Streams and Files. Case Study: Reading and Writing Text Files. The File Class. Example: Reading and Writing Binary Files. Object Serialization: Reading and Writing Objects.



15. Sockets and Networking.

Introduction. An Overview of Networks. Using Network Resources from an Applet. The Slide Show Applet. Using Network Resources from an Application. Client/Server Communication via Sockets. Case Study: Generic Client/Server Classes. Java Network Security Restrictions.



16. Data Structures: Lists, Stacks, and Queues.

Introduction. The Linked List Data Structure. The Stack ADT. The Queue ADT.



Appendix A. Coding Conventions.

Comments. Indentation and White Space. Naming Conventions. Use of Braces. File Names and Layout. Statements. Executable Statements. Preconditions and Postconditions. Sample Programs.



Appendix B. The Java Development Kit.

The Java Compiler: javac. The Java Interpreter: java. The appletviewer. The Java Archiver jar Tool. The Java Documentation Tool: javadoc.



Appendix C. The ASCII and Unicode Character Sets.


Appendix D. Java Keywords.


Appendix E. Operator Precedence Hierarchy.


Appendix F. Advanced Language Features.

Inner Classes. Nested Top-Level Versus Member Classes. Local and Anonymous Inner Classes.



Appendix G. Java and UML Resources.

Reference Books. Online References.



Subject Index.

  • 9780131474345
    Java, Java, Java, Object-Oriented Problem Solving, 3/E
    Morelli & Walde
    ©2006 | Prentice Hall | Paper; 880 pp | Instock
    ISBN-10: 0131474340 | ISBN-13: 9780131474345
    Brief Description

Ralph A. Morelli is an Associate Professor and Chair of the Computer Science Department at Trinity College in Hartford, CT. He has written and co-authored books and articles on expert systems, artificial intelligence, the Web and educational software. He is the membership chair of the Northeast Region of the Small College Computing Conference, as well as a member of the Association for Computing Machinery and Computer Professionals for Social Responsibility. He is a recipient of two National Science Foundation Research Opportunity Awards.

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

Companion Website - Morelli, 2/E
Morelli
©2003 | Prentice Hall | On-line Supplement; 0 pp | Instock
ISBN-10: 0130333816 | ISBN-13: 9780130333810


Companion Website - Morelli, 2/E
Morelli
©2003 | Prentice Hall | On-line Supplement; 0 pp | Instock
ISBN-10: 0130333816 | ISBN-13: 9780130333810


Companion Website - Morelli, 2/E
Morelli
©2003 | Prentice Hall | On-line Supplement; 0 pp | Instock
ISBN-10: 0130333816 | ISBN-13: 9780130333810


For the General Engineering Discipline

ESource Access Pack
Esource
©2001 | Prentice Hall | Paper | Instock
ISBN-10: 0130904007 | ISBN-13: 9780130904003


Companion Website - Morelli, 2/E
Morelli
©2003 | Prentice Hall | On-line Supplement; 0 pp | Instock
ISBN-10: 0130333816 | ISBN-13: 9780130333810


Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.