OOP244 - Introduction to Object Oriented Programming

Outline info
Semester
School
Last revision date 2017-11-21 11:07:09.786
Last review date 2017-11-21 11:07:31.79


Subject Title
Introduction to Object Oriented Programming

Subject Description

This subject introduces the student to object-oriented programming. The student learns to build reusable objects, encapsulate data and logic within a class, inherit one class from another and implement polymorphism.  This subject uses the C++ programming language exclusively and establishes a foundation for learning system analysis and design and more advanced concepts as implemented in languages such as C++, Java, C# and Objective-C.

Credit Status
1 credit (3 units)
Required for CPA - Computer Programming and Analysis (Ontario College Advanced Diploma)
Required for CPD - Computer Programmer (Ontario College Diploma)

Learning Outcomes
Upon successful completion of this subject the student will be able to:

  1. Design classes with dynamically allocated resources to model the components of a programming solution
  2. Design member functions using logic constructs to solve tasks of linear complexity
  3. Relate classes using inheritance hierarchies to minimize the duplication of object code
  4. Design polymorphic objects to amplify the reusability of program code
  5. Use stream objects to interact with users and access persistent data
  6. Trace the execution of object-oriented code to validate its correctness
  7. Code a complete program using polymorphic objects to solve a systems or business problem
  8. Explain the purpose of an object-oriented programming feature to inform a business person

Essential Employability Skills
Execute mathematical operations accurately.

Apply a systematic approach to solve problems.

Use a variety of thinking skills to anticipate and solve problems.

Locate, select, organize, and document information using appropriate technology and information systems.

Analyze, evaluate, and apply relevant information from a variety of sources.

Take responsibility for one's own actions, decisions, and consequences.

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

Discrimination/Harassment
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Prerequisite(s)
IPC144 or C Programming Experience  

Topic Outline
Introduction to Object Oriented Programming Concepts                    5%

  • Comparison of OOP and Structured Programming
  • Encapsulation
  • Inheritance
  • Polymorphism

Structures in C                                                                                                 10%
  • Brief review of C
  • Named data  members
  • Declaring structures
  • Defining structure variables
  • Passing structure variables

C++ Classes                                                                                                     25%
  • member functions 
  • public vs. private members
  • functions that are friends to one class
  • instantiation and constructors
  • destructors 


C++ Enhancements                                                                                          20% 
  • new rules 
  • new style of comments
  • function prototypes required
  • variable declarations permitted anywhere
  • type casting can look like a function
  • function overloading
  • operator overloading
  • reference parameters
  • dynamic memory allocation using new and delete
  • iostream library routines for input and output
    • customizing iostream-style I/O for non-standard classes

Inheritance                                                                                                          20%
  • Base and derived classes 
  • Virtual member functions
  • Protected members

Programming Techniques                                                                                   10%
  • reinforcements of techniques from IPC144
    • parameter passing, including use of pointers
    • sequential file access
    • use of arrays
    • use of character strings
    • multiple source file programs
    • introduction to Object Oriented analysis and design

Mode of Instruction
In this subject, students will learn through class lectures, assignments, reading assignments, lab sessions, tests and structured walk-thrus.
This course is also offered on-line for Distant Learning students. Please see addendum.

It is the student's responsibility to save documents, articles and notes that the instructor has provided on BlackBoard or in class. Students will not be able to access BlackBoard as of the last day of the student’s class.

Prescribed Texts
Object-Oriented Programming  in C++, 4th edition 
by Robert Lafore, SAMS
ISBN#9780672323089 

Introduction to C++ for C Programmers
December 2011 Edition
Chris M. Szalwinski
0-00419-1108

Reference Material
C++ How to Program (Also available on-line)      (Reference)
Harvey & Paul Deitel; Prentice Hall; ISBN# 9780132662369

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
OR
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.


Modes of Evaluation
Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation.

Assignments

  • Students must retain a duplicate of all assignments.
  • Computer assignments should be documented to the instructor's standards.
  • Assignments must be handed in on the scheduled due date. Late assignments are penalized.
  • For particulars, please obtain standards, dates, etc. from your instructor.

Absenteeism and Tests
  • Students should be aware that absenteeism will impact on their ability to achieve satisfactory grades.
  • If you miss a test, you must provide the reason in writing to the instructor prior to the next scheduled class. If your reason is accepted, you will be permitted to write a make-up test. Otherwise, you will be given a zero for the test. You must submit an original doctor’s certificate identifying the date, length of time of expected absence and the specific reason for your absence, or other appropriate documentation.

Term Work and Final Exam
  • Students must attain a combined grade of at least 50% on term work and the final exam. Students must pass the final exam in order to pass the subject. 
  • For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices.

Grading is based on the following marking scheme:

Assignments 20%
Lab 10%
Tests 40%
Final Exam 30%


For on-line course:

Students taking this course through the internet will need their own Internet access, Pentium 200 or higher, Windows 95 or higher, Netscape 7 or Internet Explorer 6 or higher, full internet access including an activated Seneca email address.


Student taking this course through correspondence or 
through internet must have their own computer with 
C++ Compiler. 


Marking scheme for internet subjects is as follows:

Assignments 35%
Tests/Quiz 15%
Participation 15%
Final Exam 35%

Approved by: Denis Gravelle