Course Title: Object Oriented Programming
Course Code: CoSc2051
Prerequisite: Computer Programming (CoSc1015)
Year: III
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 implement reliable and robust software using contemporary
program design methods. Topics to be dealt with are classes: data abstraction,
information hiding, overloading; inheritance; polymorphism; exception 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 programswith the 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 (4 hrs)
1.1 Types of programming paradigms
1.2 Overview of OO principles
1.3 Editing, Compiling, and Interpreting
Chapter 2: Objects and Classes (6 hrs)
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 (8 hrs)
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 hrs)
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 (4 hrs)
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 hrs)
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
Assessment methods
Thismay varyon thenumber of studentsper class, but thegeneral evaluationscheme
is as below.
• Assignments/quizzes 10%
• Lab exams/Project 20%
• Mid-semester examination 20%
• Final examination 50%
Textbooks:
1. M.T. Somashekara, D.S.Guru, H. SNagendraswamy, Manjunatha, Object-oriented
programming with c++,2019.
2. H.M. Deitel, P.J. Deitel, Java How to Program. 8th ed. Prentice Hall
3. Eckel, Bruce. Thinking in Java. 4th Ed. New Jersey: Prentice Hall
Laboratory Course Outline
Week 1: Introduction to Object-Oriented Programming
• Software Installation and Environment Setup
Week 2 - 4: Basics of Programming
• Variable types and identifiers
• Number types, strings, constants
• Operators and operator precedence
• Type Conversion/ Casting Chapter
• Decision Statements
– If statement
– Switch statement
• Looping Statements
– For loop
– While, Do while loop
Week 5: Objects and Classes
• Defining a class
• Creating an Object
• Instantiating and using objects
Week 6: Objects and Classes
• Instance fields
• Constructors and Methods
Week 7: Objects and Classes
• Access Modifiers
• Encapsulation
Week 8: Inheritance
• Inheritance
• Casting
• Method Overriding and Overloading
Week 9: Polymorphism and Abstract
• Polymorphism
• Super
• The Object Class
• Abstract Classes
Week 10: Interfaces
• Interfaces
• Using Interfaces
Week 11: Exception Handling
• Exceptions Overview
• Catching Exceptions
• The finally Block
• Exception Methods
• Declaring Exceptions
• Defining and Throwing Exceptions
• Errors and Runtime Exceptions
Week 12: Packages
• Packages
• The import Statement
• Static Imports
• CLASSPATH and Import
• Defining Packages
• Package Scope
Week 13: Data structures
• Set
• List
• Stack & Queue
• Map/Dictionary