CS202
Programming Systems
Summer
2012
(the following outline is subject to change!)
Introduction
Date: Topic: Reading/Projects:
6/28 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
Topic #2 Remember C++... Lecture Notes #1
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
7/5 Topic #4 Dynamic Binding, Prata Chapter 13
Run Time Type
Identification Lecture
Notes #7
User Defined Conversions Lecture Notes #8
Namespaces
Prata Chapter 9
Required Lab Time ***BRING a LAPTOP, NETBOOK,
or Tablet. If
you do not have access to your own device, then make arrangements with your
instructor so that one will be provided during this lab session. 24 hour
advanced notice is required.
·
Demonstration: Dynamic Binding
· Explore Applying Dynamic Binding and build OO Designs
Building User Defined Data Types
7/12 Topic #6 C++ Dynamic Memory Issues & Operator Overloading
Constructors
allocating memory Lecture
Notes #2
Destructors
and Dynamic memory
Copy Constructors
Dynamically allocated objects
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
Required Lab Time
***BRING a LAPTOP, NETBOOK, or Tablet. If
you do not have access to your own device, then make arrangements with your
instructor so that one will be provided during this lab session. 24 hour
advanced notice is required.
·
Demonstration: Operator Overloading and
Copy Constructors
· Explore Applying Operator Overloading in hierarchical designs
7/19 Topic #5 Exception
Handling Prata Chapter 15
Topic
#7 Friends, Nesting, Static Members Lecture
Notes #9
Template Functions and Classes Lecture Notes #10, 11
Prepare for Midterm
Required Lab Time
***BRING a LAPTOP, NETBOOK, or Tablet. If
you do not have access to your own device, then make arrangements with your
instructor so that one will be provided during this lab session. 24 hour
advanced notice is required.
·
Explore Exception Handling and OOP
Preparation for the Upper Division
Classes
7/26 Watch Optional
Video: Comparison of Languages using OOP
Compare Java and C++
Introduction to Java
8/2 Learning Java
Walk through examples projects using Java and C++
Discuss
Garbage Collection
Optional Lab Time
***BRING a LAPTOP, NETBOOK, or Tablet. If
you do not have access to your own device, then make arrangements with your
instructor so that one will be provided during this lab session. 24 hour
advanced notice is required.
· Eclipse Demonstration
· Introductory Java Worksheet
8/9 Analyze OOP solutions
Examine OOP solutions and design OOP alternatives in class
Required Lab Time
***BRING a LAPTOP, NETBOOK, or Tablet. If
you do not have access to your own device, then make arrangements with your
instructor so that one will be provided during this lab session. 24 hour
advanced notice is required.
· Examine OO Solutions
· Design OO Alternatives
Prepare for the Final Exam
Email Term Papers - Due 8/17
Email - Program #5 8/14
**** No Late Program #5’s Accepted ****
Thursday August 16th 5:30-7:20 Comprehensive
Final Exam