Have one to sell? Sell yours here
Java Software Structures: Designing and Using Data Structures
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Java Software Structures: Designing and Using Data Structures [Paperback]

John Lewis , Joseph Chase


Available from these sellers.


Formats

Amazon Price New from Used from
Paperback £54.99  
Paperback, 17 July 2003 --  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details.
There is a newer edition of this item:
Java Software Structures: Designing and Using Data Structures Java Software Structures: Designing and Using Data Structures
£54.99
In stock.


Product details


More About the Author

John Lewis PhD
Discover books, learn about writers, and more.

Visit Amazon's John Lewis PhD Page

Product Description

Product Description

Java Software Structures teaches CS2 students how to develop high quality software systems using well-designed collections and algorithms. The authors provide a consistent presentation of each data structure, starting with a conceptual overview and moving through an explanation of its usefulness. Various approaches to implementing the data structure are then explored along with a discussion of the advantages and disadvantages of each implementation. Good software engineering practice is kept at the forefront of the dialogue of data structures throughout the text. The book is designed to be flexible, allowing professors to cover the issues they want to stress in the order they desire.

About the Author

John Lewis is an Associate Professor of Computer Science at Villanova University. He received his Ph.D. from Virginia Tech in 1991. Prof. Lewis' area of specialization is Software Engineering, with a particular focus on web-based software development. He regularly teaches courses in Object-Oriented Design, Software Engineering, and Algorithms & Data Structures. Prof. Lewis is a member of the Association for Computing Machinery (ACM), the IEEE Computer Society, and Sigma Xi, the scientific research society. He has won numerous teaching awards, and is active in the ACM's Special Interest Group on Computer Science Education (SIGCSE).

Joe Chase is an Associate Professor of Computer Science and Chair of the Department of Information Technology at Radford University. He received his Ph.D. from Virginia Tech in 1994. Prof. Chase's areas of specialization include Computer Science Education, Software Engineering, with a particular focus on web-based software development, and Human-Computer Interaction. He regularly teaches courses in Software Engineering, Data Structures, and Analysis of Algorithms. Prof. Chase is a member of the Association for Computing Machinery (ACM), the IEEE Computer Society, and UPE. He is also active in the ACM's Special Interest Group on Computer Science Education (SIGCSE).


Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organise and find favourite items.
Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

There are no customer reviews yet on Amazon.co.uk.
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  11 reviews
8 of 8 people found the following review helpful
teaches highly value added skills 23 Sep 2005
By W Boudville - Published on Amazon.com
Format:Paperback
All mainstream computer languages implement a common set of data structures and algorithms. If you are a computer science student, you must learn these at a level that you can at least facilely code using them. What language you do it in is probably secondary. Well here, Lewis and Chase instantiate the pedagogy in Java. A good choice. They have updated this second edition so that it uses Java 1.5 (aka Tiger).

They assume you have a rough working knowledge of Java. This is not the time or place to go over basic syntax. Though you should already know the basics of object oriented programming, they give an entire chapter to thoroughly discussing how to do so. In this chapter, you should pay close heed to the section on interfaces. More than many other aspects of Java, interfaces help you build modular code. To explicitly reduce the coupling between different classes, where one class might call the other. Instead of doing a direct call, if interfaces are used to mediate this instantiation, it is a huge boost to modular design. My only gripe here with the interface text is that I think it does not stress enough how useful this is. Only when you've tried to do a large project might you fully appreciate using interfaces.

Later chapters show you how the base Java comes with a rich assortment of very useful classes. That implement queues, linked lists, lists, stacks, trees and collections. These can match or even exceed what is available on these topics in the C++ Standard Template Library. While poor old C totally lacks them.

I suggest also that you scan closely the chapter on hashing. This is a key and fundamental idea in computing. Lets you search a table in logarithmic dependence on its size, instead of linear dependence. Another excellent Java class.

If you want to improve your skill in Java, you need to move beyond just knowing the basic syntax and making UIs. Both these leave you exposed to junior programmers or offshore programmers. Whereas having a deep understanding of the book's topics is harder to learn. Gives you more of a barrier against those who do not know this material. More value added skills.

Also, one day you might have to code in another language. The skills here are far more portable between languages.
4 of 4 people found the following review helpful
Cheryl 30 Sep 2009
By Cheryl L. Resch - Published on Amazon.com
Format:Paperback
I teach Data Structures. I like this book because it covers a lot of material in an easy to understand way. There are several areas that need to be improved:

*The exercises are awful. I like to assign homework problems from the book, but I can't if I use this book.
*The material on stacks, queues, and lists is in a weird order. Some Linked List concepts are given in Chapter 4, then revisited in Chapter 6. By the time you get to Chapter 6, it seems like most of the Linked List concepts have already had to have been covered to get through Chapters 4 and 5. And the array and linked implementations are all mixed together.
4 of 4 people found the following review helpful
Excellent, but only for the right purpose 27 Aug 2006
By James - Published on Amazon.com
Format:Paperback
This is an absolutely outstanding book, but it depends on your intent. This is not a general purpose Java book. In fact, the Java aspect is almost incidental. This is a data structures and algorithms book. It's intent is to teach core computer science concepts that trace their roots back literally decades, and will hold until the day comes when someone figures out how to exceed the Turing model, which will change life as we know it so substantially that *all* your computer books will become instantly obsolete. In the mean time, if you want to learn Java per se, do not buy this book! If you want to understand the building blocks of computer science, definitely buy this book. It's ability to concisely address all the key concepts is amazing. I teach a computer science class on data structures and algorithms, and I evaluated several books other than this one. At first glance, I did not like this book because it was so easy to read and presented concepts so effectively that I thought it was too lightweight. But as I read it, I was amazed at how well it covered everything, and did it with brevity and clarity. It starts from basic sets and linked structures and makes it all the way through complex trees and graphs. Again, don't get it if just learning Java is your goal, that is definitely not its purpose, but if you want to understand the foundational programming tools of computer science, this book is great. (Note: this book has been superceded by "Java Foundations", also by Lewis, and also a nicely enhanced version of the same great content.)

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback