C++ and Java 3 hour course lectures from the Fall of 2022
Last updated 01/22/2023.
Lectures not specifically denoted as Java lectures are C++ material.
- Intro. This is syllabus material, etc., and shared between the Java and C++ classes.
- Terminology. Defines a few terms we'll use in other lectures.
- Objects. Note that the UML for Address probably shows the main function as a member of the Address class. It is not, and showing it as such is an error.
- Inheritance and virtual function calls.
- Hiding and statics.
- Constructors and destructors, and their call order.. Content after slide 26 will be more understandable after watching the References and parameter passing lecture below.
- Design patterns.
- The Singleton pattern.
- The Strategy pattern.
- A simple Factory pattern.
- Access levels and friends.
- Containers.
- References and parameter passing.
- Function resolution.
- Operator overloading.
- Templates.
- Casts and smart pointers.
- The Command pattern.
- Multithreading.
- Exceptions.
- The Observer pattern.
- The Adapter pattern.
- Multiple inheritance and the Class Adapter pattern.
- Java Objects, inheritance and virtual function calls.
- Java access levels, packages, parameter passing, function overloading.
- Java statics, abstract classes and interfaces.
- Java containers.
- Java exceptions, cloning and generics.
- Java multithreading.
- The Java JVM and reflection.
- Java garbage collection.
- LR values.
- Linkers and loaders.
- Namespaces.
- C++11 and 17 features.
- The Decorator pattern.
Purdue University School of Electrical Engineering