CPP as a second language

This ~4hr workshop will build on the previous C workshop and introduce the features that C++ adds.

Prerequisites

Schedule

Day 1 10:00 Introduction What will we do in this course?
Are we ready?
10:05 Where does C++ fit in? How does C++ compare to other languages?
What is C++ used for?
When should I use C++?
What is C++’s relationship to C?
10:13 First C++ program How do you create a C++ program?
10:23 Memory How do I allocate memory?
How do I free memory?
10:53 A first class What is a class?
How do you create a class?
How do you do use a class?
11:08 Break Break
11:18 Class member functions What is a class member function?
How do you create a class member function?
How do you call a class member function?
What data can class member functions access?
11:38 Function overloading What is function overloading?
What is the ‘this’ keyword?
11:48 Constructors and destructors Can class members be automatically initialized?
Are there different types of constructors?
Can resources be automatically freed?
12:08 Operator overloading Can we define operators for our classes?
Where can you define operators?
What operators can we define?
Does the order matter?
12:23 Lunch++ Break
14:00 Inheritance What is inheritance?
What is inheritance used for?
14:15 Virtual functions What is a virtual function?
What is polymorphism?
14:30 Abstract classes What makes a class abstract?
What are abstract classes used for?
14:45 Break Break
14:55 Using templates What are templates?
What is generic programming?
What is the STL?
How do you use the STL?
15:10 Making templates How do you use templates to create generic functions that work with any type?
What is a template parameter?
15:25 Wrapping up What else should I learn?
Where can I learn it?
15:27 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.