|
Adams, et.al. |
Prentice Hall |
|
|
Barnes and Kolling |
Prentice Hall |
|
|
Bradley |
McGraw Hill |
|
|
Brookshear |
Addison-Wesley |
|
|
Carrano and Prichard |
Addison-Wesley |
|
|
Dale, et. al. |
Jones and Bartlett |
|
|
Deitel and Deitel |
Prentice Hall |
|
|
Deitel and Deitel |
Prentice Hall |
|
|
Deitel, et. al. |
Prentice Hall |
|
|
Farrell |
Thomson |
|
|
Ford and Topp |
Prentice Hall |
|
|
Gaddis |
Scott Jones |
|
|
Guzdial |
Prentice-Hall |
|
|
Hennefeld, et. al. |
Brooks-Cole |
|
|
Horstmann |
John Wiley & sons |
|
|
Kaplay |
Thompson-Engineering |
|
|
King |
Norton & Co. |
|
|
Lewis and Loftus |
Addison-Wesley |
|
|
Lewis and Chase |
Addison-Wesley |
|
|
Liang |
Prentice Hall |
|
|
Liang |
Prentice Hall |
|
|
Main, et. al. |
Addison-Wesley |
|
|
Malik |
Thomson |
|
|
Malik |
Thomson |
|
|
Malik and Nair |
Thomson |
|
|
Morelli |
Prentice Hall |
|
|
Pohn and McDannell |
Addison-Wesley |
|
|
Savitch |
Addison-Wesley |
|
|
Savitch |
Prentice Hall |
|
|
Savitch |
Addison-Wesley |
|
|
Sintes |
Sams |
|
|
Weiss |
Addison-Wesley |
Adams, Joel and Larry R. Nyhoff,
Jeffrey Nyhoff Java: An Introduction to Computing
Prentice Hall, 2001, ISBN 0-13-014251-4
http://vig.prenhall.com/catalog/academic/product/0,1144,0130142514,00.html
Appropriate for introductory Computer Science courses using Java (CS1 with Java) and other introductory programming courses using Java. As in their successful C++ text (C++: An Introduction to Computing), the authors introduce key ideas behind computing with Java and object-oriented programming in an intuitive and non-intimidating way. This text not only teaches text-based programming, but also graphical/internet programming. In addition, this text provides an introduction to computer science as a discipline.
Barnes, David and Michael Kolling
Objects First With Java, 2/E
Prentice Hall, 2005, ISBN 0-13-124933-9
http://vig.prenhall.com/catalog/academic/product/0,1144,0131249339,00.html
The object-oriented paradigm continues to dominate the teaching of introductory computer programming. This is the first textbook to completely integrate the BlueJ Java development environment with the teaching of object-oriented principles. By using BlueJ, the authors are able to take a truly objects first approach, introducing the student to objects and classes from the outset, and enabling him/her to create an object and call its methods as the very first activity. The authors move forward from traditional approaches on how best to tackle the complex concepts of object orientation, and deliver an outstanding text that is radically changing the way introductory programming is taught. Welcome to the BlueJ revolution!
Bradley, Julia Case and Anita C Millspaugh Programming C# .NET
McGraw Hill, 2004, ISBN 0072886250
http://catalogs.mhhe.com/mhhe/viewProductDetails.do?isbn=0072886250
With Microsoft's recent release of their Visual Development Studio (Visual Studio .Net), a new programming language has been introduced. The new language is C# .Net. Programming in C# .NET has been written by the successful author team of Bradley and Millspaugh, who write our Visual Basic books. Therefore, the book maintains the strong pedagogy that has been used to teach students how to program. This book assumes no prior knowledge of programming and it incorporates basic concepts of programming, problem solving, and programming logic and design techniques to teach students a mastery of C #.Net at an introductory level. The text includes a student CD and C#.NET software.
Brookshear, Glenn J. Computer Science: An Overview, 8/E
Addison-Wesley, 2005, ISBN: 0-321-24726-4
http://www.aw-bc.com/catalog/academic/product/0,1144,0321247264,00.html
The text truly lives up to its title, providing a timely introduction to the entire computer science discipline. Broad coverage, combined with clear explanations, has made it the leading textbook for the breadth-first course. This book provides a balanced, realistic picture that communicates the dynamics of computer science by presenting topics in a historical perspective in which past developments, the current state of the art, and directions of research are discussed. The coverage of topics such as programming languages, operating systems, algorithms, software engineering, networking, database design, artificial intelligence, and machine architecture result in a complete overview of the field of computer science.
Addison-Wesley, 2005, ISBN: 0-321-24725-6
http://www.aw-bc.com/catalog/academic/product/0,1144,0321247256,00.html
This classic book has been revised to further enhance its focus on data abstraction and data structures using C++. In this new edition, the clarity of the C++ language is enhanced, along with coverage of the latest C++ features, including stronger use of the Standard Template Library. This edition continues with Frank Carrano's lucid writing style, widespread use of examples, and flexible coverage of important topics.
Dale, Nell and Chip Weems Programming and Problem Solving with C++, 4/E
Jones & Bartlett, 2004, ISBN 0763707988
http://computerscience.jbpub.com/catalog/0763707988/
Programming and Problem Solving with C++, Fourth Edition provides an accessible introduction to C++ and object-oriented programming. With straightforward examples and complete case studies, this text helps readers develop good programming habits right from the start. Both algorithmic development and functional decomposition design methodology are emphasized. Function interface design, modular design, data abstraction, and abstract data types are explored in a supportive teaching style. The text discusses metalanguages explicitly, introduces Big-O notation early, and guides students through the C++ classes, encapsulation, information hiding, and object-oriented software development. A chapter on templates and exceptions enables readers to maximize their potential and master topics once considered too advanced for beginner students.
Dale, Nell and Chip Weems, Daniel T. Joyce Object-Oriented Data Structures Using Java
Jones & Bartlett, 2002, ISBN 0763710792, http://www.jbpub.com/catalog/0763710792/
The text teaches the classic data structures with an informal, yet rigorous, approach; it includes the appropriate object-oriented concepts and makes use of the appropriate Java constructs. The textbook is designed for students who have already taken one semester of computer science and are able to take a problem of medium complexity, write an algorithm to solve the problem, code the algorithm in a programming language, and demonstrate the correctness of their solution. The focus is on teaching computer science principles with chapter concepts being reinforced by case studies. The object-oriented concepts of encapsulation, inheritance, and polymorphism are covered, while the book remains centered on abstract data types.
Deitel, Harvey M. and Paul J. Deitel C++ How to Program, 4/E
Prentice Hall, 2003, ISBN 0-13-038474-7
http://vig.prenhall.com/catalog/academic/product/0,1144,0130384747,00.html
For Introduction to Programming (CS1) and other more intermediate courses covering programming in C++. Also appropriate as a supplement for upper-level courses where the instructor uses a book as a reference for the C++ language. This best-selling comprehensive text is aimed at readers with little or no programming experience. It teaches programming by presenting the concepts in the context of full working programs. The text has an emphasis on achieving program clarity through structured and object-oriented programming, software reuse and component-oriented software construction. The Fourth Edition reflects the suggested improvements of a distinguished team of industry professionals and academics.
Deitel, Harvey M. and Paul J. Deitel
Java How to Program, 5/E
Prentice Hall, 2003, ISBN 0-13-101621-0
http://vig.prenhall.com/catalog/academic/product/0,1144,0131016210,00.html
Designed for beginning through intermediate Java courses. The world's
best-selling Java text is now even better! The Fifth Edition of Java How to
Program includes an updated optional case study on object-oriented design
with the UML, new coverage of JDBC, servlets and JSP and the most up-to-date
Java coverage available
Deitel, Harvey M. and Paul J. Deitel, Jonathan P. Liperi, Ben Wiedermann Python How to Program
Prentice Hall, 2002, ISBN 0-13-092361-3
http://vig.prenhall.com/catalog/academic/product/0,1144,0130923613,00.html
For Python programming courses or Web programming courses focusing on Python programming found in departments of Computer Science, CIS, MIS, IT, Business, Engineering and Continuing Education.
An exciting addition to the How to Program series, Python How to Program provides a comprehensive introduction to this powerful object-oriented programming language, which has clear syntax and the ability to bring together several technologies quickly and easily. Python How to Program covers introductory programming techniques as well as more advanced topics such as graphical user interfaces, databases, wireless Internet programming, networking and multimedia. Students will learn principles that are applicable to both systems development and Web programming.
Farrell, Joyce Java Programming, 2/E
Thomson, 2003, ISBN 0619215003,
http://www.course.com/catalog/product.cfm?isbn=0-619-01659-0&CFID=5035771&CFTOKEN=74511906
The text is written and designed specifically for students with no previous programming experience. Object-oriented techniques are introduced early, featuring short code examples that are built from the bottom up. This edition offers more through coverage of the basics, explanations and examples using the StringBuffer class, and an entire chapter devoted to Swing. This text is designed to teach Java to those studying programming for the first time, but is also appropriate for those building on experiences in another programming language. Accompanying CD Rom contains Sun Java 2 SDK Standard Edition 1.4.0, jGrasp 1.5.0 and student data files. An extensive instructor’s resource kit is also available on CD Rom.
Ford, William H. and William R. Topp Data Structures with C++ Using STL, 2/E
Prentice Hall, 2002, ISBN 0-13-085850-1
http://vig.prenhall.com/catalog/academic/product/0,1144,0130858501,00.html
For CS2/Data Structures courses using C++. This book uses a modern object-oriented approach to data structures, unified around the notion of the Standard Template Library (STL) container classes. The book presents a systematic development of data structures supported by numerous examples and complete programs. The authors separate the applications of a data structure from its implementation. In the later chapters, the book transitions students into the study of applied algorithms. This creates a bridge to subsequent courses in advanced data structures and algorithms.
Gaddis, Tony Starting Out with Java
Scott/Jones, 2003, ISBN1-57676-109-6, http://www.gaddisbooks.com/standardjava/
The text is intended for a one-semester CS1 course, or a two-quarter sequence. Although it is written for students with no prior programming background, even experienced students will benefit from its depth of detail. The approach taken by this text can be described as "early objects, late graphics." The student is introduced to object-oriented programming early in the book. The fundamentals of control structures, classes, and the OOP paradigm are thoroughly covered before moving on to graphics and more powerful applications of the Java language. As with all the books in the Starting Out series, the hallmark of this text is its clear, friendly, and easy-to-understand writing. In addition, it is rich in example programs that are concise and practical.
Guzdial, Mark Introduction to Computing and Programming with Python, A Multimedia Approach
Prentice Hall, 2005, ISBN 0-13-117655-2
http://vig.prenhall.com/catalog/academic/product/0,1144,0131176552,00.html
For courses in Introduction to Computing or Introduction to Programming. There is a growing interest in computing for non-CS majors, or for students who have not yet determined their majors (sometimes called the “CS0” market). Computer science professors are also confronted with increased attrition and failure rates. Guzdial introduces programming as a way of creating and manipulating media—a context familiar and intriguing to today’s students. Students begin actual programming early on (sometimes over 100 lines of code in the second assignment). Guzdial’s approach has met with substantial success in class testing.
Hennefeld, Julien and Laura Baker,
Charles Burchard Using C++: An Introduction
to Programming, 2/E
Brooks-Cole, 2002, ISBN 0-534-39146-X
http://www.course.com/catalog/product.cfm?isbn=0-534-39146-X&CFID=3965691&CFTOKEN=11499310
This text’s secret to success is the unique way that it fosters active participation by the reader, and its teaching of problem solving skills in conjunction with a thorough introduction to the C++ language. Hennefeld, Baker, and Burchard quickly get students actively involved in writing programs by using a four-step problem-solving methodology that is introduced in Chapter 1. This approach is used throughout the book in worked examples and programs that the students write. The authors also emphasize functions as a powerful way of breaking down problems into small sub-tasks. In addition, programming concepts and syntax are introduced within the framework of examples so students can see immediately how the programming structure is used. The authors also provide a thorough introduction to the C++ language, first covering procedural aspects to allow students to grasp basic syntax without getting bogged down in details of the object-oriented paradigm. Later, object-oriented features are introduced with great care over three chapters—the first devoted to writing client programs for preexisting classes, the second on the syntax for implementing classes, and the third on designing classes for specific programming problems. Effective use of pedagogical devices that foster active reading round out the approach that has proven to be so successful in helping students learn a large subset of the C++ language.
Horstmann, Cay Big Java
Wiley, 2003, ISBN 0-471-45352-8
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471453528.html
Offers an in-depth look into how Java relates to such technologies as searching, sorting, data structures, multithreading, networking, database connectivity, XML, and Java Server Pages. Part I deals with fundamental principles of programming and problem solving. Part II introduces advanced concepts of the Java programming. Readers will find highlighted concepts and capsule introductions into advanced topics of computer science perfect reading material for anyone interested in learning or reinforcing introductory programming concepts and who wants to take advantage of the exciting attributes of the Java language. A lab manual for BlueJ and CD with the BlueJ development environment and Sun JDK 1.4.2 accompanies the text.
Kaplan, Daniel Introduction to Scientific Computation and Programming
Thomson-Engineering, 2003, ISBN 0534389139
http://engineering.brookscole.com/products/productpage.asp?isbn=0534389139&pubcode=142
This book provides students with the modern skills and concepts needed to be able to use the computer expressively in scientific work. The author takes an integrated approach by covering programming, important methods and techniques of scientific computation (graphics, the organization of data, data acquisition, numerical methods, etc.) and the organization of software. Balancing the best of the teach-a-package and teach-a-language approaches, the book teaches general-purpose language skills and concepts, and also takes advantage of existing package-like software so that realistic computations can be performed. From Book News, Inc.: “Integrating its coverage of programming, scientific computation, and the organization of software, this textbook uses realistic MATLAB examples to illustrate important concepts. Particular attention is given to the use of graphical interfaces. The text assumes some knowledge of calculus, but no prior experience programming. Kaplan teaches mathematics and computer science at Macalester.”
King, K.N. Java Programming: From the Beginning
W. W. Norton, 2000, ISBN 0-393-97437-5
This is an introductory college textbook aimed at the traditional CS1 course. It assumes no previous programming experience. Unlike many Java texts currently on the market, Java Programming: From the Beginning avoids trendiness for its own sake, instead focusing on teaching students programming skills on which they can build a career. The emphasis is on learning how to design, implement, and debug programs written in an object-oriented language. Topics are introduced in a spiral fashion, with as little "magic" as possible. Applets are de-emphasized, and there is no attempt to introduce all the features of Java. After using this book in a course, students should be well-prepared to move on to C++ or more advanced courses in Java.
Lewis, John and William Loftus Java Software Solutions: Foundations of Program Design, 4/E
Addison-Wesley, 2005, ISBN 0-321-24583-0
http://www.aw-bc.com/catalog/academic/product/0,1144,0321245830,00.html
Java Software Solutions, Fourth Edition takes full advantage of the Java 5.0 release in a way that is appropriate for those just learning to write high quality programs. This new edition has an earlier evolution of object concepts, developed in a way that capitalizes on the power of objects without overwhelming beginning programmers.
Lewis, John and Joseph Chase
Java Software Structures: Designing and Using Data Structures, 2/E
Addison-Wesley, 2005, ISBN 0-321-24584-9
http://www.aw-bc.com/catalog/academic/product/0,1144,0321245849,00.html
The text embraces the enhancements of Java 5.0, where all structures and collections are based on generics. The framework of the text walks the reader through three main areas: conceptualization, explanation, and implementation, allowing for a consistent and coherent introduction to data structures. The addition of integrated case studies provides complete examples to aid readers starting with the problem statement, to design rationale, through full implementation. Readers will learn how to develop high-quality software systems using well-designed collections and algorithms.
Liang, Y. Daniel Introduction to
Java Programming, Custom Core, 5/E
Prentice Hall, 2005, ISBN 0-13-148953-4
http://vig.prenhall.com/catalog/academic/product/0,1144,0131489534,00.html
The Fifth Edition of this outstanding text is revised in every detail to enhance clarity, content, presentation, examples, and exercises. Now expanded to include more extensive coverage of advanced Java topics, this new edition is available two ways. Choose the Comprehensive edition (chapters 1-29) that includes the new advanced material or choose the Custom Core version (chapters 1-16) that covers material through exception handling and IO. The early chapters outline the conceptual basis for understanding Java and guide students through simple examples and exercises. Subsequent chapters progressively present Java programming in detail, including using objects for design, culminating with the development of comprehensive Java applications.
Liang, Y. Daniel Introduction to
Java Programming with JBuilder, 3/E
Prentice Hall, 2004, ISBN 0-13-143049-1
http://vig.prenhall.com/catalog/academic/product/0,1144,0131430491,00.html
For undergraduate level courses in Java--Introduction to Programming/CS1, Object-Oriented Programming, and Java--Intermediate Programming in Computer Science, Engineering, and Business programs. This revised best-seller is designed for a first course in Java or Java as a second language programming, covering JDK 1.4 and JBuilder 9, the latest principles in programming, and core Java features. Covering all the required subjects in the Java Certification Exam, this comprehensive introduction provides an in-depth treatment of object-oriented programming. Easy to read and well-paced, this book is also ideal for self-studies. Its advanced features, such as representative examples and abundant pedagogy, enable students to develop comprehensive programs.
Main, Michael and Walter Savitch Data Structures and Other Objects Using C++, 3/E
Addison-Wesley, 2005, ISBN 0-321-19716-X
http://www.aw-bc.com/catalog/academic/product/0,1144,032119716X,00.html
This text takes a gentle approach to the data structures course in C++. Providing an early, self-contained review of object-oriented programming and C++, this text gives students a firm grasp of key concepts and allows those experienced in another language to adjust easily. Flexible by design, professors have the option of emphasizing object-oriented programming, covering recursion and sorting early, or accelerating the pace of the course. Finally, a solid foundation in building and using abstract data types is also provided, along with an assortment of advanced topics such as B-trees for project building and graphs.
Malik,
D. C++ Programming:
From Problem Analysis to Program Design, 2/E
Thomson, 2004, ISBN 0-619-16042-X,
http://www.course.com/catalog/product.cfm?isbn=0-619-16042-X&CFID=5035771&CFTOKEN=74511906
This is the ground-breaking, definitive text for the CS1 course, written exclusively for the student, as opposed to the IT professional. Finally, a book dedicated entirely to C++! Written for the modern programmer, this innovative text focuses on the nature and obvious advantages of C++ as a language. Featuring problem-solving throughout the text, examples are relevant C++ examples that match and highlight the specific qualities of C++ rather than basic, generic programming examples. The unique pedagogy of this book includes full programming examples, syntax/explanation/example, extensive visual diagrams, and many programming exercises at the end of each chapter.
Malik, D. Data Structures Using Java
Thomson, 2003, ISBN: 0-619-15950-2,
http://www.course.com/catalog/product.cfm?isbn=0-619-15950-2&CFID=5035771&CFTOKEN=74511906
This CS2 book is ideal for a one semester course focused on data structures! This highly anticipated text from Dr. D.S. Malik incorporates all of the successful elements of his introductory Java title. Clearly written with the student in mind, this text focuses on Data Structures, and includes advanced topics in Java such as Linked Lists and the Standard Template Library (STL). Students will find Dr. Malik’s use of complete Programming code and clear display of syntax, explanation, and example both easy to read and conducive to learning.
Malik, D. and P.Nair Java Programming: From Problem Analysis to Program Design
Thomson, 2003, ISBN 0-619-21635-2,
http://www.course.com/catalog/product.cfm?isbn=0-619-21635-2&CFID=5035771&CFTOKEN=74511906
Focusing on the natural advantages of the object-oriented Java programming language, this text is written exclusively with the student in mind. Featuring complete Programming Examples throughout, this text offers at least one, many times two, complete Programming Examples at the end of each chapter. Including extensive use of visual diagrams and accurate four-color code, Dr. Malik’s programming texts have been proven highly successful for beginning programming students.
Morelli, Ralph Object-Oriented Problem Solving, Java, Java, Java 2/E
Prentice Hall, 2003, ISBN 0-13-033370-0
http://vig.prenhall.com/catalog/academic/product/0,1144,0130333700,00.html
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.
http://www.aw-bc.com/catalog/academic/product/0,1144,0201612488,00.html
Enlisting the best-selling "by dissection" method of instruction, this book teaches programming techniques and presents the Java language in a sound and structured manner that is appropriate for both novice and seasoned programmers. It presents a thorough introduction to the programming process by carefully developing working programs to illuminate key features of the Java programming language. Program code is explained in an easy-to-follow manner throughout. This book presents readers with a clear and thorough introduction to the programming process by carefully developing working Java programs using the method of dissection. A dissection is similar to a structured walk-through of the code, with the intention of explaining to the reader newly encountered programming elements and idioms as found in working code. Key ideas are reinforced throughout by use in different contexts.
Savitch, Walter Absolute C++
Addison-Wesley, 2002, ISBN 0-201-70927-9
http://www.aw-bc.com/catalog/academic/product/0,,0201709279,00%2ben-USS_01DBC.html
The text offers complete coverage of the C++ programming language. It provides all the tools necessary for experienced and novice programmers to master C++, including: thorough coverage of the Standard Template Library; complete and fully executable code throughout; sections highlighting programming tips and common pitfalls; and a logical order of coverage of C++ topics in order for students to better understand the language. This book is appropriate for introductory courses covering the C++ language, intermediate programming courses introducing C++ to students familiar with another language and will act as a total reference beyond a student's coursework.
Savitch, Walter Java: An
Introduction to Problem Solving and Programming, 4/E
Prentice Hall, 2005, ISBN 0-13-149202-0
http://vig.prenhall.com/catalog/academic/product/0,1144,0131492020,00.html
For introductory Computer Science courses using Java (CS1 with Java), and other introductory programming courses using Java offered in departments of Computer Science, Computer Engineering, Computer Information Systems, Management Information Systems, Information Technology, and Business. In a conversational style, best-selling author Walter Savitch teaches programmers problem solving and programming techniques with Java. Readers are introduced to object-oriented programming and important computer science concepts such as testing and debugging techniques, program style, inheritance, and exception handling. Savitch includes thorough coverage of the Swing libraries and event-driven programming. The Java coverage is a concise, accessible introduction that covers key language features. Objects are covered thoroughly and early in the text, with an emphasis on applications over applets. The text’s highly flexible format enables instructors and readers to adapt coverage to their course needs.
Addison-Wesley, 2005, ISBN: 0-321-26865-2
http://www.aw-bc.com/catalog/academic/product/0,1144,0321268652,00.html
The text brings the best-selling text book for introducing C++ to fully embrace the most up-to-date C++ standards. Suitable for beginning students, the text covers C++ and basic programming techniques. Students will learn how to define their own classes while gaining a solid understanding of basic tools such as simple control structures and function definitions. By defining their own classes early, students are getting a hands-on experience unrivaled by any other text on the market. Flexible by design, the order in which chapters and sections are covered can easily be changed without any loss on continuity in reading. Instructors can therefore mold this text around the way they want to teach rather than have the text dictate their course's organization.
Sams, 2001, ISBN 0672321092
http://www.amazon.com/exec/obidos/tg/detail/-/0672321092/103-8199309-6779867?v=glance
This text differs from other OOP books in two main ways. Many classic OOP books are designed for software engineers and teach at an academic level. The text presents accessible, user-friendly lessons designed with the beginning programmer in mind. Other OOP books work to present both OOP and to teach a programming language (for example: Object-Oriented Programming in C++). Although the text uses Java to present the examples, the book is designed to present concepts that apply to any OOP environment. From Book News, Inc. “Introduces encapsulation, inheritance, polymorphism, and the object- oriented software development process, and applies the concepts in a sample card game. Topics of the 21 lessons include inheritance for type substitution, inclusion polymorphism, parametric polymorphism, overloading, overriding, the unified modeling language (UML), reusing designs through design patterns, and user interface programming.”
Weiss, Mark Allen Data Structures
and Problem Solving Using Java, 2/E
Addison-Wesley, 2002, ISBN 0-201-74835-5
http://www.aw-bc.com/catalog/academic/product/0,1144,0201748355,00.html
The text provides a practical introduction to data structures and algorithms from the viewpoint of abstract thinking and problem solving, as well as the use of Java. Experienced author and educator Mark Allen Weiss takes a unique approach by clearly separating the specification and implementation of data structures. He presents the interface and running time of data structures in Part II of the book. Then, he provides the opportunity for students to use the data structures in a variety of practical examples before introducing the implementations in Part IV. By first gaining a familiarity with the interfaces and uses of data structures, readers will be able to think more abstractly about the subject matter.