CS202 Programming Systems

Summer 2013

(the following outline is subject to change!)

 

Introduction

 

Date:         Topic:                                                             Reading/Projects:

6/26           Introduction                                                   **Login to D2L

Objectives of the Course                                (For a Review of C++

                  Discuss expectations                           examine Prata Ch 1-8)

                  Review Outline

 

Object Oriented Design: Concept

 

                  Topic #1 Responsibility Driven Design      

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: Set and Get functions! Responsibilities.

 

 

Advanced C++ Concepts: Syntax

 

7/3             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/10                       Topic #4 Dynamic Binding,              Prata Chapter 13

                  Run Time Type Identification                     Lecture Notes #7

 

                  User Defined Conversions                Lecture Notes #8

 

Namespaces                                       Prata Chapter 9

 

  Email Program #1 - Due 7/9

 

 

Building User Defined Data Types

 

7/17           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

 

 

Email Program #2 - Due 7/19

 

7/24           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

 

 

 

      Email Program #3 - Due 7/30

 

 

 

 

 

Midterm in-class 7/31

 

Preparation for the Upper Division Classes

 

7/31           Comparison of Languages using OOP       

Compare Java and C++

 

 

Email Term Papers - Due 8/6

 

 

 

Introduction to Java

 

8/7             Learning Java 

                  Walk through examples projects using Java and C++

                              Discuss Garbage Collection

                 

                  Analyze OOP solutions

 

                  Prepare for the Final Exam

 

 

 

 

Comprehensive Final Exam                   August 14th      5:30pm-7:20

 

Email - Programs #4-5 Due 8/16

**** NO LATE PROGRAM’s Allowed after this date****