Programming Stream BTP200 Subject Outline
Revision as of 17:23, 10 June 2012 by Chris Szalwinski (talk | contribs)
Proposed Changes
Modes Of Instruction
Remove
Two hours interactive lecture per week, and two hours activity-based learning per week (four hours total)
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)
Proposed Subject Outline
Course Description
This subject introduces the principles of object-oriented programming. Students learn to design and build reusable objects, making use of encapsulation, polymorphism and inheritance as available in the C++ programming language. The emphasis throughout is on an object-oriented approach to the solution of small problems.
Credit Status: 1 credit in the BSD program.
Prerequisite
BTP100
Corequisite
Modes Of Instruction
Two hours interactive lecture per week, and two hours activity-based learning per week (four hours total)
Specific Outcomes
Upon successful completion of this subject students should be able to:
design and create C++ code that requires the use of sequential file access, dynamic memory allocation, robust user input and formatted program output
methodically test and debug C++ programs
use operating system utilities to edit, compile and run C++ programs
compose technical program documentation for C++ programs using internal comments
adhere to object-oriented programming principles including encapsulation, polymorphism and inheritance when writing program code
trace the execution of C++ program logic to determine what a program does or to validate the correctness of a program
analyze small problems, which lend themselves to a programming solution, and design and code C++ programs that solve those problems, reusing previously written objects and modules when appropriate and designing new objects when appropriate
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 namespaces Foundations - 20% Structures Walkthroughs on Structures Enhancements to C New Keywords Template Style 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 - December 2011 Edition by Chris Szalwinski found in the Seneca Bookstore.
Reference
BTP200 Web Notes by Chris Szalwinski