Programming Stream OOP244 Subject Outline

From CDOT Wiki
Revision as of 17:35, 10 June 2012 by Chris Szalwinski (talk | contribs) (OOP244 Draft Subject Outline)
Jump to: navigation, search

Summary of Proposed Changes

Modes Of Instruction

Remove

   4 hours interactive lecture per week.
  

Replace with

   Three hours interactive lecture per week, and one
   hour activity-based learning per week (four hours total)



Specific Outcomes

Remove

   analyze functional descriptions of small objects,
   which require the use of such technologies as sequential
   file access, dynamic memory allocation, robust user input
   and formatted program output, and design and create the
   C++ code that implements those specifications

Replace with

   design and create C++ code that requires the use of
   sequential file access, dynamic memory allocation,
   robust user input and formatted program output

Topic Outline

Remove

   Under Foundations
     Pointers and Arrays (out)
     Under Enhancements to C
       New Style of Comments (out)
       Type Casting Can Look Like a Function (out)
       Variable Definitions Permitted Anywhere (out)
   Programming Techniques (out completely)

Change percentages

   Foundations - 20%
   Inheritance - 25%
   Polymorphism - 20%

Add

   Under Foundations
     after Keywords
     Template style casts
   Under Inheritance
     after
     Derived Classes with Resources (present)
     fstream Classes (new)
   Under Polymorphism
     after
     Kinds ... (present)
     add   Parametric Polymorphism (new)
     under Inclusion Polymorphism (present)
     after   Polymorphic Objects (present)
     add     Abstract Base Classes (new)
   ISO Standard (full topic now)
     template style casts
    

Reference

Add

   OOP244 Web Notes by Chris Szalwinski


The Revised Subject Outline

Course Description

   This subject introduces students to object oriented programming concepts.
   Students will learn to build reusable objects, making use of encapsulation,
   polymorphism and inheritance in the C++ programming language. Throughout
   the subject, the emphasis will be on using object-oriented approaches to
   solving problems.

Credit Status: 1 credit in the CPA / CPD program.

Prerequisite

   IPC144

Corequisite

Modes Of Instruction

   Three hours interactive lecture per week, and one
   hour activity-based learning per week (four hours total)

Additional Instruction

Specific Outcomes

   Upon successful completion of this subject students should be able to:
       Use pointers and dynamic memory allocation in C++ classes
      
       Recognize and use object oriented programming constructs to write
       object oriented programs
      
       Walkthrough the execution of a C++ program
      
       Edit, compile and run C++ programs
      
       Describe encapsulation, polymorphism and inheritance
      
       Create and modify objects using C++ classes
      
       Determine the appropriate objects required to solve a programming
       problem


Employability Skills

   This course will cover the following employability skills as outlined by
   the Government of Ontario:
       Execute mathematical operations accurately
       Apply a systematic approach to solve problems
       Manage the use of time and other resources to complete projects

Topic Outline

   Introduction - 10%
       Objects and Classes
       Encapsulation
       Inheritance
       Polymorphism
       Modular Programs
   Foundations - 20%
       Structures
       Walkthroughs on Structures
       Enhancements to C
           New Keywords
           Template Sytle Casts
           Function Prototypes Required
           Reference Parameters
           Function Overloading
           Methods and Privacy
       iostream Input and Output Objects
       Dynamic Memory Allocation Using New and Delete
   Encapsulation - 25%
       Classes
       Constructors and Destructors
       The Current Object
       Operator Overloading
       Helper Functions
           Friends
       Custom iostream Operator Overloading
       Classes with Resources
   Inheritance - 25%
       Base and Derived Classes
       Protected Members
       Shadowing
       Constructors and Destructors
       Derived Classes with Resources
       fstream Classes
   Polymorphism - 20%
       Kinds of Polymorphism
       Parametric Polymorphism
       Inclusion Polymorphism
           Virtual Methods
           Polymorphic Objects
           Abstract Base Classes
   ISO Standard

Prescribed Text

   Introduction to C++ for C Programmers - 2011 Edition by Chris Szalwinski found in the Seneca Bookstore.

Reference

   OOP244 Web Notes by Chris Szalwinski