Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Course Title: Object Oriented Programming

Credit Hours: 3+1 Prerequisites: Programming Fundamentals


Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Explain fundamental database concepts. C 2
2. Design conceptual, logical and physical database schemas
C 5
using different data models.
3. Identify functional dependencies and resolve database
C 2
anomalies by normalizing database tables.
4. Use Structured Query Language (SQL) for database definition
C 4
and manipulation in any DBMS
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Course Content:
 Overview of object-orientation
1st
 Overview of quality of software systems
Week
 Design and Implementation
 Structure basics
 Structure within structures
 Structures in detail
2nd
 Enumerations
Week
 Beginning of programming
 Structured programming
 Object oriented programming
Concept of Object and Classes
 OOP Model
 Methods, Parameters
3rd  Data Types, Fields
Week  Object Type & Primitive Type
Understand Class definition
 Constructors
 Assignment Statements
 Control Statements
Object Interaction
4th  Creating Cooperating Objects (Object Interaction)
Week  Modularization
 Abstraction
 Encapsulation
5th Grouping Objects.
Week  Collections, Array Lists, Linked List
 Array List, Random
 Hash Map, Hash Set
Grouping Objects (Cont.)
 For each Loop
 Iterator Objects
 Class Libraries
More sophisticated behavior
6th  Interface and Implementation
Week  Java Packages and Import
 Tokenizing String
 Writing Class documentation
Improving structure with inheritance.
 Inheritance
 Sub typing
7th
 Sub Type Substitution
Week  Polymorphic variables
 Casting types
 Wrapper classes and autoboxing
 Shallow Copy & Deep Copy
8th
Mid Terms
Week
 Static and Dynamic type
9th  Method polymorphism
Week  Overriding inherited methods
 Dynamic method lookup
 Protected access
Further Abstraction techniques.
10th  Abstract Classes
Week  Interfaces
 Multiple Inheritance
 Polymorphism with Interfaces
Threading
 Threads and their importane
11th
 Life cycle of a Thread
Week  Threads Priorities
 Creating threads by implementing Runnable Interface
 Creating Thread by extending Thread class
 Thread Method
12th Handling errors.
Week  Exceptions handling and throwing
 Try, Catch, Final Construct
 Error reporting
13th Polymorphism
Week  Type of polymorphism
 Compile time and run time
 Function overloading
 Operator overloading
Multi File programs
 Reasons for multi file programs
 Creating a multi file program
 Function overloading
 Operator overloading
 Header file
 Directory
 Projects
Polymorphism
14th  Type of polymorphism
Week  Compile time and run time
 Function overloading
 Operator overloading
Building Graphical User Interface.
 GUI principle
15th
 Components
Week
 Event Handling
 Inner and Anonymous Classes
 Layout Manager
16th Presentation/Viva
Week

Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Sessional Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Materials:
1. C++ How to Program, 8/E (Harvey & Paul) Deitel and Deitel ISBN: 978-0132662369
Publisher: Prentice Hall.
2. Java How to Program, 9/E (Havey & Paul) Deitel & Deitel ISBN: 978-0132575669,
Publisher: Prentice Hall
3. Object First with Java – A Practical Introduction Using BlueJ 5/E (David J. Barnes &
Michael Kölling) ISBN: 978-013-249266-9 Publisher: Prentice Hall

You might also like