Cart
Free US shipping over $10
Proud to be B-Corp

Data Structures and Software Development in an Object Oriented Domain, Java Edition Jean-Paul Tremblay

Data Structures and Software Development in an Object Oriented Domain, Java Edition By Jean-Paul Tremblay

Data Structures and Software Development in an Object Oriented Domain, Java Edition by Jean-Paul Tremblay


$14.26
Condition - Good
Only 1 left

Summary

For one- or two-term Sophomore level courses in Data Structures and Software Design, this text provides an introduction to basic data structures, object-oriented analysis and design, and fundamental software design concepts and principles. It begins with the basic data structures and algorithms, with their Java implementation and analysis.

Faster Shipping

Get this product faster from our US warehouse

Data Structures and Software Development in an Object Oriented Domain, Java Edition Summary

Data Structures and Software Development in an Object Oriented Domain, Java Edition by Jean-Paul Tremblay

For one- or two-term Sophomore/Junior level courses in Data Structures and Software Design.

This text provides students with a strong introduction to basic data structures, object-oriented analysis and design, and fundamental software design concepts and principles. The authors begin with the traditional basic data structures and algorithms, with their Java implementation and analysis. Then, employing UML notation, a ten step process is given to design a large software system, including a case study designing a simple bank system. In the remainder of the book, intermediate-level data structures and software design techniques are given.

About Jean-Paul Tremblay

Jean-Paul Tremblay received the Ph.D. degree in Computer Science from Case Institute of Technology. He is currently a professor in the Department of Computer Science at the University of Saskatchewan. Professor Tremblay has co-authored several books in the McGraw-Hill Science Series and is also a co-author of Logic and Discrete Mathematics: A Computer Science Perspective, published by Prentice Hall. His research interests currently focus on CASE systems and automated software diagram layout tools.

Grant A. Cheston received the Ph.D. degree in Computer Science from the University of Toronto. He is currently a professor in the Computer Science Department at the University of Saskatchewan. Professor Cheston's research interests are in the graph algorithms area.

Table of Contents



1. State of Software Development.

Introduction. Software Development Process. Assessing Software Quality. Principles of Software Design. Approaches to Software Design. Concluding Remarks.



2. Java Basics.

Introduction. Comments and White Space. Naming Conventions. Data Types. Literals and Constants. Operators. Basic Statements. Methods. Class Declaration. Java System. Objects. Inheritance. Argument Passing. Repairing Program Faults. I/O to Text Files. Java Virtual Machine. Graphical User I/O. Concluding Remarks.



3. Objects and Classes.

Introduction. Models and Modeling. Objects. Classes and Instances. Relationships to Describe Class Interactions. Concluding Remarks.



4. Arrays and Strings.

An Array Application and Analysis of the Problem. Arrays in Java. Problem Solution. Storage Structure, Assignment and Equality for Reference Types. Strings. StringBuffer Class. Concluding Remarks. New Java Constructs.



5. Array Algorithms and Their Analysis.

Algorithm Analysis. Searching. Sorting. Introduction to Object Comparison, Interfaces, and the Object Class. Array Dictionaries. Concluding Remarks. New Java Constructs.



6. Abstract Data Types and Their Implementation.

Introduction. Data Types. Specifying Abstract Data Types. Specifying and Implementing ADTs in Java. Assertion Checking and Exceptions. Visibility of Classes and Class Members. Introduction to Design by Contract. Concluding Remarks. New Java Constructs.



7. List Fundamentals.

A Simple List Application. List Abstract Data Type. Implementations. Examples of Linked Operations. Ordered Simple List. List Variations. Concluding Remarks. New Java Constructs.



8. Advanced List Concepts and the Uos Data Structure Library.

List Tools. Library of Dictionaries and List Data Structures. Applications. Polymorphism and Heterogeneous Lists. Concluding Remarks. New Java Constructs.



9. Stacks.

Introduction. Stack ADT. Implementations. Applications. Concluding Remarks.



10. Recursion.

Recursive Definitions from Mathematics. Recursive Methods. Developing and Verifying Recursive Methods. Timing Analysis for Simple Recursive Methods. Recursive List Methods. Concluding Remarks. New Java Constructs.



11. Queues and Priority Queues.

Queues. Priority Queues. Application: Discrete Simulation. Concluding Remarks. New Java Constructs.



12. Object-Oriented Development: An Example.

Introduction. Object-Oriented Development Life Cycle. Various Stakeholders in Software Development. An Object-Oriented Development Approach. A Simplified Banking Example. Design Caveat. Seamless Software Development. Benefits of the Object Model. Concluding Remarks. New Java Constructs.



13. Trees.

Introduction and Applications. Binary Tree Abstract Data Type. Binary Trees. General Trees. Applications. Concluding Remarks.



14. Elementary Problem Modeling and System Design.

Introduction. Modeling Static System Structure. Modeling System Behavior. Analysis and Architectural Design of a Student Registration System. Concluding Remarks.



15. Principles of Software Design.

Introduction. Design By Contract. Exception Handling. Class Design. Building Inheritance Taxonomies. Coupling and Cohesion in Object-Oriented Software. Using Patterns in Software Design. Subsystem Design. Detailed Design of a Student Registration System. Concluding Remarks.



16. Software Testing.

Fundamentals of Software Testing. Human Testing. Black Box Testing. White Box (Program-Based) Testing. Object-Oriented Testing. Locating and Repairing Dynamic Faults. Concluding Remarks.



17. Bags, Sets, and Dictionaries.

Introduction. Bit Vector Implementation. Hash Tables. Specialized Search Trees. Better Priority Queues. Concluding Remarks.



18 Sorting.

Introduction. Review of Basic Sorts. Recursive Merge Sort. Quicksort. Use of Recurrence Relations for Time Requirements. Heap Sort. Radix Sort. Address Calculation Sort. Concluding Remarks.



19. Graphs.

Introduction and Examples of Graph Modeling. Basic Definitions of Graph Theory. Graph ADT. Paths, Reachability, and Connectedness. Graph Representations. Computing Paths from a Matrix Representation of Graphs. Traversals of Undirected Graphs. Applications. Concluding Remarks.



20. Files.

Introduction. External Storage Devices. Definitions and Concepts. Persistent Storage Support in Java. Sequential Files. Direct Files. Indexed Sequential Files. B-Tree Files. Multiple-Key Access. Concluding Remarks.



Appendix A. Java Tutorial.

Java Syntax Charts. Comments and White Space. Names. Data Types. Expressions. Primaries. Statements. Methods. Classes. Interfaces. Packages and Access Modifiers. Input/Output. Exception Handling. Multi-Threading. Miscellaneous.



Appendix B. Analysis of Java Data Structures.


Appendix C. Math Primer.

Summation Notation. Logarithms. Cross Product and Function Notation. Mathematical Induction. Further Techniques for Recurrence Relations.



Bibliography.

Additional information

CIN0137879539G
9780137879533
0137879539
Data Structures and Software Development in an Object Oriented Domain, Java Edition by Jean-Paul Tremblay
Used - Good
Hardback
Pearson Education (US)
20021021
1200
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - Data Structures and Software Development in an Object Oriented Domain, Java Edition