Microlink Information Technology & Business Collage
Department of Computer Science
Course title: Object Oriented Programming
Course code: CS231
Credit hours: 3 ECTS: 5 lecture hrs: 2 Lab hrs: 3 Tutorial hrs: 2
Prerequisite: Computer Programming
Course category: Compulsory
Year: II Semester: I
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
Course outline
Chapter 1: Introduction to Object-Oriented Programming
1.1. Types of programming paradigms
1.2. Overview of OO principles
1.3. Editing, Compiling and Interpreting
Chapter 2: Objects and Classes
2.1. Defining a class
2.2. Creating an Object
2.3. Instantiating and using objects
2.3.1. Printing to the Console
2.3.2. Methods and Messages
2.3.3. Parameter Passing
2.3.4. Comparing and Identifying Objects
2.3.5. Destroying Objects
2.3.6. Enumerated Types
2.4. Instance fields
2.5. Constructors and Methods
2.6. Access Modifiers
2.7. Encapsulation
Chapter 3: Inheritance and Polymorphism
3.1. Inheritance
3.2. Casting
3.3. Method Overriding and Overloading
3.4. Polymorphism
3.5. Super
3.6. The Object Class
3.7. Abstract Classes
3.8. Interfaces
3.9. Using Interfaces
Chapter 4: Exception Handling
4.1. Exceptions Overview
4.2. Catching Exceptions
4.3. The finally Block
4.4. Exception Methods
4.5. Declaring Exceptions
4.6. Defining and Throwing Exceptions
4.7. Errors and Runtime Exceptions
Chapter 5: Packages
5.1. Packages
5.2. The import Statement
5.3. Static Imports
5.4. CLASSPATH and Import
5.5. Defining Packages
5.6. Package Scope
Chapter 6: Data structures
6.1. The Set
6.2. Set Implementation Classes
6.3. The List
6.4. List Implementation Classes
6.5. The Queue
6.6. Queue Implementation Classes
6.7. Map/ dictionary
Teaching- learning methods
Two contact hours of lectures and three hours of lab per week.
Assessment methods
➢Quiz/ Assignment 10%
➢Lab Exam/Project 20%
➢Mid Exam 20%
➢Final Exam 50%
Text book
1. H.M. Deitel, P.J. Deitel, Java How to Program. 8th ed. Prentice Hall
2. Eckel, Bruce. Thinking in Java. 4th Ed. New Jersey: Prentice Hal