Linux Basics What is Unix? How do I access my ugrad account? What are basic Unix commands? How do you copy to local, zip files, and perform I/O redirect?
Tools What are common Emacs shortcuts? How do you use gdb to debug programs? What is valgrind and how do you use it?
Basics of C How do you print? What are the data type placeholders? What are variables and constants? What are common data types? How do you read formatted input?
Control Flow What are logical operators? How do you use if and else statements and switch gates? What are ways to loop?
Functions How do you write functions? What are the math functions? How do you add command-line arguments?
Separate Compilation What are header files? How do compile and link separately? What are make and Makefile?
Multi-Dimensional Arrays How do you declaration a multidimensional array? How do you use one as a function parameter?
Memory What are execution stacks? What is dynamic allocation and how do you use it? How do you dynamically allocate two-dimensional arrays?
Pseudo Random Numbers How do pseudo-random integers work? How do you generate a random integer and floating point within a certain range?
Welcome to C++ What is different about C++ and what are its features and concepts? How to compile? How to use C++ libraries? What are namespaces
STL Containers What are the commonly used STL containers? What are templates? What are vectors, maps, pairs, and tuples? What are the types of iterators?
Constructors and Destructors What are constructors and destructors? What is the difference between default constructors and non-default constructors?
Overloading What is function overloading? What is operator overloading and how do I define one as an instance method? What is a copy constructor? What is the friend keyword?
Inheritance What is relationship created by inheritance? How do you declare a derived class? What happens to the constructor and destructor in a derived class?
Dynamic dispatch What is the memory layout of a simple class? When does objecting slicing occur? How does virtual work? How to use the override keyword?
Function Hiding and Abstract Classes When is a function hidden? What are pure virtual functions? What are abstract classes?
Exceptions What are exceptions? What does the exception class consist of? What are the keywords to use? What is unwinding? How do you make custom exceptions?