Modified June 3, 2012

Programming -- Principles and Practice Using C++

This is the support site for Stroustrup: "Programming: Principles and Practice using C++" Addison-Wesley 2009, ISBN 978-0321543721.

This book is aimed at beginners taking a programming course and people learning C++ as self study. For details, see these samples:

This book is based on a course I designed for engineering freshmen at Texas A&M University. It has now been taught by me and others, at TAMU, and elsewhere, in academia and industry, for almost five years and to thousands of students. It is currently available in (physical and web) book stores.

I wrote an academic paper to explain a possible role for the book/course in a more complete education: Programming in an undergraduate CS curriculum

Note this is not the 4th edition of The C++ Programming Language and it uses the current ISO standard C++, C++98, rather than C++11.

This page and its supporting material is under construction. Comments and suggestions are welcome. In particular, I'd like to hear if someone adopts the book for a course. Maybe we could set up a mechanism for sharing experience.

By the numbers:

What do such numbers mean? Not much; e.g., is the word count a sign of "lots of useful information" or proof of verbosity? I prefer the former explanation.

Supporting material:

Supporting code:

I am assuming that you (the reader) have a working modern C++ compiler. If you are a student on a programming course, your school will have installed one and there will be teachers or teaching assistent to help you in case of trouble. If you are on your own and not an experienced programmer, I strongly recommend you seek help from someone who has installed software before. One problem is that there are lots of C++ compilers and operating system distributions, so I can't simply provide you with a simple description of how to install: It will depend on "which compiler?" and which "operating system?" Here is a writeup sent to me by a reader using the Ubuntu distribution of Linux and GCC. And here is a Makefile for Mac sent by a reader.

A reader supplied files that you might find helpful if you are struggling with Visual Studio and std_lib_facilities.h:

Why birds? Just because I like that photo; I was looking for a calm image. Sometimes a bird is just a bird. They are swans, by the way.


Translations in progress:

Cover pictures of the editions I have can be found on my covers gallery


Comments on the web:

Other noteworthy: