C++ Tutorials

This year we are not spending any class time lecturing on C++. We have found that this is not a particularly good use of time. Most people do not really learn C++ until they start coding with it, and spending valuable lecture time on it prevents us from covering more important topics.

Instead, this year you will be learning most of your C++ from the initial individual activities. However, we do not expect you to go in cold. We have provided you with several tutorials to get you started.

Table of Contents


Cornell Tutorials

The videos below were created for the fully online year of Spring 2021. Click on a link to watch the video (Cornell Netid required). We do apologize about the quality of these videos. These are not the professional, YouTube style videos that we made for 1110. For the most part it is your instructor talking through slides. That is because we chose to focus on improving the game engine technology, and not on making the fanciest videos possible.

1. C++ Basics

This is our first lesson on C++. In this lesson we go into the basics, and show how the various IDEs compile and link your programs.    Watch ›

41:11 minutes slides demos

2. C++ Classes

This is our second lesson on C++. In this lesson we finally get into the object-oriented features of C++. But we also cover advanced topics like templates and closures.    Watch ›

40:19 minutes slides demos

3. C++ Memory

This is our final lesson on C++. In this lesson we finally talk more about memory in C++. We get into the details of how smart pointers work and how to use (and not use) them.    Watch ›

48:20 minutes slides demos

4. Debugging

In this short lesson, we will talk about debugging. While we assume that most of you know how to debug, it is not a given that you know how to debug in C++. There are some special techniques to leverage for this language.    Watch ›

26:10 minutes slides no demos

5. Optimization & Profiling

In this video we will talk about how to optimize your code. As mobile devices are not quite a powerful as full computers, this is an important step before you start to distribute your application.    Watch ›

44:34 minutes slides no demos

External Tutorials

If these tutorials are not enough for you, there is a wealth of material online. The following are the two sites we recommend the most.

CPlusPlus.com

The name says everything. This comprehensive website is a good collection of API documentation and tutorials. It is my goto when I need to look up something about a standard library class.

Tutorial’s Point

If CPlusPlus.com is too overwhelming, this is a much simpler tutorial designed for pure beginners. It is presented in the same foramt as many HTML tutorials. However, it takes a long time to get anywhere interesting.

CPPReference

This is the official C++ documentation. Think of it as the equivalent of Oracle’s Java API. There are not really any tutorials here, but this is the complete documentation of what each language feature does.