Second Semester 2018-19: Course Handout (Part Ii)
Second Semester 2018-19: Course Handout (Part Ii)
Date: 07/01/2019
In addition to part-I (General Handout for all courses appended to the time table) this portion gives further
specific details regarding the course.
Object-oriented programming is one of the important means of building complex systems. In order to handle the
inherent complexity associated with building structured systems, it is essential to gain a good understanding of
object-oriented design. This course aims at introducing the students to the object-oriented paradigm and
gradually build a knowledge base which will include object-oriented design, various design patterns and the
Java programming language. After going through this course, the students will have gathered an understanding
of the above mentioned concepts and will be able to apply them in practical scenarios.
Text Book:
T1: Object Oriented Design and Patterns, Cay Hortsmann, Wiley, 2004.
Reference Books:
R1. Java - The Complete Reference, 9th Edition, Herbert Schildt, Tata McGraw Hill Publishing.
R2. Object Oriented Analysis and Design with Applications, Grady Booch, Addison Wesley, 2nd Edition.
R3. The Unified Modeling Language User Guide - The ultimate tutorial to the UML from the original
designers, Grady Booch, James Rumbaugh, Ivar Jacobson, Pearson Education, 2006.
Course Plan:
Lecture Learning Objectives Topics to be covered Chapters
No.
1-2 Course overview and understand the Introduction to Object Oriented T1-Ch. 2 ; R2-Ch. 1 and
motivation behind learning the course Concepts and Principles Class notes
3-4 Identify and understand the elements Fundamentals of Object Model T1-Ch. 2 ; R2- Ch. 2
of object model to develop the
intuition behind building complex
systems
5 Learn the OOP principle of Encapsulation and Data hiding T1-Ch. 3; R1-Ch. 2;
encapsulation and data hiding as a R2-Ch. 2(Section 2.2)
precursor to understanding classes
6 Learn different data types, variables Data types, variables and arrays R1-Ch. 3
and arrays
7-9 Understand the basic building blocks Classes, Class Relationships, T1-Ch. 2 & 3; R1-Ch. 6 &
of object-oriented programming Objects and Constructors 7; R2-Ch. 3
10-11 Understand the concepts related to Methods, Method Overloading T1-Ch. 3; R1-Ch. 6 & 7;
methods and messages and Messages R2-Ch. 3; and Class notes
12-13 Develop the ability to identify classes Classification and Abstraction T1-Ch. 2; R1-Ch. 2; R2-
by gaining an understanding of mechanism Ch. 2 & 4
classification and abstraction
14-17 Understand the concepts related to Inheritance, Polymorphism, T1-Ch.6; R1-Ch.7 & 8
hierarchy among classes Method Overriding
18-20 Learn to create and use packages and Packages and Interfaces R1-Ch. 9
interfaces
21-22 Learn about types of exceptions and Exception Handling T1-Ch.1.8; R1-Ch.10
ways for handling them
23-25 Learn concepts related to thread Multithreading and T1-Ch.9; R1-Ch.11; and
model, thread creation and gain the Synchronization Class notes
ability to ensure synchronization
among threads during resource access
26-28 Understand I/O handling and I/O Streams R1- Ch.13 and Ch.20
manipulation in Java (console I/O, file
I/O)
Notices:
All notices pertaining to this course will be displayed on the CS&IS Notice Board and/or CMS.
Make-up Policy:
No Make-ups for lab test and mini project.
Prior permission of the Instructor-in-Charge is required to get make-up for the Mid-Sem. Only on producing
documentary proof of possible absence, which proves that student would be physically unable to appear for the exam,
the decision of granting the make-up will be taken.
Prior permission of Dean, Instruction Division is required to get make-up for the comprehensive exam.
Instructor-in-charge’s / Dean’s decision in the matter of granting make-up would be final.
INSTRUCTOR-IN-CHARGE
CS F213