0% found this document useful (0 votes)
18 views18 pages

ITU07322 - OOP Module Guideline

Uploaded by

jackson lymo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views18 pages

ITU07322 - OOP Module Guideline

Uploaded by

jackson lymo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

INSTITUTE OF ACCOUNTANCY ARUSHA

MODULE GUIDELINE
MODULE : OBJECT-ORIENTED PROGRAMMING
CODE : ITU07322/ECU07321
FACILITATOR : KAANAEL MBISE
ACADEMIC YEAR : 2024/2025

Page 1 of 18
1. General Module Information

Module Name: Object-Oriented Programming

Module Code: ITU07322/ ECU07321

Semester: III

Level: Higher Diploma in Computer Science/Information


Technology/Education with Computer Science

Location: Arusha

Credits: 12

Contact Hours Lecture = 2, Practical =3, Assignment = 3


per Week:

Pre-requisite: None

Main Reference Deitel, H. M. & Deitel, P. J. (2014). Java: How to program. 10th
Book: Ed. Upper Saddle River, NJ: Pearson Education

2. Module Description

Object-oriented programming introduces OOP theories and techniques in developing


computer software. The module also equips students with techniques for writing robust,
good object-oriented and reusable codes which promote software development. The main
objective of the module is to equip students with an object-oriented programming
paradigm in developing computer software.

3. Aims, Objectives and Learning Context

3.1 Course Aims

Object-oriented programming will enhance the ability of students to use object-oriented


programming paradigms and other programming techniques in the development of
software. At the end of the course, students should be in a position to apply a fully
object-oriented programming paradigm to develop computer software.

Page 2 of 18
3.2 Learning Objectives

(i) Employ object-oriented programming concepts in constructing computer


software
(ii) Apply an object-oriented approach in writing, compiling and running
computer programs
(iii) Use error-handling techniques in writing fault-tolerant programs

3.3 Learning Context and Graduate Attributes

The module employs a variety of methods including formal lectures, practical sessions,
presentations, and assignments. Much work is lab practical sessions that encourage
students to master object-oriented coding style. There will be a strong emphasis on the
use of software development tools such as source editors, compilers, and web servers
as a means of discussing and debating the module content. Graduate attributes include
in-depth knowledge of the field of study, effective communication skills, deep and broad
technical experience, a passion for problem-solving, creativity, and confidence around
a computer.

4. Module Contents

Topic Sub-Topic Objectives Learning Assessment Activities


Outcome Methodology
4.1 Introduction 4.1.1 OOP 4.1.1.1 Describe Describe OOP 1. Group 1. Explain the
to Object- OOP principles and assignment advantages
Oriented 4.1.1.2 Identify concepts 2. Presentation that the OOP
Programming OOP 3. Practical test paradigm
concepts 4. Progress offers over the
tests structured
5. Semester programming
exams paradigm in
developing
software

2. Discuss in
detail object-
oriented
systems
analysis,
design, and
programming.

Page 3 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
4.1.2 Java 4.1.2.1 Write simple Use Java syntax 1. Group 1. Modify the
Java to write assignment Java first
applications applications 2. Presentation program so
3. Practical test that the
4. Progress program
tests displays your
5. Semester name.
exams
2. Write a
Java
application
that displays
the sum of two
integers.

4.1.3 Java 4.1.3.1 Use input Use operators in 1. Group 1. Write a


operators and output Java programs assignment Java
statements 2. Presentation application
4.1.3.2 Use Java 3. Practical test that obtains
operators 4. Progress two integers
tests typed by a
5. Semester user at the
exams keyboard,
computes the
sum of these
values and
outputs the
result.

2. Write an
application
that inputs
three integers
from the
keyboard and
prints the sum,
average,
product and
the biggest
number of
these
numbers.

Page 4 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
3. Write an
application
that asks a
user to enter
the radius of a
circle,
calculate the
area and
output the
result.
4.2 Introduction 4.2.1 4.2.1.1 Create Apply classes, 1. Individual 1. Create a
to Classes Classes and classes objects and assignment class called
and Objects Objects 4.2.1.2 Create methods in Java 2. Presentation Box that
objects applications 3. Practical test includes three
4.2.1.3 Use objects 4. Progress pieces of
4.2.1.4 Use tests information as
variables 5. Semester instance
4.2.1.5 Use exams variables – a
methods length, a width
and a depth.
Your class
should have a
constructor
that initializes
the three
instance
variables.
Provide a
method called
calculateVolu
me for
calculating the
volume of the
box. Write a
test
application
named
BoxTest that
demonstrates
class Box’s
capabilities.

2. Create a
class called
Arithmetic that
includes two

Page 5 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
pieces of
information as
instance
variables – a
number1 (type
float) and
number2 (type
float). Your
class should
have a
constructor
that initializes
the two
instance
variables.
Provide a
method called
add that
calculates the
sum of two
numbers.
Provide
another
method called
divide which
calculates the
quotient of the
two numbers.
Write a test
application
named
ArithmeticTest
that
demonstrates
class
Arithmetic’s
capabilities.

3. Create a
class called
Date that
includes three
pieces of
information as
instance
variables – a

Page 6 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
month, a day
and a year.
Your class
should have a
constructor
that initializes
the three
instance
variables and
assumes that
the values
provided are
correct.
Provide a set
and a get
method for
each instance
variable.
Provide a
method
displayDate
that displays
the month,
day and year
separated by
forward
slashes (/).
Write a test
application
named
DateTest that
demonstrates
class Date’s
capabilities.

4. Create a
class called
Invoice that a
hardware
store might
use to
represent an
invoice for an
item sold at
the store. An
Invoice should

Page 7 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
include four
pieces of
information as
instance
variables – a
part number
(type String), a
part
description
(type String), a
quantity of the
item being
purchased
(type int) and
a price per
item (double).
Your class
should have a
constructor
that initializes
the four
instance
variables.
Provide a set
and a get
method for
each instance
variable. In
addition,
provide a
method
named
getInvoiceAm
ount that
calculates the
invoice
amount (i.e.,
multiplies the
quantity by the
price per
item), and
then returns
the amount as
a double
value. If the
quantity is not

Page 8 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
positive, it
should be set
to 0. If the
price per item
is not positive,
it should be
set to 0.0.
Write a test
application
named
InvoiceTest
that
demonstrates
the class
Invoice’s
capabilities.
4.3 Control 4.3.1 4.3.1.1 Use if Use selection 1. Individual 1. Write a
Statements Selection statement statements as a assignment Java
statements programming 2. Presentation application
4.3.1.2 Apply technique 3. Practical test that checks
if…else 4. Progress whether the
statement tests number
4.3.1.3 Apply switch 5. Semester entered by the
statement exams user is odd.

2. Write a
Java
application
that divides
two numbers
but checks
whether the
divisor is not
zero.

3. Write a
Java
application
that accepts
input of
integers from
1 to 3 and
displays the
following
information
depending
message on

Page 9 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
the user's
input: 1 – Win,
2 – Draw and
3 - Lost. If the
input is out of
selection the
application
should display
“Invalid
selection, try
again”.

4.3.2 4.3.2.1 Use for loop Use repetition 1. Group 1. Write a


Repetition 4.3.2.2 Use while statements as a assignment Java
statements loop programming 2. Presentation application
4.3.2.3 Use technique 3. Practical test that displays
do…while 4. Progress even numbers
loop tests between 1 and
5. Semester 100.
exams
2. Write a
Java
application
that calculates
the sum of the
first 200
counting
integers.

3. Write a
Java
application
that uses
looping to print
the following
table of
values:

4.4 Arrays 4.4.1 Arrays 4.4.1.1 Declare, Use arrays to 1. Group 1. Write an
initialize, store multiple assignment application
and output values under the 2. Presentation that initializes
array same variable 3. Practical test all array
elements name

Page 10 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
4.4.1.2 Use variable 4. Progress elements to
length tests 10.00.
4.4.1.3 Compute 5. Semester 2. Write a
sum, exams Java
average of application
array that obtains
elements data from the
4.4.1.4 Determine keyboard and
the smallest writes it into
and largest an array.
elements of
all array 3. Write a
elements Java
application
that displays
all elements of
an array.

4. Write a
Java
application
that calculates
and displays
the sum and
average of all
elements of an
array.

5. If the float
array numbers
are initialized
as follows:
float []
numbers = {
50, 10, 20, 60,
120, 90 };
write an
application
that displays
the smallest
and largest
elements in
the float array
numbers.
4.5 Inheritance 4.5.1 4.5.1.1 Use extends Use inheritance 1. Individual 1. Create a
Inheritance keyword to promote assignment class called

Page 11 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
4.5.1.2 Access software 2. Presentation Box that
superclass development 3. Practical test includes three
members 4. Progress pieces of
with super tests information as
from a 5. Semester instance
subclass exams variables – a
4.5.1.2 Use length, a width
constructors and a depth.
in Your class
inheritance should have a
hierarchies constructor
that initializes
the three
instance
variables.
Provide a
method called
calculateVolu
me for
calculating the
volume of the
box. Create
another called
class
WeightBox
that inherits
from class
Box. The class
WeightBox
contains one
additional
piece of
information as
an instance
variable –
weight. Write
a test
application
named
WeightBoxTes
t that
demonstrates
class
WeightBox’s
capabilities.

Page 12 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
2. Draw an
inheritance
hierarchy for
students at a
university. Use
Student as the
superclass of
the hierarchy,
and then
extend
Student with
classes
Undergraduat
eStudent and
GraduateStud
ent. Continue
to extend the
hierarchy as
deep (i.e., as
many levels)
as possible.
After drawing
the hierarchy,
write a test
application
called
StudentTest
that creates
objects of
each class
(Student,
Undergraduat
eStudent and
GraduateStud
ent) and tests
their member
methods.
4.6 Exception 4.6.1 4.6.1.1 Use try Write fault- 1. Group 1. Write a
Handling Exception blocks to tolerant assignment Java
Handling delimit code programs 2. Presentation application
in which 3. Practical test that prompts
exceptions 4. Progress the user for
might occur tests two integers,
4.6.1.2 Use catch 5. Semester calculates the
blocks to exams quotient, and
specify prints the

Page 13 of 18
Topic Sub-Topic Objectives Learning Assessment Activities
Outcome Methodology
exception quotient. The
handlers application
4.6.1.3 Use throw to uses
indicate a exception
problem handling so
that if the user
makes a
mistake, the
program
catches and
deals with the
exceptions
that arise – in
this case,
allowing the
user to try to
enter the input
again.
References 1. Deitel, H. M. & Deitel, P. J. (2014). Java: How to program. 10th Ed. Upper Saddle
River, NJ: Pearson Education
2. Horstmann, C. S. (2015). Core Java Volume I Fundamentals. 10th Ed. Upper Saddle
River, NJ: Pearson Education.
3. Wu, C. (2009). An Introduction to object-oriented programming with Java. New York
City, NY: McGraw-Hill Higher Education
4. Bloch, J. (2008). Effective Java: Programming language guide. Upper Saddle River,
NJ: Addison-Wesley
5. Mohan, P. (2013). Fundamentals of Object-Oriented Programming in Java. Scotts
Valley, CA: CreateSpace Independent Publishing Platform

5. Assessment Plan

5.1 Enabling and Sub-Enabling Outcomes


Enabling Outcome Sub-enabling Outcomes

5.1 Use object-oriented programming 5.1.1 Employ object-oriented programming


paradigm in developing computer software concepts in constructing computer software

5.1.2 Apply object-oriented approach in writing,


compiling and running computer programs

Page 14 of 18
Enabling Outcome Sub-enabling Outcomes

5.1.3 Use error handling techniques in writing


fault-tolerant programs

5.2 Specification of Competencies


Sub-enabling Outcomes and Competences to be Tasks Assessed
Related Tasks Assessed Under CA and SE

Wider Attributes
Understanding
Knowledge

Skills

CA=50% SE=50%

5.1.1 Employ object-oriented


programming concepts in
constructing computer software

Related Tasks:

(a) Explain object-oriented  


programming concepts

(b) Describe object-oriented  


programming language

(c) Explain the construct of object-  


oriented programming language

Page 15 of 18
Sub-enabling Outcomes and Competences to be Tasks Assessed
Related Tasks Assessed Under CA and SE

Wider Attributes
Understanding
Knowledge

Skills
CA=50% SE=50%

Sub-enabling Outcome:

5.1.2 Apply object-oriented


approach in writing, compiling and
running computer programs

Related Tasks:

(a) Use classes in writing object-   


oriented programs

(b) Use objects in object-oriented   


programs

(c) Apply control statements in  


object-oriented programs

(d) Use arrays in object-oriented  


programs

(e) Use inheritance to promote  


code reuse

Sub-enabling Outcome:

5.1.3 Use error handling


techniques in writing fault-tolerant
programs

Page 16 of 18
Sub-enabling Outcomes and Competences to be Tasks Assessed
Related Tasks Assessed Under CA and SE

Wider Attributes
Understanding
Knowledge

Skills
CA=50% SE=50%

Related Tasks:

(a) Identify exceptions in object-  


oriented programs

(b) Use throw clause to throw  


exceptions in object-oriented
programs

(c) Apply exception handling  


methods to catch exceptions in
object-oriented programs

6. Delivery Methods and Learning Materials


The delivery methodologies include formal lectures, lab practical sessions, group
discussions, and group presentations. Major learning materials to be used include
text and reference books, journal articles, lecture notes and handouts. Other learning
materials include handouts and PowerPoint presentations, case studies and Internet
resources.

7. Integrated Method of Assessment


The assessment instruments to be used in this module include continuous
assessments (class tests, quizzes, group and individual assignments) and end of
semester examination.

Page 17 of 18
Coursework 50%
End of semester examination 50%

Learning Materials
Required Reading List

1. Deitel, H. M. & Deitel, P. J. (2014). Java: How to program. 10th Ed. Upper Saddle
River, NJ: Pearson Education

2. Horstmann, C. S. (2015). Core Java Volume I Fundamentals. 10th Ed. Upper


Saddle River, NJ: Pearson Education.

Recommended Reading

1. Wu, C. (2009). An Introduction to object-oriented programming with Java. New


York City, NY: McGraw-Hill Higher Education

2. Bloch, J. (2008). Effective Java: Programming language guide. Upper Saddle


River, NJ: Addison-Wesley

3. Mohan, P. (2013). Fundamentals of Object-Oriented Programming in Java. Scotts


Valley, CA: CreateSpace Independent Publishing Platform

Page 18 of 18

You might also like