CS 304-3
Advanced Object-Oriented Programming
Catalog Description
Advanced features of object-oriented programming are covered in depth. The topics covered include, but are not limited to, the following: polymorphism, inheritance, operator overloading, generic programming, exception handling, file I/O, GUI development. A group project is an integral part of the course.
Prerequisite:
220 with a grade of C or better.
Objectives
1.To learn object oriented-programming in C++.
2.To learn some advanced program design techniques.
3.To learn some advanced programming techniques.
4.To improve one's ability to program sophisticated solutions to difficult problems.
Course Outline
| Lectures | ||
| The following is not necessarily intended as a sequential ordering. | ||
| 1. | Major differences between Java and C/C++
Boolean data type Unsigned numeric data types Assignment expressions Interpretation of logical true and false Arrays C-style strings (null terminated strings) Definition of classes Input/output Preprocessor directives Storage classes Scope rules Struct and union Enumerations Pointers Memory management (new and delete) References Typedef Const keyword Default arguments Friends (functions and classes) Name spaces Multiple inheritance |
9 |
| 2. | Polymorphism
Virtual functions Types of inheritance |
3 |
| 3. | Operator Overloading
Characters (cctype library) C-style strings (cstring library) The string class |
6 |
| 4. | Character and String Processing
Characters (cctype library) C-style strings (cstring library) The string class |
3 |
| 5. | Templates
Template functions The Standard Template Library Containers Iterators Generic Algorithms |
5 |
| 6. | Exception Handling
Try, throw, catch Examples |
2 |
| 7. | File Processing
Sequential files (creating, reading, updating) Random access files (creating, writing randomly, reading randomly, reading sequentially) |
3 |
| 8. | GUI Development with MFC
Introduction to the Microsoft Foundation Classes Event-driven programming Building GUI applications |
9 |
| Total | 40 | |
| Recommended Software | ||
| Microsoft Visual C++ | ||