OOP244 - Introduction to Object Oriented Programming
Semester | |
School | |
Last revision date | Jan 27, 2025 1:12:41 AM |
Last review date | Mar 17, 2025 12:15:13 AM |
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 CPP - Computer Programming (Ontario College Diploma)
Learning Outcomes
Upon successful completion of this subject the student will be able to:
- Design classes with dynamically allocated resources to model the components of a programming solution
- Design member functions using logic constructs to solve tasks of linear complexity
- Relate classes using inheritance hierarchies to minimize the duplication of object code
- Design polymorphic objects to amplify the reusability of program code
- Use stream objects to interact with users and access persistent data
- Trace the execution of object-oriented code to validate its correctness
- Code a complete program using polymorphic objects to solve a systems or business problem
- 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.
Academic Integrity
Seneca upholds a learning community that values academic integrity, honesty, fairness, trust, respect, responsibility and courage. These values enhance Seneca's commitment to deliver high-quality education and teaching excellence, while supporting a positive learning environment. Ensure that you are aware of Seneca's Academic Integrity Policy which can be found at: http://www.senecapolytechnic.ca/about/policies/academic-integrity-policy.html Review section 2 of the policy for details regarding approaches to supporting integrity. Section 2.3 and Appendix B of the policy describe various sanctions that can be applied, if there is suspected academic misconduct (e.g., contract cheating, cheating, falsification, impersonation or plagiarism).
Please visit the Academic Integrity website http://open2.senecac.on.ca/sites/academic-integrity/for-students to understand and learn more about how to prepare and submit work so that it supports academic integrity, and to avoid academic misconduct.
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@senecapolytechnic.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 Accessibility Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.
Camera Use and Recordings - Synchronous (Live) Classes
Synchronous (live) classes may be delivered in person, in a Flexible Learning space, or online through a Seneca web conferencing platform such as MS Teams or Zoom. Flexible Learning spaces are equipped with cameras, microphones, monitors and speakers that capture and stream instructor and student interactions, providing an in-person experience for students choosing to study online.
Students joining a live class online may be required to have a working camera in order to participate, or for certain activities (e.g. group work, assessments), and high-speed broadband access (e.g. Cable, DSL) is highly recommended. In the event students encounter circumstances that impact their ability to join the platform with their camera on, they should reach out to the professor to discuss. Live classes may be recorded and made available to students to support access to course content and promote student learning and success.
By attending live classes, students are consenting to the collection and use of their personal information for the purposes of administering the class and associated coursework. To learn more about Seneca's privacy practices, visit Privacy Notice.
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
To find out the cost of books and learning material go here.
Any courses not listed on the bookstore webpage do not require any resources for purchase. All resources will be provided by your instructor.
Reference Material
C++ How to Program (Also available on-line) (Reference)
Harvey & Paul Deitel; Prentice Hall; ISBN# 9780132662369
Student Progression and Promotion Policy
http://www.senecapolytechnic.ca/about/policies/student-progression-and-promotion-policy.html
Grading Policyhttp://www.senecapolytechnic.ca/about/policies/grading-policy.html
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.senecapolytechnic.ca/about/policies/academics-and-student-services.html) or at Seneca's Registrar's Offices. (https://www.senecapolytechnic.ca/registrar.html).
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% |