1. Introduction and Overview of C++, Object-Oriented Paradigm, Abstraction, Encapsulation and Type Systems
2. Basic Object-Oriented Concepts and Overloading in C++
(Assignment 1 - Part 1)
3. Inheritance in C++
(Assignment 1 - Part 2)
4. Templates and Exception in C++
(Assignment 1 - Part 3)
5. Midterm Exam – I
(Assignment 1 - Due)
6. Java vs. C++, Introduction to Java classes
7. Information Hiding - Interfaces, Inner classes, Anonymous classes, Abstract classes
8. Error and Exception-Handling
(Assignment 2)
9. Concurrency and Multi-Tasking - Multi-threading, Monitors, Synchronization
10. Midterm Exam – II
(Assignment 2 - Due)
11. Graphical User-Interfaces - Event-handling, MVC architecture
12. Input/Output
13. Interacting with Databases - JDBC
14. Persistency and Object-Serialization, Dynamic Type Identification - RTTI, Reflection
(Assignment 3)
15. Final Exam
(Assignment 3 - Due)