CS202
Programming Systems
Fall
2012
(the following outline is subject to change!)
Introduction
Date: Topic: Reading/Projects:
9/25 Introduction **Login
to Desire 2 Learn
Objectives for the course
(For a Review of C++
Discuss expectations examine Prata Ch 1-8)
Review Outline
What is Object Oriented Design?
Examples of how Abstraction can help
Identifying and Assigning Responsibilities
Determining Collaborations and Identifying their Purpose
Examining Relationships between Classes
Implementing the Design: Terminology &
Concept
Inheritance
Polymorphism
Measuring the Quality of the Design
Alternatives?
Common Design Flaws
Advanced C++ Concepts: Syntax
10/2 Topic #2 Remember C++... Lecture Notes #1
Data Abstraction vs. Prata Chapter 10
Object
Oriented Programming
10/4 Topic #3 Introduction to Inheritance Prata Chapters 13-14
Terminology, Single Inheritance
Multiple and Virtual Inheritance Lecture Notes #5, 6
10/9 Topic #4 Dynamic
Binding, Prata
Chapter 13
Run Time Type
Identification Lecture
Notes #7
10/11 User Defined Conversions Lecture Notes #8
Namespaces
Prata Chapter 9
Building User Defined Data Types
10/16 Topic #6 C++ Dynamic Memory Issues & Operator Overloading
Constructors
allocating memory Lecture
Notes #2
Destructors
and Dynamic memory
Copy Constructors
Dynamically allocated objects
10/18 Operator Overloading Prata Chapter 11
Rules, Guidelines Lecture Notes #3, 4
Rvalues, Modifiable Lvalues
Constant References
Constant
Member Functions
The Behavior of Objects
Constant Objects, Logical Constness
10/23 Topic #5 Exception
Handling Prata Chapter 15
Topic
#7 Friends, Nesting, Static Members Lecture
Notes #9
10/25 Template Functions and Classes Lecture Notes #10, 11
10/30 Prepare for Midterm
Midterm and Proficiency Demonstrations – October 30th through
November 3rd
Demonstrations are required to pass
this class. They may be performed early –
whenever you feel confident with the material. Times for the Midterm and
Demonstrations should be available the third week of the term (once PSU
provides classrooms).
Preparation for the Upper Division
Classes
11/6, 11/8 Comparison of Languages using OOP
Compare Java and C++
Introduction to Java
11/13, 11/15 Learning Java
Walk through examples projects using Java and C++
Discuss
Garbage Collection
11/20 Analyze OOP
solutions
Examine OOP solutions and design OOP alternatives in class
11/27 Prepare for the Final Exam
11.29 Review
Email Term Papers - Due 11/30
Email - Program #5 12/6
**** No Late Program #5’s Accepted ****
Tuesday December 4th 10:15-12:05 Comprehensive
Final Exam
Alternate exam times will be announced
FINAL Demonstrations COMPLETED by 12/7
Demonstrations
are required to pass this class. They may
be performed early – whenever you feel confident with the material.