1.  Optional: Introduction to C++ and Programming Concepts

Wide-ranging applications of computer programming, and why you should learn it

Technology has become increasingly more prevalent in our daily lives. Computers are now incorporated in some way into almost every place we go, whether it be through personal devices like laptops and phones, computers that monitor biometrics in hospitals, or even in computers that help control the flight of an airplane. As the software in technology becomes more sophisticated, we can easily become too far detached from how these devices actually work, leading to emphasis on the need for people to obtain a “programming literacy.” Understanding the basics of computer programming can vastly widen your understanding of how these devices work and even allow you to determine what they can do. Code is what allows humans to interact with machines and make them do the things we need and want them to do. Think about it. Anytime you search something on Google, shop on Amazon, play a video game, or even do a homework assignment on your computer, code that someone wrote is being utilized so you can do each of those actions. Computer programming is a useful (and fun) skill to know and has countless applications both in STEM fields with regard to web development, artificial intelligence, machine learning, game development, and data analysis and in many other fields such as music and art software.

Long story short, while computer programming is very important, it is also extremely fun and rewarding. There are so many possibilities of things you can do with a general understanding of how to code, which you will hopefully come to learn through the exercises provided here. Have fun with learning C++, and if you ever get frustrated with not understanding a certain topic, we are here to help!

The distinction between programming and computer science

You may or may not know the difference between what is meant by the terms computer science and computer programming. It turns out that these two terms are not synonymous, and computer programming can be thought of as a sub-category of computer science. Basically, computer science is the study of computers and what they can do. This includes quantitative problem solving, algorithm analysis, machine architecture, discrete mathematics, and more. Programming is only one part of computer science that is more focused on implementing the solutions concerning the problems that are addressed in computer science. Let’s say, as an analogy, you are trying to build a house. The computer science part of the project would be aimed more toward the work that the architect would do: designing the blueprint for the house. Actually constructing the house would be analogous to the programming part of the project and is only one step in the process of building the house.

Algorithmic Thinking

The whole point of programming is to allow us humans to communicate with computers and make them do what we want them to do. This is done through the implementation of algorithms. You often use algorithms in your day-to-day life, but may not realize it. For example, you probably have a procedure for how you make a grilled cheese sandwich, a set of steps you take to get home from school, or an order in which you look for items in a grocery store. In each of these situations you are using an algorithm, a set of well-defined steps that can be executed in a defined order by a mechanism. For these examples, this mechanism would be you; however, in programming, the mechanism is the computer. Algorithms encompass these instructions and transform information from a valid input to a sensible output when they are executed. We can initially think of solving these computer-related problems using pseudo-code, a readable, detailed description of the logical steps that are required for the algorithm to accomplish its task, but this pseudo-code must eventually be translated into a programming language in order for a computer to understand and perform the desired operation. There are many different programming languages and each has a specific form that is needed to utilize when writing code, its syntax, so that it can translate our code into machine language. Once an algorithm is written in a programming language, it is called a program.

So, what is C++?

C++ is one of many high-level[1] languages spoken in the world of computer science. It is a well-known general programming language developed by the Danish computer scientist Barnje Stroustrup as an enhancement to the C programming language. He initially called this new language “C with Classes” as his goal was to create a language very similar to C, but with the addition of object-oriented programming which allows a user to create and use new data types that can have data and member functions associated with them. Eventually Stroustrup’s language was changed to the name C++ in 1983. This is most likely reflective of how he viewed it as a step up from C, considering that the ++ operator in C language increments a variable.

What will I be able to achieve by completing this activity?

The aim of this activity is to introduce you to the approach behind programming and many of its basic concepts by providing you with experience in C++. This activity is split into sections according to a specific concept relevant to the fundamentals of computer programming. Thus, by working your way through this document, you should gain experience with each idea which may be applied to any other languages you learn in the future. In this regard, the main focus here is not on learning the syntax of C++, but on the concepts, thinking, and approach to creating viable programs.


After completing this activity, you will:

 1 High-level means it is highly abstracted. It means it is very close to how humans speak. You can read about the history of coding languages here.