0% found this document useful (0 votes)
34 views

COMP1003 Object Oriented Programming 2021-2022

This document provides information about a Computer Science I course focused on object-oriented programming using Java. The course is offered at Clarence Fitzroy Bryant College to first year students in their second semester. It will introduce students to key concepts of OOP including classes, abstraction, inheritance, polymorphism, and exception handling. Students will learn to design, code, compile, and debug Java programs incorporating these OOP principles. Assessment will include assignments, projects, tests, and a final exam.

Uploaded by

Sasha Fox
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

COMP1003 Object Oriented Programming 2021-2022

This document provides information about a Computer Science I course focused on object-oriented programming using Java. The course is offered at Clarence Fitzroy Bryant College to first year students in their second semester. It will introduce students to key concepts of OOP including classes, abstraction, inheritance, polymorphism, and exception handling. Students will learn to design, code, compile, and debug Java programs incorporating these OOP principles. Assessment will include assignments, projects, tests, and a final exam.

Uploaded by

Sasha Fox
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

CLARENCE FITZROY BRYANT COLLEGE

DIVISION OF TECHNICAL AND VOCATIONAL EDUCATION


AND MANAGEMENT STUDIES

PROGRAMME: ACTI -Information Technology (A.A.S.)

COURSE TITLE: Computer Science I: Object Oriented Programming

COURSE CODE: COMP1003

LEVEL OF STUDENTS: YEAR 1

SEMESTER: Two

DURATION: 45 Hours

NO. OF CREDITS: 3

PRE-REQUISITES: IFTH1006

LECTURER: Mr. Wingrove Rouse [email protected]

RATIONALE

The field of object-oriented programming has grown in popularity since the advent of the
Internet. It is today a fundamental approach to programming (to which) all Information
Communication (ICT) students should be exposed. This course in object-oriented programming
has been included in the ICT programme of study for this very reason and it has been put
together in such a way that students will develop skills that are immediately applicable in the
working world, but also provides foundation knowledge that will allow them to matriculate and
do well in more advanced Computer Science degree programme.

DESCRIPTION/OVERVIEW

This course is designed to give the learner a working knowledge of the principles of object
oriented programming. It is also intended to provide students with the knowledge needed to craft
object-oriented solutions to problems and to implement the solutions using Java Topics covered

Page 1 of 8
will include an introduction to OOP, Classes and Abstraction, Friendship, Overloading,
Inheritance, Polymorphism and Exception Handling.

LEARNING OUTCOMES

Upon successful completion of this course, the learner should be able to:

1. Demonstrate the use of arrays and pointers in the solution of programming problems using
Java.
2. Explain the Object-Oriented Programming concept and can discuss the differences
between procedural and object oriented languages.
3. Demonstrate the ability to create and use classes within the Java programming language 4.
Demonstrate the ability to create, compile, and execute programs using the Object Oriented
design model.
5. Show an ability to program using important Java techniques, such as composition of
objects, operator overloads, dynamic memory allocation, inheritance and polymorphism,
file I/O, exception handling, templates, pre-processor directives, and basic data
structures.
6. Write programs using the full engineering power of Java including classes and objects,
encapsulation and information hiding, class inheritance, overloading of operators and
functions, template classes and functions, bitwise programming, I/O using streams, and
the use and management of external data files
7. Design and implement solutions to programming problems requiring up to five hundred
lines of code and multiple source code files.
8. Improve reliability, maintainability, and correctness of programs through software
engineering principles and techniques including component re-use, coding style, and use
of language features such as const, static, and namespace.
9. Use inheritance, polymorphism, and runtime binding to solve certain programming
problems
10. Analyse the appropriateness of OOP techniques for specific programming

problems. CONTENT

1. Introduction to OOP
● Basic concepts – information hiding, encapsulation, abstraction,
● Structured vs. OOP
● Data types – int, float, char, bool, double
● Type modifiers – long, short, const, static
● Operators and control structures
● Using functions and creation of user libraries

2. Classes and Abstraction:

Page 2 of 8
● Keyword class
● Class scope and access control
● Class data members – automatic, static, constant
● Constructors and destructors
● Class member methods – constant, static
● Access, mutate and utility functions
● Object instantiation – constant and regular
● Using class members through handles

3. Composition, Friendship, and this pointer:


● Composition data
● Purpose of friendship
● Friend functions and classes
● The ‘this’ pointer

4. Templates, Containers, and Iterators:


● Generic classes and functions
● Class and function templates specializations
● Container classes and iterators

5. The Concept of Overloading:


● Operator overloading – binary and unary
● Method overloading
● Overloading using friendship

6. Inheritance and Polymorphism:


● Introduction to Inheritance
● Basic terminology – base class, derived class, polymorphism.
● Base and derived classes
● Protected access
● Constructor and destructor in derived class
● Re-defining base-class members in derived classes
● Private, public, and protected inheritance
● Virtual and pure functions
● Abstract and Concrete classes
● Object pointers and polymorphism

7. Exception Handling:
● Introduction to exception handling
● Try blocks
● Throwing an exception

Page 3 of 8
● Catching, handling, and re-throwing an exception
TEACHING/LEARNING METHODOLOGIES

• Lecture/Tutorial

• Practical demonstrations

• Independent Work

• Demonstration

• Research

• Lab work

• Discussion

STUDENT ASSESSMENT/EVALUATION

Assignment 10%
Tutorial 10%
Projects/Labs 25%
Presentation/Exercise 10%
Test 10%
Mid-term 10%

Final Assessment 25%

Assessment Summary
Task / Assignment Due Date Time Weight Type Learning
No. & Name Outcomes

Test April 14 2:00 pm 10% Individual Units 1 to 5

Tutorial – March 31 2:00 pm 10% Individual -


Sololearn &
Codecademy

Java Project/Labs April 28 2:00 pm 25% Individual & Group TBD

Class Exercise TBD 2:00 pm 5% Individual TBD

Oral Presentations TBD 2:00 pm 5% Individual & Group TBD

Assignment April 7 2:00 pm 10% Individual Units 4 to 7

Mid-Term March 17 2:00 pm 10% Individual Units 1 to 3

Final Assessment May 2021 TBD 25% Individual / Structured Units 1 to 7


NB: Dates are subject to change

Page 4 of 8
CLASS PARTICIPATION:

• This course requires that all students participate in all class and group discussions,
presentations, and assignments.
• It is suggested that students form study groups to facilitate class preparation and optimize
performance on assignments and tests.
• Due to the Covid-19 pandemic, sometimes it would be necessary to have virtual classes.

CONTINUOUS ASSESSMENT

Students are responsible for all materials covered both in class and study assignments, including
research, lectures, and discussions. Students are encouraged to complete all assignments and
tests on the date stipulated. However, students will be allowed to re-take/make-up an assignment
or test to improve their score. The final assessment can only be taken ONCE. Letter grades will
be assigned as set out in the CFBC Catalog. Students failing to make 80% attendance for the
COURSE will receive an “F” grade.

Grades and GPA


95- 100 A+ 4.00
85- 94 A 3.75
80- 84 A- 3.67
75- 79 B+ 3.33
70- 74 B 3.00
65- 69 B- 2.75
60- 64 C+ 2.67
55- 59 C 2.33
50- 54 C- 2.00
45- 49 D+ 1.67
40- 44 D 1.33
0- 39 F 0.00

Honor Roll
3.00 – 3.39 Cum Laude
3.40 – 3.69 Magna Cum Laude
3.70 – 4.00 Summa Cum Laude

SCHEDULE
Topics Content Dates Assessment

Introduction to OOP Week 1 Class Discussion and


• Basic concepts –
Presentations
information hiding,

Page 5 of 8
encapsulation, January

abstraction, • Structured vs. 17 - 21


OOP
• Data types – int, float,
char, bool, double

Week 2 Class Discussion and


• Type modifiers – long,
Presentations
short, const, static
• Operators and control January
structures 24 - 28
Using functions and
creation of user libraries

Classes and Week 3 Class Discussion and


• Keyword class
Abstraction Presentations
• Class scope and access
control January
31 -
• Class data members – February
4
automatic, static,

constant • Constructors
and
destructors
Week 4 Problem Solving and
• Class member methods Class Discussion
– constant, static
• Access, mutate and utility February
functions 7 - 11
• Object instantiation –
constant and regular
Using class members
through handles

Composition, Week 5 Problem Solving and


• Composition data Class Discussion
Friendship, and
this pointer
• Purpose of friendship
February
• Friend functions and
14 - 18
classes

Week 6 Problem Solving and


• Composition data Class Discussion
• Purpose of friendship
February
• Friend functions and
classes

Page 6 of 8
21 - 25

Week 7
• The ‘this’ pointer

February
28 – March
4

Templates, Week 8
Containers, and • Generic classes and
Iterators functions
• Class and function March
templates specializations 7 - 11
Container classes and
iterators
Mid-Semester Exam Week 9 Multiple Choice &
Structured Questions

March

14 - 18

Mid-Semester Break Week 10

March

21 - 25

The Concept of Week 11 Codecademy &


• Operator overloading Sololearn Assignment
Overloading
– binary and unary Due
• Method overloading March 28 -
April 1
• Overloading using
friendship

Inheritance and Week 12 Assignment


• Introduction to Inheritance
Polymorphism
• Basic terminology – base
April
class, derived class,
polymorphism. 4-8
• Base and derived classes

• Protected access

• Constructor and destructor

Page 7 of 8
in derived class
Week 13 TEST
• Re-defining base-class
members in derived classes
• Private, public, and April

protected inheritance 11 - 15
• Virtual and pure

functions • Abstract and


Concrete classes
• Object pointers and
polymorphism

Exception Handling Week 14 Problem Solving and


• Introduction to exception Class Discussion
handling
• Try blocks April

• Throwing an exception 18 - 22

Week 15 Problem Solving and


• Catching, handling, and re Class Discussion
throwing an exception
April 25 - 29

FINAL ASSESSMENT May 2 - 27 Multiple Choice &


Structured Questions

Textbooks and References

Lewis, J., & Loftus, W. (2015). Java Software Solutions, Foundations of Program Design, 8th
Edition. Pearson Education Limited.

Page 8 of 8

You might also like