Programming: Principles and Practice Using C++ – Bjarne Stroustrup – 1st Edition


Programming is the art of expressing to so that a can execute those solutions. Much of the effort in programming is spent finding and refining solutions. Often, a problem is only fully understood through the of programming a for it.

This is for someone who has never programmed before but is willing to work hard to learn. It helps you understand the principles and acquire the practical skills of programming using the C++ programming language.
My aim is for you to gain sufficient knowledge and experience to perform simple useful programming tasks using the best up-to-date techniques. How long will that take? As part of a first-year university course, you can work through this in a semester (assuming that you have a workload of four courses of average difficulty).

If you work by yourself, don’t expect to spend less time than that (maybe 15 hours a week for 14 weeks). Three months may seem a long time, but there’s a lot to learn and you’ll be your first simple programs after about an hour. Also, all learning is gradual: each chapter introduces new useful concepts and illustrates them with examples inspired by real-world uses. Your ability to express ideas in code — getting a to do what you want it to do — gradually and steadily increases as you go along. I never say, “Learn a month’s worth of theory and then see if you can use it.

View more

Table of Contents

Part I. The Basics
Chapter 1 Computers, People, and Programming
Chapter 2 Hello world!
Chapter 3 Objects, types, and values
Chapter 4 Computation
Chapter 5 Errors
Chapter 6 Writing a program
Chapter 7 Completing a program
Chapter 8 Technicalities: functions, etc.
Chapter 9 Technicalities: classes, etc.

Part II. Input and Output
Chapter 10 Input and output streams
Chapter 11 File streams and string streams
Chapter 12 Graphs
Chapter 13 Graph classes
Chapter 14 Graph class design
Chapter 15 Graphing functions
Chapter 16 Graphical user interfaces

Part III. Data and algorithms
Chapter 17 Vectors: memory management
Chapter 18 Vectors: arrays
Chapter 19 Vectors: exceptions and templates
Chapter 20 STL: containers, iterators, and algorithms
Chapter 21 STL: maps and algorithms

Part IV. Broadening the view
Chapter 22 Ideals and history
Chapter 23 Text manipulation
Chapter 24 Numerics
Chapter 25 Embedded systems programming
Chapter 26 Testing
Chapter 27 The C programming language

Appendix A Language summary
Appendix B Standard-library summary
Appendix C Getting started with Visual Studio
Appendix D Installing FLTK
Appendix E GUI Implementation


Leave us a commentNo Comments

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x