FACULTY OF COMMERCE
BACHELOR OF MANAGEMENT INFORMATION SYSTEMS
1. PRESENTED TO : Senate
2. PRESENTED BY : School of Commerce
3. YEAR/LEVEL OF STUDY : 3
4. MODULE TITLE : Object Oriented Programming
5. MODULE CODE : OOP321
6. DURATION : 16 Weeks
7. LECTURE HOURS PER WEEK: 2
8. TUTORIAL HOURS PER WEEK: 1
9. STUDENT INDEPENDENT LEARNING HOURS PER WEEK: 4
10. TOTAL MODULE CREDITS: 12
11. PREREQUISITE MODULES: OOA222
12. COREQUISITE MODULES: None
13. DELIVERY METHODS:
13.1 Mode of Delivery : Face to Face
13.2 Teaching Methods : Lectures, case studies, demonstration and tutorials
13.3 Assessment Methods : Continuous assessment
: Mid and Final examinations
13.4 Assessment Weighting : Continuous assessment 10%
: Mid Semester examination 30%
: Final examination 60%
14. AIM(S) OF THE MODULE:
The aim of this module is to equip the learner with skills and knowledge for developing a
system using the Object-Oriented Approach.
15. LEARNING OUTCOMES:
On completion of this module a learner should be able to:
a) Explain the principles of Object-Oriented Programming.
b) Design and implement classes and objects.
MCA/OOP/321/110323
c) Implement inheritance, polymorphism, encapsulation, and abstraction in
programming.
d) Write modular and reusable code using Java programming language.
e) Design and implement simple graphical user interfaces (GUI) using Swing library.
f) Implement multithreading and synchronization.
g) Apply good programming practices such as testing, debugging, and documentation..
16. TOPICS OF STUDY:
16.1 Introduction to Object-Oriented Programming
a. Object-Oriented Programming Paradigm
b. Classes and Objects
c. Encapsulation
d. Inheritance
e. Polymorphism
16.2 Classes and Objects in Object-Oriented Programming
a. Defining a Class in Java
b. Creating Objects from a Class
c. Class Constructors
d. Class Attributes and Methods
e. Access Modifiers
16.3 Inheritance in Object-Oriented Programming
a. Define Inheritance
b. Superclasses and Subclasses
c. Inheriting Attributes and Methods
d. Overriding Methods
e. Accessing Superclass Methods and Attributes
f. Multiple Inheritance
16.4 Polymorphism in Object-Oriented Programming
a. Define Polymorphism
b. Polymorphism with Inheritance
c. Polymorphism with Interfaces
d. Method Overloading
e. Method Overriding
f. Abstract Classes
16.5 Encapsulation in Object-Oriented Programming
a. Define Encapsulation
b. Private, Protected, and Public Access Modifiers
c. Benefits of Encapsulation
d. Examples of Encapsulation in Practice
e. Encapsulation Best Practices
MCA/OOP/321/110323
16.6 Exception Handling in Java
a. Define Exceptions
b. Types of Exceptions
c. Handling Exceptions with try-catch Blocks
d. Throwing Exceptions
e. Best Practices for Exception Handling
16.7 Packages and Libraries in Object-Oriented Programming
a. Define Packages and Libraries
b. Creating Packages
c. Importing Packages and Libraries
d. Using External Libraries
e. Best Practices for Packages and Libraries
16.8 GUI Programming with Java
a. Introduction to Java GUI Programming
b. Java Swing Framework
c. Components of Java Swing
d. Creating a Java GUI Application
e. Best Practices for Java GUI Programming
16.9 Multithreading in Programming
a. Introduction to Multithreading
b. Threads and Processes
c. Creating Threads in Java
d. Synchronization and Inter-Thread Communication
e. Best Practices for Multithreading
16.10 Advanced OOP Concepts
a. Abstraction
b. Composition and Aggregation
c. Design Patterns
d. SOLID Principles
e. Reflection and Metadata
Prescribed Texts
1. Sage K. (2019) Concise Guide to Object-Oriented Programming. An Accessible
Approach Using Java. Springer Nature Switzerland AG.
2. Thomas Wu, C. (2008). A Comprehensive Introduction to Object-Oriented
Programming with Java, McGraw-Hill Companies
Recommended
1. Thomas Wu, C. (2010). An Introduction to Object-Oriented Programming with
Java™, Fifth Edition, McGraw-Hill Companies
2. Scott Sanderson () Java for Beginners. A Simple Start To Java Programming
MCA/OOP/321/110323
This module outline was approved by Senate on ………………………………
MCA/OOP/321/110323