Core Version
Comprehensive Version
Introduction to C++ Programming
Y. Daniel Liang


Table of Contents

Part I Fundamentals of Programming
Chapter 1 Introduction to Computers, Programming, and C++
Chapter 2 Primitive Data Types and Operations
Chapter 3 Selection Statements
Chapter 4 Loops
Chapter 5 Functions
Chapter 6 Arrays
Chapter 7 Pointers and C-Strings
Chapter 8 Recursion
Part II Object-Oriented Programming
Chapter 9 Objects and Classes
Chapter 10 More on Objects and Classes
Chapter 11 Inheritance and Polymorphism
Chapter 12 File Input and Output
Chapter 13 Operator Overloading
Chapter 14 Exception Handling
Part III Data Structures and Advanced Topics
Chapter 15 Templates
Chapter 16 Linked Lists, Stacks, and Queues
Chapter 17 Trees, Heaps, and Priority Queues
Chapter 18 Algorithm Efficiency and Sorting
Chapter 19 STL Containers
Chapter 20 STL Algorithms
Appendixes

Fundamentals-First Version

The book is published in two versions: core and comprehensive. The Core Version consists of the first 14 chapters. It introduces fundamentals of programming, problem-solving, and object-oriented programming. This version is suitable for CS1 in one or two semesters.

Comprehensive Version

The Comprehensive Version consists of all 20 chapters. It covers traditional data structures topics: templates, design and implementation of list, stack, heap, queue, and priority queue), algorithm efficiency and sorting, and standard template library.