Advanced_object-oriented programming

1. Course Description

This course will provide a good understanding of basic concepts of object oriented program design, fundamental principles of abstraction, modularity and reusability. Also it introduces advanced topics in object-oriented programming with C++, such as dynamic memory allocation, various data structures, recursion, object-oriented design, data abstraction, information hiding, and complex/dynamic data structures. I believe this course will strengthen programming concepts and enrich intellectual and practical skill of the students.

2. Required Texts

- Signatures: Computer Science : A Structured Approach Using C++, 2nd Edition
- Author : Behrouz A. Forouzan & Richard F. Gilgerg
- Publication : Thomson Press
- Year of Publication : 2003

3. Course Evaluation 
- Mid-term Exam : 25%
- Final-term Exam : 25%
- Presentation : 10%
- Project : 30%
- Presence : 10%
The above scheme could be changed during the course.
4. Schedule 
1st Week    Introduction to Course 竊?Revised / MS Visual C++ Overall
2nd Week    Variables / Operators
3rd Week    Built-In and User-Defined Functions and Selection
4th Week    Concept of Loops and Arrays
5th Week    Pointer and Text I/O
6th Week    Object Oriented overall Concepts of 竊웒lass竊?
7th Week    Concepts of 竊웒lass竊?
8th Week    Structure Mid-term Examination
9th Week    More Class Features and Other Types
10th Week    Inheritance and Aggregation
11th Week    Template
12th Week    String
13th Week    Exception Handling
14th Week    Advanced File I/O
15th Week    Linked List
16th Week    Final Exam
5. Homework

I will assign homework/assignment during the lecture