For Better Performance Please Use Chrome or Firefox Web Browser

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.

Prerequisites: 

Computer Algorithms and Programming Fundamentals.

Grading Policy: 

Midterm Exam (theory 60%, coding 40%): 5 pts.

Final Exam (theory 40%, coding 60%): 8 pts.

Exercises and Laboratory: 3 pts.

Course Project: 3 pts.

Class Activities: 2 pts.

(Total: 21 pts)

Time: 

11:00-12:30 Sunday, Tuesday

Term: 
Fall 2019
Grade: 
Undergraduate

تحت نظارت وف ایرانی