Q1303 – Advanced Object Orienter Programming
Mario Giannini – Mario@openroad.org
Text
The Beginners Guide to C++ by Oleg Yaroshenkso |
Recommended Text
The C++ Programming Language Third Edition,by Stroustrup Excellent reference of latest standard |
|
The C++ Standard Library : A Tutorial and Reference
by Nicolai M. Josuttis More detail and practical use of the Standard Templete Library |
|
Inside the C++ Object Model by Stanley B. Lippman Object design and model strategies, from the C++ viewpoint |
Exams
1 take home midterm, and 1 final exam taken in class. |
Homework
Handed in on printout, no disks or emails unless specifically asked for or agreed to by the instructor. |
Grading
Grading is broken down as follows: Midterm/Final 60% Grades are broken down as follows: 100 = A+, 99 to 95=A, 94 to 85=B, 85 to 75=C, 74 to 65=D, below 65=F No 'upgrades' will be permitted for homeworks, or assignments unless previously agreed upon with instructor. No more than two homework assignments will be accepted from a student on the final day of class. A grade of 'incomplete' must be requested by students two weeks prior to the final exam. A grade of incomplete is granted at the instructors discretion, taking into account the students grade average and ability to complete class assignments. |
Incompletes
Grades of incomplete are almost non-existent. |
Class 1 |
Introduction Review of programming concepts (Using C) and structures Introduction to OOP Why OOP Stages of programming: Tasks, Functions, Objects Development Stages Identify the job at hand Modeling after the real world Representing Relationships and Objects |
Class 2 |
Changes from C in C++ cin and cout Data declarations C items to avoid using C as a subset of C++ Objects Behavior Interaction Classification Polymorphism Inheritance/Hierarchy |
Class 3 |
Classes Declaration Constructors Destructors Copy constructors Function interaction Object Oriented Programming Abstraction Encapsulation Information Hiding Messaging |
Class 4 |
Classes (continued) Static/Class-Common data Other class types: Pointers, arrays this C++ Memory management new and delete constructor/destructor invoking |
Class 5 |
Object Oriented Programming Structured Analysis and Design Phases of Project Development Analyse Design Implement Test Common stages of design (1 to 2 to 3 then back to 2) |
Class 6 |
Class Inheritance Constructors Controlling the Scope of Methods Visibility Issues Multiple Inheritance Object Oriented Programming Inheritance benefits and draw backs |
Class 7 |
Operator Overloading Return values Temporary class creations Arithmetic operators Data conversions Midterm Assigned |
Class 8 |
Friends Friend classes and functions Virtual Functions Virtual functions Pure virtual functions Abstract Classes Object Oriented Programming The Booch method |
Class 9 |
Files and I/O Streams Text Modes Reading and writing class instances Random access files |
Class 10 |
Class Types: Exceptions The Exception Mechanism Exceptions vs. Standard Error Handling Non-error Exceptions Error Recovery |
Class 11 |
Templates Function Templates Class Templates Inheritance Using Templates Object Oriented Programming Testing Procedures Class Testing and self-testing Integration Testing Testing Cycle |
Class 12 |
Containers Constructing and Maintaining a Class Library Object Oriented Programming Managing Object-Oriented Projects Risks |
Class 13 |
Templates, STL Templates vs. Classes Template Usage Template Definitions Simple Array Template |
Class 14 |
Templates, STL Continued Standard C++ Library Standard Template Library (STL) Review for Final |
Class 15 | Final Exam |