Skip to main contentSkip Navigation or Skip to Content
Thompson Rivers University
Thompson Rivers University

COMP 3141: Object-Oriented Design and Programming

This course introduces students to object-oriented design and programming. Upon completion, students should have a good understanding of object oriented design and programming including understanding and developing console-based applications in C++, Visual C++ applications and an introduction to Microsoft Foundation Classes (MFC) and inter-object communication. Students will be able to design and develop systems using object-oriented design and programming methodologies in console and Windows-based applications. They will also have an introductory knowledge base in MFC that will allow them to analyze and use these library functions in application development.

Learning outcomes

  • To apply object-oriented design and programming using current Visual C++ programming language.
  • To solve problems and obtain a foundation for future programming courses using an object oriented design and programming methodology.

Course topics

  • Introduction to C++ and working with C++ environment
  • Understanding C++ classes and objects
  • Understanding conditions, loops, and functions in C++
  • Understanding and manipulating arrays in C++
  • Exploring pointer manipulation in C++
  • Exploring constructors, destructors, and friend functions in classes
  • Understanding the concept of overloading
  • Understanding inheritance in object-oriented programming
  • Understanding inheritance and polymorphism in object-oriented programming
  • Managing data files in C++
  • Performing exception handling on C++
  • Exploring new features of C++ 11 standard

Required text and materials

The following materials are required for this course:

Deitel, P. and Deitel, H. (2017) C++ How to Program, 10th Edition. Pearson
Type: Textbook: ISBN: 978-0-13-444823-7

Additional requirements

  • Adobe PowerPoint reader
  • Code: Blocks software, which is available for free download.


Please be aware that should your course have a final exam, you are responsible for the fee to the online proctoring service, ProctorU, or to the in-person approved Testing Centre. Please contact with any questions about this.

To successfully complete this course, students must achieve a passing grade of 50% or higher on the overall course, and 50% or higher on the final mandatory exam.

Programming Assignment 1 10%
Quiz 1 5%
Journal 1 5%
Programming Assignment 2 10%
Programming Assignment 3 10%
Journal 2 5%
Quiz 2 5%
Project 10%
Final Exam (mandatory) 40%

Open Learning Faculty Member Information

An Open Learning Faculty Member is available to assist students. Students will receive the necessary contact information at the start of the course.

Search To Top