Open main menu

CDOT Wiki β

Changes

Programming Stream BTP200 Subject Outline

5,150 bytes added, 17:40, 10 June 2012
Created page with '=Proposed Changes= ==Modes Of Instruction== Remove Two hours interactive lecture per week, and two hours activity-based learning per week (four hours total) Repl…'
=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