F-VTDI-VP-CO-3.
Vocational Training Development Institute
School of Applied Technology
Information and Communication Technology Department
Associate Degree in ICT
COURSE OUTLINE
Introduction to Object Oriented Programming l CS260
75 hours, 3 credits
Semester: 1 Academic Year: 2020-21 Programme: Associate Degree in
ICT
Lecturer: Doron Williams
Lecturer Email: Tel:
Contact Info.: Dwilliams1b@vtdi.edu.jm 1-345-927-0923
Class Sessions: Day(s) Time Room Group (if
applicable)
Modality Face to Face Blended Online
Pre-requisite
COURSE DESCRIPTION
This course examines the object-oriented programming paradigm, in which computer programs
are viewed as a collection of independent objects that collaborate to achieve some goal. It gives
students the opportunity to design, critique and implement object-oriented solutions. At the end
of this course, the student will be able to analyze a given situation, formulate an object-oriented
design, and then finally produce an object-oriented program in C++.
September 2020 1
F-VTDI-VP-CO-3.0
At the end of this course, students will be able to:
• Identify
• The course is designed to provide complete knowledge of importance of
Object-Oriented Programming through C++ and to enhance object-oriented
the programming skills of the students by giving practical programming
and difference
assignments to be done in labs.
between
• To learn how to write functions for efficiency and procedural and
I,II,VIII
performance object-oriented
• To understand how C++ improves C with object-oriented programming
features
features
• To learn the syntax and semantics of the C++ programming
language
ALIGNED PROGRAMME LEARNING OUTCOMES *
• Setup classes
• To learn how to design C++ classes for code reuse and
• To learn how to implement copy constructors and class demonstrate the
4 Pillars of OOP I,II,III,VIII
member functions
Designs
• To understand the concept of data abstraction and
encapsulation
COURSE OBJECTIVES
• To learn how to overload functions and operators in C++ • Understand the
• To learn how inheritance and virtual functions implement uses of inbuilt
dynamic binding with polymorphism and custom
• To learn how to design and implement generic classes with defined I,II,III,VIII
Functions &
C++ templates Classes
• To learn how to use exception handling in C++ programs
• Demonstrate an
understanding
of Overloading I,II,III,VIII
and Overriding
• Apply Generics
and Collections
in an OOP I,II,III,VIII
Language
• Use Exception
Handling and
Defensive
Programming in I,II,III,VIII
OOP
September 2020 2
F-VTDI-VP-CO-3.0
EMPLOYABILITY SKILLS
At the end of this course, students should be able to:-
• Work as software developers using any modern object oriented programming language
• Apply analytical Skills
• Apply problem Solving
• Work harmoniously as a team
• Manage time effectively
• Communicate well with peers and lecturers
• Exhibit good Interpersonal relationships
EXPECTATIONS OF STUDENTS
To aid their successful completion of this course, students are expected to: -
• Attend all classes
• Complete all practical assignments
• Prepare their personal machines with requisite software of use that provided by the institution
• Complete assigned readings
COURSE SCHEDULE
COMPETENCIES ASSIGNMENT
LESSONS (What students are required to accomplish at the SCHEDULE
WEEK end of each lesson) (Dates for submission
& receipt of
Assignments)
MODULE 1: Introduction to
Object Oriented Programming • Differentiate between procedural and
object-oriented programming
LESSON 1 – Procedural • Benefits of Object-Oriented Programming
Programming, Object Oriented • Classes & Objects
Programming, Class Structures • Setup & Installation
as fundamental building blocks,
• Write your first program (output text)
Benefits of Object-Oriented
1 Programming, Introduction to C++ • Anatomy of a program
Programming • Understanding the compiler and runtime
Students will be able to differentiate between
OOP and procedural approaches in addition to
setting up a development environment to write
programs in C++
• Data Types
• Variables,
2 • Constants & Literals
• Variable scope
September 2020 3
F-VTDI-VP-CO-3.0
COMPETENCIES ASSIGNMENT
LESSONS (What students are required to accomplish at the SCHEDULE
WEEK end of each lesson) (Dates for submission
& receipt of
Assignments)
• Operators
LESSON 2 – Basic Syntax • Keywords/Comments
• Input/output
• Type Conversion
• Control Flow Statements
• Decision making (if-else/switch conditional
statements)
• Iterations/Loops (for, while, do-while)
• Jump statements (break, continue, go to)
• Functions: reusable blocks of code,
recursive
• Headers and Prototypes
Students will write a series of small programs to
understand these building blocks of
programming
LESSON 3 – Data Structures &
Collections • Standard Template Library (STL)
• Arrays: Size of ()
• Linked Lists
ASSESSMENT &
• Vectors
3 • Structs ASSIGNMENT 1
• Pointers GIVEN
• References
Students will be able to understand different
ways of storing information and implement
them in a program
MODULE 2: Classes – • Setup a class
Abstraction, Encapsulation, • Data Members - Properties & Methods
Inheritance, Polymorphism • Constructors – default,
• Access modifiers
LESSON 4 – Writing Classes, • Setup getters
Abstraction, Encapsulation • Setup setters
4 • Apply method overloading
• Member functions
• Interpret UML class diagrams
Students will explore Objects & Classes and
how to implement object characteristics and
behaviour
September 2020 4
F-VTDI-VP-CO-3.0
COMPETENCIES ASSIGNMENT
LESSONS (What students are required to accomplish at the SCHEDULE
WEEK end of each lesson) (Dates for submission
& receipt of
Assignments)
LESSON 5 – Inheritance,
• Inheritance Hierarchies
Polymorphism, Virtual Functions • Constructor Inheritance
• Run time & complie time polymorphism ASSESSMENT &
• Virtual Functions
ASSIGNMENT 2
5 • Friend Functions
GIVEN
Differentiate and overload the Unary & binary
operators using member functions & non-
member friend functions
MODULE 3: Generics, Files &
Streams • Function Templates
• Overloading Function Templates &
LESSON 6 – Class Templates, Operators
6 • Class Templates
Function Templates, Operator
• Non-Type Parameters
Overloading • Generics
Write a generic program implementing the
concept of class & function templates
LESSON 7 – File Opening/Closing, • Ofstream
Get & Put Stream positioning • Ifstream
7 • Fstream
• Get/put stream positioning
Writing programs using I/O Streams
• Binary files
• Text files
• State flags
ASSESSMENT &
• File seek/read
LESSON 8 – Binary & Text Files
8 • File closed ASSIGNMENT 3
GIVEN
Implement data manipulations like storing,
reading, or updating data to/from a file to an
application
• Buffer full
LESSON 9 – Buffers & • Explicitly w/manipulators
9 Synchronization • Explicitly w/function sync ()
September 2020 5
F-VTDI-VP-CO-3.0
COMPETENCIES ASSIGNMENT
LESSONS (What students are required to accomplish at the SCHEDULE
WEEK end of each lesson) (Dates for submission
& receipt of
Assignments)
MODULE 4: Exception Handling,
Defensive Programming • Basic Exception Handling
• Uncaught exceptions
10 • Rethrowing exceptions
LESSON 10 – Exception Handling
Students will begin to understand different
types of exceptions and how to handle them
LESSON 11 – Defensive
• Function try/catch blocks
Programming • Custom Exception messages
FINAL ASSIGNMENT
11 Students will appreciate being able to handle GIVEN
bugs in a program gracefully by preventing
program crashes and providing useful feedback
for users.
LESSON 12 – Exception Dangers and
Downsides • Dangers of exception handling
12 • Examples
Students will learn where and how to
implement exception handling in their code
LESSON 13 – Revision
13 Revision
14 STUDY BREAK
15 FINAL ASSESSMENT PERIOD
ASSESSMENT STRATEGY
Module Assessment Weighting
Module 1: Group Project – Write/Develop Software Program 100%
Module 2: Group Project – Write/Develop Software Program 100%
Module 3: Individual Test 100%
Module 4: Group Project – Write/Develop Software Program 100%
September 2020 6
F-VTDI-VP-CO-3.0
REFERENCE MATERIAL
Object-Oriented Programming in C++, Fourth Edition - Robert Lafore
www.learncpp.com
www.cplusplus.com/
September 2020 7