CS202
Programming Systems
Fall
2013
(the following outline is subject to change!)
Introduction
Week: Topic: Reading/Projects:
Week #1
10/1 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
10/3 Implementing the Design: Terminology &
Concept
Inheritance
Polymorphism
Measuring the Quality of the Design
Alternatives?
Common Design Flaws
Advanced C++ Concepts: Syntax
Week #2
10/8 Topic #2 Remember C++... Lecture Notes #1
10/10 Data Abstraction vs. Prata Chapter 10
Object
Oriented Programming
Topic #3 Introduction to Inheritance Prata Chapters 13-14
Terminology, Single Inheritance
Multiple and Virtual Inheritance Lecture Notes #5, 6
Copy Constructors
Week #3
10/15 Topic #4 Dynamic
Binding, Prata
Chapter 13
10/17 Run Time Type
Identification Lecture
Notes #7
User Defined Conversions and Exception
Handling
Week #4
10/22 Topic #4 User
Defined Conversions Lecture
Notes #8
10/24 Topic #5 Exception Handling Prata
Chapter 15
Namespaces
Prata Chapter 9
Building User Defined Data Types
Week #5
10/29 Topic #6 C++ Dynamic Memory Issues & Operator Overloading
Constructors
allocating memory Lecture
Notes #2
Destructors
and Dynamic memory
10/31 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
Prepare for Midterm
C++ Proficiency
Week #6
Midterm and
Proficiency Demonstrations – 11/8
Demonstrations
are required to pass this class and are by appointment. Watch your pdx.edu
email for an appointment schedule. Times
for the Online Student Midterm and Proficiency Demonstrations should be
available after the third week of the term.
Students will be
demonstrating C++, data structures, and gdb at the midterm
demonstration. All students should be fluent with either vi
or vim.
Introduction to Java
Week #7
11/12, 11/14 Learning Java (attendance is optional)
Walk through examples projects using Java and C++
Discuss
Garbage Collection
Object Oriented Programming in Practice
Week #8
11/19, 11/21 Analyze OOP solutions (attendance is optional)
Examine OOP solutions and design OOP alternatives in class
11/26 Examining OO
solutions in Java
***NO CLASS
on 11/28 and 11/29 (Thanksgiving) – PSU is Closed
Preparation for the Upper Division Classes
Week #10
12/3, 12/5 Topic #7 Friends,
Nesting, Static Members Lecture
Notes #9
Template Functions and Classes Lecture Notes #10, 11
Comparison of Languages using OOP
Prepare for the Final Exam
Email Term Papers - Due 12/6
Final’s Week
Proficiency Demonstrations take place by
appointment during finals week. Demonstrations
are required to pass this class.
They
may be performed early – whenever you feel confident with the material.
Comprehensive Final Exam:
·
In-Class
Student Final Exam: Thursday December 12th 10:15-12:05
·
Online Student exam times will be announced after
7th week
Email - Program #5 6/11 **** No Late Program #5’s
Accepted ****