CPP as a second language

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



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

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