Written in an engaging and informal style, Data Structures Using Java facilitates a student's transition from simple programs in the first semester introductory programming course to more sophisticated, efficient, and effective programs in the second semester Data Structures course. Without delving too deeply into the details of Java, the author emphasizes the importance of effective organization and management of data and the importance of writing programs in a modern, object-oriented style. Designed to correlate with the curricular guidelines of the ACM/IEEE Computer Science Curriculum 2008, Data Structures Using Java introduces students to the more advanced concepts of writing programs but is still accessible to non-computer science majors. Believing that learning how to design and write programs requires hands-on application of concepts, the author includes labs throughtout the text for students to immediately apply and test the newly learned material. The accessible writing style and hands-on approach of Data Structures Using Java, will provide your students with the skills necessary to design and use algorithms and data structures in their programming careers in an uncluttered environment, and efficient manner. Key Features: -Content correlates to the learning objectives of the curricular guidelines of the 2008 ACM/IEEE Computer Science Curriculum. -Avoids much of the advanced theory to provide students with the practical skills required to write algorithms and create data structures, in a one-term CS2 course. -Ideal for students who want to enter the programming profession immediately -Includes lab exercises throughout for students to apply the newly learned concepts. Instructor Resources: -PowerPoint Lecture Outlines -Solutions to the chapter exercises -Test Bank -Source Code needed for the programming exercises.
This text offers clear explanations of data structures and basic performance analysis of algorithms, often with an effective dose of humor which is always appreciated. Unfortunately I would not recommend this book for use in a course, mainly due to its many inconsistencies between code, UML diagrams, and explanations, as well as the manner Java is (sometimes mistakenly, sometimes poorly) presented and the poor programming practices promoted.
Some minor nitpicks include poor suggestions for primary keys, exchange in position of two data payload items as being specific to the data payload type rather than the data structure, using Google as a common noun (or not generalizing challenges in web search engines), Constructors with void return type, titles not matching material (see Flat Files), graph axis not labeled with units of measure, some figures not referenced in text, and it is not clear what version of Java, JUnit and so forth are being used.
I believe this could be an excellent teaching tool and look forward to the next revision.
As a side note, when do undergraduates learn how to manipulate pointers if not in a data structures class?