- Fundamentals First: This book adopts the fundamentals-first and problem-driven strategy, proceeding at a steady pace through all the necessary and important basic concepts, then moving to object-oriented programming, and then to the use of the object-oriented approach to build applications with advanced features.
- Why Fundamentals First? Learning basic logic and fundamental programming techniques like loops and step-wise refinement is essential for new programmers to succeed. Students who cannot write code in procedural programming are not able to learn object-oriented programming. A good introduction on primitive data types, control statements, functions, and arrays prepares students to learn object-oriented programming.
- Systematic and Coherent Coverage: Helps students learn fundamental programming techniques (selection statements, loops, functions, and arrays).
- Step-by-step Presentation: Students learn all essential subjects in C++ incrementally from fundamental programming techniques to object-oriented programming, from simple functions to STL, from simple data types to classic structures.
- Object-oriented Programming: A thorough introduction on primitive data types, control statements, functions, and arrays prepares students to learn object-oriented programming.
- From Fundamentals to Object-Oriented: Students often have difficulty adapting to the object-oriented paradigm. The book addresses this issue in chapter 10 on transitioning from procedural programming to object-oriented programming. The chapter focuses on class design. Several examples are used to demonstrate the advantages of object-oriented programming, so students learn how and when to apply OOP effectively.
- Problem-Driven Focus: Students learn to approach programming as a method for problem solving by beginning with a discussion of obstacles and goals. Interesting and practical examples are used not only to illustrate syntax but also to teach problem solving and programming.
- Why Problem-Driven?: Programming isn’t just syntax, classes, or objects. It is really problem solving. Applying the concept of abstraction in the design and implementation of software projects is the key to developing software. The overriding objective of the book is to teach students to use many layers of abstraction in solving problems and to see problems in small and in large. The examples and exercises throughout the book emphasize problem solving and foster the concept of developing reusable components and using them to create practical projects.
- Engaging Problems: Interesting and practical problems introduce each chapter and are solved within the chapter. The book uses a wide variety of problems with various levels of difficulty to motivate students. The problems cover many application areas in gaming, math, business, science, animation, and multimedia.
- VideoNotes: VideoNotes are step-by-step video tutorials specifically designed to enhance the programming concepts presented in Introduction to Programming with C++, 3e. Students can view the entire problem-solving process outside of the classroom—when they need help the most. Go to www.pearsonhighered.com/videonotes for a brief VideoNotes demo.
SUPPORT FOR INSTRUCTORS AND STUDENTS
- Text-specific Website: The author maintains a website at http://www.cs.armstrong.edu/liang/cpp3e that includes:
- Answers to review questions
- Solutions to even-numbered programming exercises
- Source code for the examples in the book
- Interactive Self-Test (organized by sections for each chapter)
- LiveLab electronic homework and grade tracking system to track individual performance.
- Step-by-step VideoNotes tutorials
- Bonus Chapters
- Resource links
- Online Practice and Assessment with MyProgrammingLab - MyProgrammingLab, Pearson's online homework and assessment tool, is available with this edition. Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming.
- A self-study and homework tool, a MyProgrammingLab course consists of hundreds of small practice problems organized around the structure of this textbook. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable them to figure out what went wrong–and why. For instructors, a comprehensive roster tracks correct and incorrect answers and stores the code inputted by students for review.
- Note: If you are purchasing the standalone text or electronic version, MyProgrammingLab does not come automatically packaged with the text. To purchase MyProgrammingLab, please visit: myprogramminglab.com or you can purchase a package of the physical text + MyProgrammingLab by searching the Pearson Higher Education web site. MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor.
- Instructor’s Supplements - A variety of supplemental materials are available to qualified instructors from the Pearson Instructor Resource Center. To access these materials, visit www.pearsonhighered.com/irc or contact your local Pearson sales representative.
- Copyright 2014
- Edition: 3rd
- ISBN-10: 0-13-337971-X
- ISBN-13: 978-0-13-337971-6
- eText not included
- Instant access once purchased
- Register with a Course ID, a link from your instructor or an LMS link (Blackboard, Canvas, Moodle or D2L®)
- Interactive digital learning experience
- Help when and where you need it
- Instant feedback on assignments
- Apps and study tools
Online Purchase URL
Table of Contents
Part I Fundamentals of Programming
Chapter 1 Introduction to Computers, Programming, and C++
Chapter 2 Elementary Programming
Chapter 3 Selections
Chapter 4 Mathematical Functions, Characters, and Strings
Chapter 5 Loops
Chapter 6 Functions
Chapter 7 Single-Dimensional Arrays and C-Strings
Chapter 8 Multidimensional Arrays
Part II Object-Oriented Programming
Chapter 9 Objects and Classes
Chapter 10 Object-Oriented Thinking
Chapter 11 Pointers and Dynamic Memory Management
Chapter 12 Templates, Vectors, and Stacks
Chapter 13 File Input and Output
Chapter 14 Operator Overloading
Chapter 15 Inheritance and Polymorphism
Chapter 16 Exception Handling
Part III Data Structures and Advanced Topics
Chapter 17 Recursion
Chapter 18 Developing Efficient Algorithms
Chapter 19 Sorting
Chapter 20 Linked Lists, Queues, and Priority Queues
Chapter 21 Binary Search Trees
Chapter 22 STL Containers
Chapter 23 STL Algorithms
Chapter 24 Graph Applications
Chapter 25 Weighted Graph Applications
Chapter 26 AVL Trees and Splay Trees
Chapters 18-26 are bonus chapters available from http://www.pearsonhighered.com/liang. Login or register under VideoNotes and Web Chapters.