Considering how many hours we spend with computers—phones, laptops, even “smart” screens on our home appliances—it’s easy to feel like they control us. But, in fact, we control them. Or, we do if we know how to use them.That’s what computer programming gets to the heart of: taking command of the most powerful, versatile, and productive machines ever invented. And among the array of programming languages designed to get computers doing exactly what we want, C++ ranks as one of the most efficient, powerful, and popular.
Author(s): John Keyser
Series: The Great Courses
Publisher: The Teaching Company
Year: 2019-08
Language: English
Pages: 313
Tags: C++
Professor Biography......Page 3
Table of Contents......Page 4
Course Scope......Page 7
Introduction to Computer Programming......Page 8
What Happens When You Program......Page 9
Program 1_1......Page 10
Program 1_9......Page 12
Readings......Page 13
Quiz......Page 14
Quiz Solutions......Page 15
Introduction......Page 16
Quick Start with a Browser......Page 17
Interactive Hello, World! Program......Page 18
Hello, World! Program with Error......Page 19
Quick Start with an IDE......Page 20
Windows PC with Visual Studio Community versus Mac with Xcode......Page 21
Variables and Computations......Page 23
Program 2_1......Page 24
Variable Declarations......Page 25
Program 2_3......Page 26
Variable Assignments......Page 27
Exercise 3......Page 28
Program 2_10......Page 29
Program 2_14......Page 30
Program 2_18......Page 31
Program 2_19......Page 32
Readings......Page 33
Exercise Solutions......Page 34
Quiz......Page 35
Quiz Solutions......Page 36
Program 3_1......Page 37
Program 3_3......Page 38
Exercise 1......Page 39
Program 3_7......Page 40
Conditional Statements......Page 41
Program 3_10......Page 42
Program 3_11......Page 43
Exercise 2......Page 44
Program 3_14......Page 45
Program 3_15......Page 46
Exercise Solutions......Page 47
Quiz......Page 48
Quiz Solutions......Page 49
Program 4_1......Page 50
Program 4_2......Page 51
Exercise......Page 52
Program 4_6_1......Page 54
Program 4_6_9......Page 57
Quiz......Page 58
Quiz Answers......Page 59
Program 5_1......Page 60
Exercise......Page 61
Program 5_9......Page 62
Program 5_12......Page 63
Program 5_13......Page 64
Program 5_16......Page 65
Program 5_17......Page 66
Program 5_19......Page 67
Program 5_21......Page 68
Quiz......Page 69
Quiz Answers......Page 70
Code Libraries......Page 71
How Code and Libraries Are Compiled in C++......Page 72
The C++ Standard Library......Page 73
Program 6_4......Page 74
Program 6_8......Page 75
Program 6_10......Page 76
Program 6_13......Page 77
Program 6_14_a......Page 78
Readings......Page 79
Quiz......Page 80
Quiz Answers......Page 81
Storing Variables in Memory......Page 82
Program 7_1......Page 83
Program 7_3......Page 84
Program 7_4......Page 85
Program 7_5......Page 87
Program 7_9......Page 88
Program 7_11......Page 89
Quiz......Page 90
Quiz Answers......Page 91
Using Vectors......Page 92
Exercise 1......Page 93
Exercise 2......Page 94
Program 8_8......Page 95
Program 8_9......Page 96
Program 8_12......Page 97
Program 8_13......Page 98
Program 8_15......Page 99
Readings......Page 100
Quiz......Page 101
Quiz Answers......Page 102
String Variables and Literals......Page 104
Program 9_2......Page 105
Exercise 1......Page 106
Exercise 2......Page 107
Program 9_8......Page 108
Program 9_9......Page 109
ASCII Table......Page 110
Exercise Solutions......Page 112
Quiz......Page 113
Quiz Answers......Page 114
File Streaming......Page 115
Exercise 1......Page 117
Exercise 3......Page 118
Program 10_8......Page 119
Readings......Page 120
Exercise Solutions......Page 121
Quiz......Page 122
Quiz Answers......Page 123
Top-Down Design......Page 125
Program Fragment 11_1_c......Page 127
Program Fragment 11_1_d......Page 128
Program Fragment 11_1_e......Page 129
Debugger Tool......Page 130
Readings......Page 133
Quiz......Page 134
Quiz Answers......Page 135
Functions as Black Boxes......Page 137
Creating Your Own Functions......Page 138
Exercise 2......Page 139
Program 12_1......Page 140
Program 12_6......Page 141
Program 12_7......Page 142
Exercise 3......Page 143
Program 12_ERROR_2......Page 144
Program 12_10......Page 145
Program 12_12......Page 146
Exercise Solutions......Page 147
Quiz......Page 148
Quiz Answers......Page 149
Program 13_1......Page 150
Program 13_2......Page 151
Program 13_3......Page 152
Program 13_3_ERROR......Page 153
Program 13_5......Page 154
Program 13_7......Page 155
Exercise......Page 156
Exercise Solution......Page 157
Quiz......Page 158
Quiz Answers......Page 159
A Systematic Approach to Debugging......Page 160
Program 14_1......Page 161
Program 14_2......Page 164
Program 14_5......Page 165
Using Exceptions......Page 166
Program 14_6......Page 167
Program 14_7......Page 168
Quiz......Page 169
Quiz Answers......Page 170
Top-Down Design......Page 171
Program 15_1_1......Page 172
Program 15_1_2......Page 173
Program 15_1_3......Page 174
Program 15_2_1......Page 175
Program 15_2_3......Page 176
Program 15_3......Page 177
Readings......Page 178
Quiz......Page 179
Quiz Answers......Page 180
Object-Oriented Programming......Page 181
Program 16_1......Page 182
Sorting Data in Classes......Page 183
Program 16_3_a......Page 184
Program 16_4......Page 185
Program 16_6......Page 186
Exercise......Page 187
Program 16_9_ERROR......Page 188
Readings......Page 189
Exercise Solution......Page 190
Quiz......Page 191
Quiz Answers......Page 192
Constructors......Page 193
Program 17_1......Page 194
Exercise......Page 195
Operator Overloading......Page 196
Overloading Binary Operators......Page 197
Program 17_8......Page 198
Program 17_10......Page 199
Program 17_11......Page 201
Program 17_11_a......Page 202
Program 17_12......Page 203
Readings......Page 204
Exercise Solution......Page 205
Quiz......Page 206
Quiz Answers......Page 207
Dereferencing Pointers......Page 208
Program 18_2......Page 209
Dynamic Memory Allocation......Page 210
Program 18_5......Page 211
Readings......Page 215
Quiz......Page 216
Quiz Answers......Page 217
Inheritance......Page 219
Program 19_1......Page 220
Program 19_2_a......Page 221
Program 19_3......Page 222
Program 19_4......Page 223
Program 19_5......Page 226
Exercise 2......Page 228
Exercise Solutions......Page 229
Quiz......Page 230
Quiz Answers......Page 231
A Class Hierarchy......Page 233
Program 20_1......Page 234
Program 20_2......Page 235
Program 20_4......Page 237
Program 20_5......Page 239
Program 20_8......Page 242
Readings......Page 243
Quiz......Page 244
Quiz Answers......Page 246
Designing Classes......Page 247
Coding Your Design......Page 252
Quiz......Page 256
Quiz Answer......Page 257
Templates and Containers......Page 258
Program 22_1......Page 260
Program 22_2......Page 261
Program 22_4......Page 262
Program 22_7......Page 263
Program 22_8......Page 264
Program 22_9......Page 265
Readings......Page 266
Quiz......Page 267
Quiz Answers......Page 268
Program 23_1......Page 269
Readings......Page 278
Program 23_3......Page 270
Program 23_4......Page 271
Program 23_5......Page 272
Program 23_6......Page 273
Templated Functions......Page 274
Program 23_8......Page 275
Program 23_11......Page 276
Exercise 2......Page 277
Quiz......Page 279
Quiz Answers......Page 280
AI Game Playing......Page 281
Developing Algorithms......Page 282
From Algorithms to Implementation......Page 284
Improving Your Algorithms......Page 286
Quiz......Page 287
Quiz Answer......Page 288
Glossary......Page 289
C++ Syntax......Page 301
Bibliography......Page 313