0% found this document useful (0 votes)
54 views9 pages

Approved OOP Scheme of Work

The document outlines the course details for Object Oriented Programming (COS 2101) at the School of Mathematics and Computing, including its justification, description, learning outcomes, assessment methods, and course content. The course focuses on teaching students the principles of object-oriented programming using Java, with an emphasis on practical skills such as software development, debugging, and design techniques. A comprehensive reading list is also provided to support the course material.
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)
54 views9 pages

Approved OOP Scheme of Work

The document outlines the course details for Object Oriented Programming (COS 2101) at the School of Mathematics and Computing, including its justification, description, learning outcomes, assessment methods, and course content. The course focuses on teaching students the principles of object-oriented programming using Java, with an emphasis on practical skills such as software development, debugging, and design techniques. A comprehensive reading list is also provided to support the course material.
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/ 9

Ggaba Road, Kansanga. PO BOX 20000 Kampala, Uganda.

COURSE OUTLINE & SCHEME OF WORK Website: http://www.kiu.ac.ug

School/College: School of Mathematics and Computing


Department: Computer Science
Course Name: Object Oriented Programming
Course Code: COS 2101
Course Level: Bachelors
Credit Units: 3
Contact Hours: 60
Lecturer(s): Dr. Adekunle Olugbenga Ejidokun

Justification for the Course:


The object-oriented programming paradigm has been used in many projects to build complex software systems. This course provides students with the opportunity to
acquire skills for building software based on the object-oriented programming paradigm. Java is the language used in this course.

Course Description:
This course explores the concepts of object-oriented programming. It provides students with basic skills required for building software based on the object-oriented
paradigm using selected language.

Learning Outcomes
At the end of this course, students should be able to:
1. Explain the principles of the object-oriented programming paradigm specifically including abstraction, encapsulation, inheritance, and polymorphism

2. Demonstrate the understanding and application of Object-oriented design techniques for software development using a programming language like Java

“Exploring the Heights”


3. Use an object-oriented programming language, and associated class libraries, to develop object-oriented programs

4. Design, develop, test, and debug programs using object-oriented principles in conjuncture with an integrated development environment

5. Construct appropriate diagrams and textual descriptions to communicate the static structure and dynamically applied to an object-oriented solution.

Mode of Assessment
Continuous assessments tests 20%

Group and individual project (course work) 20%

Final University Examination 60%

Total 100%

“Exploring the Heights”


COURSE CONTENT AND LEARNING OBJECTIVES
Course Learning Objectives SCHEME OF
Content/Topic WORK
Cognitive Affective Psychomotor Lecture Methods Media Week Hours
No.
1. Introduction • What is object-oriented • Students will appreciate • Students will be able to • Class • Overhead 1. 3 hrs
to Object programming? the importance and understand the principles of • Discussions projectors
Oriented • Why do we need object- benefits of object- object-oriented programming • Demonstrations • Whiteboard
Programming oriented programming oriented programming • Presentations
• Characteristics of object- (OOP) in modern
oriented languages software development,
• Compare procedural and recognizing why it is
object-oriented programming needed over procedural

• Describe the features of the programming.

Java programming language • Students will develop an


interest in understanding
and utilizing the
characteristics and
features of object-
oriented languages,
particularly Java, in their
programming practices.

“Exploring the Heights”


2. Java • History of Java, Java comments, Student will appreciate and Students will physically type code, • Class • Overhead 2. 3 hrs
programming Java keywords, Data types, understand the way java navigating an IDE, to run Java • Discussions projectors
basics • Declare and use constants and handles various user inputs applications. • Demonstrations • Whiteboard
variables. Scope and Lifetime of • Presentations
variables.
• Use integer, boolean, floating-
point, char data types
• Analyze a Java application that
produces console output
• Use the Scanner class to accept
keyboard input

3. Java • Plan decision-making logic These statements are crucial Student should be able to use • Class • Overhead 3. 3 hrs
programming • Make decisions with the if and for implementing logic that decision-making statements to help • Discussions projectors
basics- Decision if…else statements makes the program more your program decide what actions • Demonstrations • Whiteboard
Making • Use multiple statements in if and dynamic and responsive to to take based on certain conditions, • Presentations
if…else clauses different scenarios. allowing for dynamic and flexible

• Use AND and OR operators program behavior.

• Make accurate and efficient


decisions
• Use the switch statement

4. Java • Describe the loop structure Student will learn how to use Student should be able to • Class • Overhead 4. 3 hrs
programming • Create while loops loop to facilitate iteration of accurately code, test and debug • Discussions projectors
basics- Looping • Create for loops the statements till the loops • Demonstrations • Whiteboard
• Create do…while loops specified condition becomes • Presentations
false.

“Exploring the Heights”


5. Methods • Understanding Method calls and • Understanding Method • Adding Parameters to Methods • Class • Overhead 5. 3 hrs
Placement calls and Placement • Creating Methods that return • Discussions projectors
• Understanding Method • Understanding Method values • Demonstrations • Whiteboard
Construction Construction • Creating Methods that do not • Presentations
• Understanding main method • Understanding the main return values
• Adding Parameters to Methods method
• Creating Methods that return
values

6. Objects, • Learning about Classes and Student would understand the • Creating a Class • Class • Overhead 6. 3 hrs
Classes, and Objects concept of Classes and • Creating instance methods in a • Discussions projectors
packages • Creating a Class Objects class • Demonstrations • Whiteboard
• Creating instance methods in a • Declaring Objects and using • Presentations
class their methods
• Declaring Objects and using
their methods
• Describe packages

7. Arrays • Declare an array Developing a positive • Physically writing code to • Class • Overhead 7. 3 hrs
• Initialize an array attitude towards using arrays declare an array in a • Discussions projectors
• Use variable subscripts with an for efficient data handling programming language. • Demonstrations • Whiteboard
array and understanding their value • Coding to initialize an array • Presentations
• Declare and use arrays of in programming. with specific values or default
objects values.
• Implementing and
manipulating array elements
using index values in code.

“Exploring the Heights”


8. Strings/ • Identify string data problems Developing a positive • Writing code to declare string • Class • Overhead 8. 3 hrs
Operator • Declare and compare String attitude towards the objects and implementing • Discussions projectors
Overloading objects importance of correctly logic to compare them, • Demonstrations • Whiteboard
• Use a variety of String methods managing strings to ensure whether for equality, ordering, • Presentations
• Operator Overloading program reliability, or other purposes.

• Types of Operators That Can Be efficiency, and user • Actively coding to utilize
Overloaded experience. different string methods (e.g.,
concatenation, substring
extraction, searching,
replacing) in practical
programming tasks.
9. CAT CAT CAT CAT CAT CAT 9. CAT
CAT
10. Constructor • An Introduction to Using Developing a positive attitude • Writing code to define • Class • Overhead 10 3 hrs
Constructors towards using constructors constructors with parameters • Discussions projectors
• Create and call constructors with effectively to ensure that to initialize object attributes, • Demonstrations • Whiteboard
parameters objects are properly and creating instances of • Presentations
• Use the ‘this’ reference initialized and to maintain the objects by passing arguments
integrity of the code. to these constructors.
• Implementing the ‘this’
reference in code to refer to
the current object, allowing for
clear and unambiguous access
to the object's instance
variables and methods.
11. Inheritance • Describe the concept of Developing a positive • Writing code to create a • Class • Overhead 11 3 hrs
and and visibility inheritance attitude towards the use of derived class that extends a • Discussions projectors
modifiers • Derived class and base class inheritance to create more base class, incorporating • Demonstrations • Whiteboard
• Extend classes

“Exploring the Heights”


• Override superclass methods modular, maintainable, and inherited properties and • Presentations
• Call constructors during reusable code structures. behaviours.
inheritance • Coding to override methods in
• Access superclass methods a derived class to modify or
• Employ information hiding extend the functionality

• Describe which methods you provided by the base class.

cannot override • Implementing constructor


calls in derived classes to
ensure proper initialization of
both the derived and base class
members.
• Writing code to explicitly call
superclass methods from a
derived class, ensuring that
base class behaviour is
invoked when necessary.

12.. • Introduction to Encapsulation • Developing a positive • Writing code to create and • Class • Overhead 12 3 hrs
Encapsulation • Access Modifiers attitude towards using implement getter and setter • Discussions projectors
and • Getter and Setter Methods encapsulation to protect methods, providing controlled • Demonstrations • Whiteboard
polymorphism • Introduction to Polymorphism data and maintain a clean access to private fields while • Presentations • Flipcharts
• Method Overloading (Compile- and clear class interface, maintaining encapsulation.

time Polymorphism) valuing its role in • Practicing the creation of

• Method Overriding (Run-time enhancing code security overloaded methods with

Polymorphism) and maintainability. different parameter lists,


• Recognizing and valuing implementing compile-time
the importance of polymorphism to achieve
polymorphism in designing function overloading.

“Exploring the Heights”


adaptable and modular • Implementing method
software systems, leading overriding in derived classes to
to more flexible and customize or extend the
maintainable code. behavior of base class methods,
practicing run-time
polymorphism to achieve
dynamic method dispatch.
13. Exception • Describe exceptions Developing an appreciation • Writing code to implement try • Class • Overhead 13 3 hrs
handling • Try code and catch exceptions for exception handling as a and catch blocks to handle • Discussions projectors
• Throw and catch multiple means to improve program exceptions, demonstrating the • Demonstrations • Whiteboard
exceptions robustness and reliability, ability to catch and manage • Presentations
• Use the finally block understanding its role in errors in a controlled manner.

• Appreciate the advantages of maintaining smooth program • Implementing code that throws
exception handling execution and user and catches multiple types of

• Specify the exceptions that a experience. exceptions, demonstrating the

method can throw ability to handle different error


conditions effectively.
• Coding with the finally block to
ensure that certain cleanup
actions are performed regardless
of whether an exception was
thrown or not.
14. File input • Describe computer files Developing an appreciation • Writing code to utilize the Path • Class • Overhead 14 3 hrs
and output • Use the Path and Files classes for the flexibility and and Files classes for file • Discussions projectors
• Describe file organization, efficiency that random access operations, such as manipulating • Demonstrations • Whiteboard
streams, and buffers files provide for certain file paths and performing file • Presentations • Flipcharts
• Use Java’s IO classes to write to applications, such as those I/O operations.
and read from a file requiring quick access to • Implementing file I/O operations
data. using Java’s I/O classes (e.g.,

“Exploring the Heights”


• Create and use sequential data FileInputStream,
files FileOutputStream,
• Appreciate using random access BufferedReader,
files BufferedWriter) to read from
and write to files.

15. Presentations • Presentations • Presentations • Presentations • Presentations • Presentations 15 3 hrs

16. Revision Revision Revision Revision Revision Revision 16 -


17. Exams Exams Exams Exams Exams Exams 17 -
18. Exams Exams Exams Exams Exams Exams 18. -

READING LIST
1) Farell, J. (2023). Java Programming, 6. Auflage, Course Technology, Cengage Learning, USA.
2) Murach, J. (2015). Murach's Java Programming. Mike Murach & Associates.
3) Charatan, Q., & Kans, A. (2006). Java in two semesters. McGraw-Hill.
4) Harvey M. Deitel and P. J. Deitel (2007). Java How to Program, 7th Edition-Prentice Hall
5) Malik D. S. (2003). Java Programming: From Problem Analysis to Program Design. Course Technology, Cengage Learning, USA.
6) Liang, Y. D. (2003). Introduction to Java programming. Pearson Education India.
7) Object Oriented Programming through Java, P. J. Radha Krishna, Universities Press.
8) Thinking in Java, Bruce Eckel, PE
9) Programming in Java, S. Malhotra and S. Choudhary, Oxford Universities Press.

“Exploring the Heights”

You might also like