Programming Stream OOP244 Subject Outline
Programming Stream | Market Demand | Course Content | Work in Progress | Members | Issues
Redirect to Curriculum Review 2012 Overview Page
Discussion Contact - Ian Tipson or Chris Szalwinski
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 Proposed 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