OOP Outline
OOP Outline
(using Java)
Course Outline
06/02/24 1
University: Addis Ababa University
College/Faculty: Natural and Computational Sciences
Department: Computer Science
Course title: Object Oriented Programming
Course code: CoSc2051
Credit hours: 3 ECTS: 5 lecture hrs: 2
Lab hrs: 3 Tutorial hrs: 2
Prerequisite: CoSc1012 Computer Programming
Course category: Compulsory
Year: II Semester: II
06/02/24 2
• Course description
This programming course emphasizes the methodology of programming from an object-
oriented perspective and software engineering principles. It allows students to develop
the ability to analyze programming problems and design and document suitable solutions
and to implement reliable and robust software using contemporary program design
methods. Topics to be dealt with are: classes: data abstraction, information hiding,
overloading; inheritance; polymorphism; exceptions handling.
• Course objectives
– Upon successful completion of the course, students will be able to:
Explain the basic object-oriented concepts
Successfully code, debug and run programs with appropriate development environment
Work on more advanced programs
Have clear differentiation between structural and object-oriented programming paradigms
06/02/24 3
• Chapter 1: Introduction to Object-Oriented Programming
1. Types of programming paradigms
2. Overview of OO principles
3. Editing, Compiling and Interpreting
• Chapter 2: Objects and Classes (6 hrs)
– Defining a class
– Creating an Object
– Instantiating and using objects
• Printing to the Console
• Methods and Messages
• Parameter Passing
• Comparing and Identifying Objects
• Destroying Objects
06/02/24 4
– Instance fields
– Constructors and Methods
– Access Modifiers
– Packages
• Chapter 3: Encapsulation, Inheritance, Abstraction and
Polymorphism (8 hrs)
1. Inheritance
2. Casting
3. Method Overriding and Overloading
4. Polymorphism
5. Super
6. The Object Class
7. Abstract Classes
8. Interfaces
9. Using Interfaces
06/02/24 5
• Chapter 4: Exception Handling (2 hrs)
1. Exceptions Overview
2. Catching Exceptions
3. The finally Block
4. Exception Methods
5. Declaring Exceptions
6. Defining and Throwing Exceptions
7. Errors and Runtime Exceptions
06/02/24 6
• Chapter 5: Introduction to GUI (6 hrs)
1. Introducing to Swing
2. Swing Components
3. Layout Managers
4. Delegation Event Classes
5. Common Event Listeners
6. Defining Listeners
06/02/24 7
• Assessment methods
Quiz/ Assignment 10%
Lab Exam/Project 20%
Mid Exam 20%
Final Exam 50%
• Reference books
1. The complete Reference Java Eleventh Edition (Herbert Schildt)
2. Java How to Program, Tenth Edition (Paul Deitel, Harvey Deitel)
3. Interactive Object-Oriented Programming in Java (Learn and Test
Your Programming Skills), Second Ed., (Vaskaran Sarcar)
06/02/24 8