SILVER OAK UNIVERSITY
College of Technology
Bachelor of Technology
Computer Engineering
Subject Name: Object Oriented Programming with UML
Subject Code: 1010043231
Semester : 4th
Prerequisite:
1. Basics of Programming Language
Course Objectives:
1. Main objective is to teach the basic concepts and techniques which form the object oriented
programming paradigm
2. To understand fundamental features of an object oriented programming language in Java which
includes object & classes, interfaces, encapsulation, inheritance, polymorphism and error
exception handling
3. To Prepare UML diagrams for software system.
Teaching Scheme:
Teaching Scheme
L T P Contact Hours Credit
3 0 4 7 5
Content:
Unit Topics Teaching Weightage
Hours %
1 Introduction to java and Basic programming: 4 8
Features of Java, Byte Code and Java Virtual Machine, JDK and
IDE, Creating, compiling and Executing a simple java program,
Programming style, documentation and errors, Reading input
from console, identifiers and variables, Assignment statements,
Named constants and naming conventions, Data Types
(Numeric, Boolean, Character, String) its Operations and
Literals, Evaluating Expressions and operator Precedence,
Types of Operators (Augmented assignment, Increment and
Decrement, Logical), operator precedence and associativity,
numeric type conversions.
2 3 5
Control Structure: If , else, nested if, if-else ladders, Switch,
while, do-while, for, for-each, break, continue
3 4 8
Array and String: Single and Multidimensional Array, String
class, String Buffer class, Operations on string, Command line
argument, Use of Wrapper Class.
4 5 10
Collections: LinkedList: Types of Linked List, Operations on
LinkedList, Applications of list, Queue: Types, Operations on
queue, Hashing: Hashing, Key-value pairs, HashMap and
operations, How hash map stores the data, Hash table,
Difference between HashMap and Hash table, Hash list
5 4 15
Classes, Objects and Methods: Class, Object, Object
reference, Constructor, Constructor Overloading, Method
Overloading, Recursion, Passing and Returning object form
Method, new operator, this and static keyword, finalize()
method, Access control, modifiers, Nested class, Inner class,
Anonymous inner class
6 6 15
Object oriented thinking: Use of Inheritance, types of
inheritance, Inheriting Data members and Methods, constructor
in inheritance, super class and subclass, using super keyword,
Final keywords, overriding and overloading methods,
polymorphism, Dynamic method dispatch, Abstract class,
Creation and Implementation of an interface, Interface
reference, instanceof operator, Interface inheritance,
Comparison between Abstract Class and interface
7 4 8
Exception Handling: Exception and Error, Use of try, catch,
throw, throws and finally, Built in Exception, Custom
exception, Throwable Class.
8 4 8
IO Programming: Introduction to Stream, Byte Stream,
Character stream, Readers and Writers, File Class, File
InputStream, File Output Stream, InputStreamReader,
OutputStreamWriter, FileReader, FileWriter, Buffered Reader
9 4 8
Multithreaded Programming: Use of Multithread
programming, Thread class and Runnable interface , Thread
priority, Thread synchronization, Thread communication,
Deadlock
10 7 15
UML : Introduction to Object orientation, Modeling as a
Design Technique Modeling Concepts, abstraction, The three
models, Class Model, State model and Interaction model
Class Modeling: Object and class concepts, link and
association, Generalization and Inheritance
State Modeling: Events, states, Transition and conditions, state
diagram, state diagram behavior
Interaction Modeling: Use case Models, sequence models,
activity models
Course Outcomes:
Sr. No. CO statement Unit
CO-1 Implement various Java constructs, features and libraries for simple 1,2,3,4
problems.
CO-2 Demonstrate how to define and use classes, interfaces, create objects and 5,6
methods, how to override and overload methods, compile and execute
programs.
CO-3 Formulate the program using exception handling, multithreading with 7,9
synchronization.
CO-4 Formulate a program using Files and I/O for a given problem. 8
CO-5 Develop object oriented models using UML appropriate notations. 10
Teaching & Learning Methodology: -
The various methods or tools follows by the faculties to teach the above subject are:
1. The course includes a laboratory, where students have an opportunity to build an
appreciation for theconcepts being taught in lectures.
2. Lectures with live practical example using Projector and Computer.
3. Experiments shall be performed in the laboratory related to course contents.
List of Experiments: Total Hours: 56
Sr. No. Practical Name
1 Write a Program that displays Welcome to Java, This is my first JAVA program.
2 Write a program to convert rupees to dollar. 70 rupees=1 dollar.
3 Write a program that calculates percentage marks of the student if marks of 6 subjects are given.
Write a program that solves the following equation and displaysthe value x and y: 1)
4 3.4x+50.2y=44.5 2) 2.1x+.55y=5.9
(Assume Cramer’s rule to solve equation ax+by=e x=ed-bf/ad-bc cx+dy=f y=af-ec/ad-bc )
5 Write a program that reads a number in meters, converts it to feet, and displays the result.
6 Write a program to count the number of words that start with capital letters.
7 Write a program that prompts the user to enter three integers and display the integers in
decreasing order.
8 Write a program that prompts the user to enter a letter and check whether a letter is a vowel or
constant.
9 Write an interactive program to print a string entered in a pyramid form. For instance, the string
“stream” has to be displayed as follows:
S
St
Str
Stre
Strea
Stream
10 Write a program to find length of string and print second half of the string.
11 Write a program to find that given number or string is palindrome or not.
12 Assume a vehicle plate number consists of three uppercase letters followed by four digits. Write
a program to generate a plate number.
13 Write a program to implement various operations on a singly linked list.
14 Write a program to implement various operations on a doubly linked list.
15 Write a program to implement Queue using arrays that performs following operations. (a)
INSERT (b) DELETE (c) DISPLAY
16 Write a program to implement Circular Queue using arrays that performs following operations.
(a) INSERT (b) DELETE (c) DISPLAY
17 Write a java program to demonstrate multilevel inheritance.
18 Write a java program to find out the area of circle and area of rectangle using the concept of
method overloading.
19 Write a java program to find out the volume of rectangular box and volume of cube using the
concept of constructor overloading.
20 Design a class which finds out the factorial of a given number using recursion.
21 Write a java program to demonstrate the use of dynamic method dispatch.
22 Write a java program to demonstrate the concept of interface.
23 Write a program to show divide by zero error through exception, and also try to catch the
exception.
24 Write a program to create two threads, one thread will print odd numbers and second thread will
print even numbers between 1 to 20 numbers.
25 Create a class called Student. Write a student manager program to manipulate the student
information from files by using FileInputStream and FileOutputStream
26 Refine the student manager program to manipulate the student information from files by using
the BufferedReader and BufferedWriter
27 Draw use case diagram for hotel management system.
28 Draw a class diagram of a bank management system.
29 Prepare a sequence diagram for issuing a book in the library management system.
Books Recommended: -
1. Intro to Java Programming, 10th edition, Y.Daniel Liang, Pearson
2. Java Fundamentals A comprehensive introduction By Herbert Schildt, Dale Skrien,
McGraw HillEducation.
3. Object oriented programming with Java , Rajkumar Buyya,S Thamarai Selvi,Xingchen
Chu,McGrawHill
4. Programming in Java, Sachin Malhotra, Saurabh Choudhary, Oxford
5. Programming with JAVA , E Balagurusamy, McGrawHill
6. Object Oriented Modeling and Design with UML, Michael Blaha and James
Rambaugh –PEARSON second edition
List of Open Source Software/learning website:
1. https://nptel.ac.in/