BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
COURSE HANDOUT
Part A: Content Design
Course Title Object Oriented Programming and Design
Course No(s) IS ZC313
Credit Units 4
Course Author AkshayaGanesan&NayanKhare
Version No
Date
Course Objectives:
No Course Objective
CO1 To advance the programming skills students gathered in the course computer
programming in their first semester and advance problem solving techniques by
using the object oriented approach
CO2 To teach object oriented programming concepts including polymorphism,
encapsulation, overloading, inheritance.
CO3 Designing and implementing the solutions to problems using object oriented
concepts
Text Books:
T1 The Java Programming Language, Ken Arnold, David Holmes, James Gosling,
Prakash Goteti, 3rd Edition, Pearson
Reference Books:
R1 Java: The Complete Reference by Herbert Schildt, 9th Ed, 2017
Modular Content Structure
Module No List of Topic Title Text/Ref
Book/external
resource
M1 1.1)Introduction to OOP concepts T1 chapter 1, 4. 5
Object-Oriented Paradigms
Significance of Class and Objects
R1 Chapter 1, 2
1.2)Elements of Programming in Java
Java Program Structure
Types , literals and variables
Primitives and Types
Constants, Void, Number
Comments in Code
Unicode Characters
Control Flow Statements and blocks
Operators and Exceptions
Introduction to packages
1.3)Understanding the Java Platform
Using IDE (Eclipse) to run a simple
Java Program
Basic Debugging steps
M2 Classes and Objects T1 Chapter 1,2
2.1) Designing Classes (Using real life R1 Chapter 6, 7
examples)
Creating classes and defining
methods
Defining members of a class
Class Modifiers
Access control
2.2) Creating and instantiating Objects
Creating Objects and accessing
class members
Initialization and Constructions
(Constructors and Destructors)
Using this operator
2.3) Methods
Methods (Method invocation ,
execution and return) and Access
Control
Method and constructor
overloading
Passing objects as parameters in
methods
2.4) Static Fields and Static Methods
M3 Object-Oriented Design Process T1 Chapter 3
3.1) Qualities of a good software
3.2) Software Life Cycle ( Analysis, Design,
Implement Phases)
3.3) Discuss the lifecycle with appropriate case study
(simple case study)
M4 Arrays T1 Chapter 4
4.1) Creating 1-D, 2-D Arrays
4.2) Arrays Variables
4.3) Array Modifiers
4.4) Initialization and Handling Arrays
4.5) Searching , Sorting and copying Arrays
M5 Strings T1 Chapter 6
5.1) Basic String Operations
5.2) String Conversions and Comparisons
5.3) Utility Methods
5.4) Byte and char Arrays
5.5) String manipulations using
classes(StringBuffer and StringBuilder) in
java
M6 Packages T1 chapter 14
6.1) Package Naming R1 Chapter 9
6.2) Type Imports
6.3) Package Access
6.4) Accessibility and Overriding Methods
M7 I/O Packages T1 Chapter 15
7.1) Byte and Character streams
InputStream R1 Chapter 20
OutputStream
Reader
Writer
7.2) Buffered Streams
7.3) DataByte Streams
7.4) File I/O
Working with files
File Streams and FileDescriptor
M8 EXTENDING CLASSES - INHERITANCE T1 Chapter 7
R1 Chapter 8
8.1) Creating subclass
8.2)Inheritance types , redefining members
Hiding Fields
Accessing inherited members
Type compatibility and conversion
8.3)Accessibility and overriding
8.4)Super Class and its use
8.5)Final Class and Methods
8.6)Abstract Class and Methods
M9 INTERFACES T1 Chapter 8, 9
9.1) Designing the interfaces
Extending interfaces
Implementing interfaces
Comparator and Comparable interfaces
9.2)Nested Classes and Nested Interfaces
Inheriting Nested Types
Inner Classes and Anonymous classes
M10 Exceptions T1 Chapter 10
10.1)Creating own Exceptions
10.2)try, catch and Finally
10.3)throw and the throws clause
10.4)Exception classes in Java library
M11 COLLECTIONS T1 Chapter 11
R1 Chapter 18
11.1)Collection Interface
11.2)List-
ArrayList,
LinkedList,
RandomAccess List
11.3)Map and SortedMap
11.4)Set and SortedSet
11.5)Writing Iterator Implementations
11.6)Writing Collections Implementation
M12 MULTITHREADING T1 Chapter 12
R1 Chapter 11
12.1) Creating Thread
12.2) Using Runnable interface
12.3) Thread Class in Java
12.4) Thread States
12.5)Thread synchronization
12.6) Creating and Executing Threads
The Java Object Model T1 Chapter 7
M13 R1 Chapter 8
13.1)The Java Type System
13.2)Type Inquiry
13.3)The Object Class
13.4)Shallow and Deep Copy
M14 GENERIC PROGRAMMING BASICS R1 Chapter
14
14.1) Generic Form of a Class
14.2) Bounded Types
14.3) Generic Interfaces
14.4) Restrictions on Generics
Learning Outcomes:
No Learning Outcomes
LO1 Demonstrate sound understanding of Object oriented concepts and able to design
applications having to apply OOP paradigms.
LO2 Express the OOP concepts in form of code snippet, small applications having to
recognize the differences between procedural and OOP concepts.
LO3 Design applications using the various constructs and features available in the
programming language and assess them.
Part B: Contact Session Plan
Academic Term First Semester 2024-2025
Course Title Object Oriented Programming and Design
Course No IS ZC313
Lead Instructor Pramod bide
Course Contents
Contact Text/Ref
List of Topic Title Topic #
Hour Book
Introduce the object oriented paradigms,
significance of class and objects
Java Program Structure
Writing a simple java program
Types , literals and variables
Primitives and Types
Constants, Void, Number T1 chapter 1,
Comments in Code 4. 5
1 Unicode Characters R1 Chapter 1,
Control Flow Statements and blocks 2
Operators and Exceptions
Introduction to packages
Introduce the Eclipse IDE
Run the first Java Program
Introduce the basic debugging e.g. step into,
step through, watching variables
Designing Classes using examples.
Creating classes and defining methods.
Defining members of a class
Class Modifiers
Access control
Creating and instantiating Objects
Accessing class members T1 Chapter 1,2
Static Initialization
2 R1 Chapter 6,
Constructors and Destructors
7
Using this operator
Method invocation, execution and
return
Method and constructor overloading
Passing objects as parameters in
methods
Static Fields and Static Methods
3 Qualities of a good software T1 Chapter 3
Software Life Cycle ( Analysis, Design,
Implement Phases)
Using a case study illustrate the various
phases
Creating 1-D, 2-D Arrays
Arrays Variables
Array Modifiers T1 chapter 4
4 Initialization and Handling Arrays
Searching , Sorting and copying
Arrays
Basic String Operations
String Conversions and Comparisons
Utility Methods
5 Byte and char Arrays T1 Chapter 6
String manipulations using
classes(StringBuffer and
StringBuilder) in java
Creating own packages
Package Naming
Type Imports T1 chapter 14
6 Package Access
R1 Chapter 9
Accessibility and Overriding Methods
importing the packages like java.util,
java.lang in Java
Byte and Character streams
InputStream
OutputStream
Reader T1 Chapter 15
7 Writer
R1 Chapter 20
Buffered Streams
DataByte Streams
Working with files
File Streams and FileDescriptor
8 Recap CS1 to CS7
Creating subclass
types of inheritance, redefining members
Hiding Fields
Accessing inherited members
Type compatibility and conversion T1 chapter 7
9 Accessibility and overriding
R1 chapter 8
Super Class and its use
Final Class and Methods
Abstract Class and Methods
Design Aspects of Extending: How and when
to extend, designing a class to be extended
10 Designing the interfaces T1 Chapter 8.
Extending interfaces
Implementing interfaces
using the Comparator and Comparable
interfaces 9
Nested Classes and Nested Interfaces
Inheriting Nested Types
Inner Classes and Anonymous classes
Creating own Exceptions
try, catch and Finally T1 chapter 10
11
throw and the throws clause
Exception classes in Java library
Collection Interface
List-
ArrayList,
LinkedList, T1 chapter 11
12 RandomAccess List
R1 Chapter 18
Map and SortedMap
Set and SortedSet
Writing Iterator Implementations
Writing Collections Implementation
Creating Thread
Using Runnable interface
Thread Class in Java
T1 Chapter 12
13 Thread States
R1 chapter 11
Creating and Executing Threads
Thread synchronization
wait and notify
The Java Object Model
The Java Type System
Type Inquiry T1 Chapter 7
14 The Object Class R1 Chapter 8
Cloning Objects
Strategies for cloning
Shallow and Deep Copy
Generic Form of a Class
Bounded Types
15 Creating Generic Interfaces and R1 Chapter 14
methods
14.4) Restrictions on Generics
16 Recap CS9 to CS15
Lab Details:
Learning Exercises and Case Studies: Faculty needs to provide learning exercise, reading notes
and case studies and include them in EC-1 evaluation which is primarily drawn from the tables
below.
Detailed Plan for Learning Exercises:
The learning exercises is designed keeping in mind a simple approach to motivate the students to
actively participate in completion of the assignment and fulfil learning that is desired by the
instructor.
Lab Lab Objective Lab Content
No Sheet/Caps Reference
ule Access
URL
LE1 Java Program to define a class, describe its T1
constructor, overload the Constructors and
instantiate its object
LE2 Java Program to define a class, define instance T1
methods for setting and Retrieving values of
instance variables and instantiate its object
LE3 Java Program to define a class, define instance T1
methods and overload them and use them for
dynamic method invocation
LE4 Java Program to demonstrate use of sub class and T1
wrapper classes and their methods
LE5 Java Program to implement array of objects and T1
Vector class and methods
LE6 Java Program to implement inheritance and T1
demonstrate use of method overriding, multilevel
inheritance by applying various access controls to
its data members and methods.
LE7 Java program to demonstrate use of implementing T1
interfaces
LE8 Java program to implement the concept of T1
importing classes from user defined package and
creating packages
LE9 Java program to implement the concept of Threads T1
- Thread Class and Runnable Interfaces.
Multithreading concepts and associated operations
on threads
Experiential learning components
1. Lab work: Lab exercises are required for all the modules. The exercises are
should be implemented in Java programming language using Eclipse IDE.
BlueJ Editor could be used to demonstrate the OOP paradigms visually.
Please refer to detailed lab plan for the types of exercise which has to be
conducted
2. Project work: Introduce students to GUI constructs that could help the
students to develop the mini projects. A running mini project of a relevant
application which involve students in all the stages of development could be
given at the start of the semester
3. Case Study: Suitable case study may be presented (Optional)
4. Work integration: Project work could be made relevant to individual students
work experience/ or problems found in host organization can be chosen
5. Design Work/Field work: The Project work should include the design related
to the application to be designed.
Evaluation Scheme:
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No Name Type Duration Weight Day, Date, Session, Time
EC-1 Quiz-I/ Assignment- Online - 5% September 1-10, 2024
I
Quiz-II Online 5% October 10-20, 2024
Quiz-III/ Online 10%
Assignment-II November 1-10, 2024
EC-2 Mid-Semester Test Closed 2 hours 30%
Saturday, 21/09/2024 (FN)
Book
EC-3 Comprehensive Open 2 ½ hours 50%
Saturday, 30/11/2024 (FN)
Exam Book
Note - Evaluation components can be tailored depending on the proposed model.
Important Information
Syllabus for Mid-Semester Test (Closed Book): Topics in Weeks 1-8
Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. EC-1 consists of either two Assignments or three Quizzes. Announcements regarding
the same will be made in a timely manner.
2. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
3. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound
form is permitted. However, loose sheets of paper will not be allowed. Use of
calculators is permitted in all exams. Laptops/Mobiles of any kind are not allowed.
Exchange of any material is not allowed.
4. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies,
the student should follow the procedure to apply for the Make-Up Test/Exam. The
genuineness of the reason for absence in the Regular Exam shall be assessed prior to
giving permission to appear for the Make-up Exam. Make-Up Test/Exam will be
conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-
study schedule as given in the course handout, attend the lectures, and take all the prescribed
evaluation components such as Assignment/Quiz, Mid-Semester Test and Comprehensive
Exam according to the evaluation scheme provided in the handout.