ITU07322 - OOP Module Guideline
ITU07322 - OOP Module Guideline
MODULE GUIDELINE
MODULE : OBJECT-ORIENTED PROGRAMMING
CODE : ITU07322/ECU07321
FACILITATOR : KAANAEL MBISE
ACADEMIC YEAR : 2024/2025
Page 1 of 18
1. General Module Information
Semester: III
Location: Arusha
Credits: 12
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
Page 2 of 18
3.2 Learning Objectives
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
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.
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”.
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
Page 14 of 18
Enabling Outcome Sub-enabling Outcomes
Wider Attributes
Understanding
Knowledge
Skills
CA=50% SE=50%
Related Tasks:
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:
Related Tasks:
Sub-enabling Outcome:
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:
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
Recommended Reading
Page 18 of 18