Advanced Computer Programming with C++

In this course we learn Object-Oriented Programming (OOP) with C++ to augment the efficiency, reusability, functionality and readability of our programs. We also learn how to work with popular libraries to do GUI, multi-thread and socket programming.

Main topics in the course are presented as follows:

-Weeks #1 and #2: A review on C.

-week #3: Procedural programming languages vs. OOP, Introduction to C++ and its features, C vs. C++, data hiding, encapsulation.

#Week #4 and #5: Classes, Objects, Access Specification, Composite Classes, Static members, constant members, Class interface and multi-file codes.

#Week #6: Copy Constructor, Function Overloading, this pointer, reference operator.

#Week #7: Generic Programming, Template functions, Template Classes.

#Week #8 and #9: Operator Overloading.

#Week #10: Object-Oriented Design.

#Week #11: Inheritance.

#Week #12: Polymorphism and dynamic typing in C++.

#Week #13: GUI programming with Qt.

#Week #14: Exception handling in C++.

#Week #15: Input\Output with iostream and fstream.

#Week #16 and #17: Standard Template Library.

#Week #18: Multi-thread programming, Socket Programming.

https://people.iut.ac.ir/en/mouzarani/advanced-computer-programming-c