If I were trying to summarize the entire field of computing I would say it is centered around two distinct aspects: data and instructions.
Many types of information can be represented digitally: integers, floating-point numbers, text, sound, images, ...
All of the data used by a computer program must be explicitly stored inside the memory of the computer if it is still relevant.
The data used in a computer program may be original input provided by an external source (e.g. a user), or it may be internal state information generated by the program itself as it executes. In fact, once user data has been inputted, it truly becomes treated as internal state information from that point onward.
At its lowest level, computers have a relatively small cookbook of basic instructions that they can perform. Some common examples include: storing data into memory, fetching data from memory, basic arithmetic and logic functions, branching instructions (if/else) and looping constructs (while).
These instructions are used by the Central Processing Unit (CPU) to control the flow of a program's execution.
Each CPU variant generally has its own set of instructions which it understands. This often makes so called machine code or binaries incompatable on different computing hardware.
C++ is a so-called high-level programming language. It offers a great deal of additional "instructions" and data types which are then converted to sufficient low-level instructions by a process known as compiling.
Though we are describing data and instructions as two distinct entities, in reality instructions are truly just another form of information. They too must be stored digitally in the computers memory in order for a program to execute. In any event, they are treated quite differently that other data as they are used to control the CPU's behavior.
In this course, we have explicitly chosen to teach in a particular programming paradigm known as object-oriented programming, using one such language known as C++.
Though a particular programming language already has built-in support for a variety of data types and a variety of behaviors, it is often nice to design new classes of objects which share a great deal of commonality. In particular we will define and use so called "objects" which bring together the aspects of data and instructions. Each object will have a certain amount of its own data to reflects its internal state information, and will also have a set of available "behaviors" (sometimes refered to as "commands" or "messages").
Chapter 1.4 of the text gives a preliminary example of this pardigm; we will see more of it as the course progresses.