Object Oriented Programming With JAVA 4341602
Object Oriented Programming With JAVA 4341602
1. RATIONALE
Java is a general-purpose computer programming language; it is platform independent,
open-source, class-based, and object-oriented with enriched open source libraries. It is a
simple, portable, distributive, robust, secure, dynamic, architecture neutral, object oriented
programming language. It has idealized ‘virtual machine’ that allows application developers
“write once, run anywhere", meaning that compiled Java code can run on all platforms that
support Java without the need for recompilation. In the current industrial scenario Java has
the broad industry support and prerequisite to many technologies like Java Server Pages,
and Android Application Development. This course develops necessary skills in students,
after learning this course; students will be able to develop object oriented applications using
java.
2. COMPETENCY
The purpose of this course is to help the student to attain the following industry identified
competency through various teaching-learning experiences:
Develop a program using object oriented programming concepts with java to solve
the given problems.
Page 1 of 10
Object Oriented Programming with JAVA Course Code: 4341602
(*): Out of 30 marks under the theory CA, 10 marks are for assessment of the micro-project
to facilitate integration of COs and the remaining 20 marks is the average of 2 tests to be
taken during the semester for the assessing the attainment of the cognitive domain UOs
required for the attainment of the COs.
Legends: L-Lecture; T – Tutorial/Teacher Guided Theory Practice; P -Practical; C – Credit, CA -
Continuous Assessment; ESE -End Semester Examination.
Approx.
S. Unit
Practical Outcomes (PrOs) Hrs.
No. No.
required
Install JDK and Setup a Java Programming development I 01
environment by using:
1 1) Command Prompt (SET PATH command and using
Environment Variable).
2) Any open source IDE (Eclipse, Jcreater etc)
Test the java development environment setup by implementing a I 01
2
simple java program (print: “OOP with JAVA”).
Develop a basic java program that demonstrates data types of I 01
3
JAVA.
Develop a Java program to swap two numbers without using a I 01
4 temporary variable and with using a temporary variable (use
command line argument to accept value from user).
Develop programs to demonstrate use of - I 01
5 1) if statement and its different form
2) switch case statement
Develop program to demonstrate use of- I 01
6 1) for loop
2) ‘while’ and ‘do while’ loop
Develop a Java program to find maximum and minimum numbers I 01
7
from array elements.
Develop a basic java program that demonstrates the use of Class & II 01
8
Object.
Develop a java program to find the factorial of a given number II 02
9
using a recursive function.
Develop a java program that demonstrates method overloading. II 02
10
Develop a program for implementation of different functions of II 02
11 String class.
Develop a program for implementation of Wrapper Class to II 02
12 convert primitive value into object (Boxing) and object into
primitive value (Un-boxing).
Page 2 of 10
Object Oriented Programming with JAVA Course Code: 4341602
Page 3 of 10
Object Oriented Programming with JAVA Course Code: 4341602
30 print the even numbers and the another thread will print odd
numbers between 1 to 10.(Create the thread by implementing
runnable interface)
Develop a program to demonstrate use of synchronization of IV 02
31 threads when multiple threads are trying to update a common
variable.
Page 4 of 10
Object Oriented Programming with JAVA Course Code: 4341602
The following sample Affective Domain Outcomes (ADOs) are embedded in many of the
above-mentioned COs and PrOs. More could be added to fulfill the development of this
competency.
a) Work as a leader/a team member.
b) Follow ethical practices.
The ADOs are best developed through the laboratory/field based exercises. Moreover, the
level of achievement of the ADOs according to Krathwohl’s ‘Affective Domain Taxonomy’
should gradually increase as planned below:
i. ‘Valuing Level’ in 1st year
ii. ‘Organization Level’ in 2nd year.
iii. ‘Characterization Level’ in 3rd year.
8. UNDERPINNING THEORY
Only the major Underpinning Theory is formulated as higher-level UOs of Revised Bloom’s
taxonomy in order development of the COs and competency is not missed out by the
students and teachers. If required, more such higher-level UOs could be included by the
course teacher to focus on the attainment of COs and competency.
Unit Unit Outcomes (UOs) Topics and Sub-topics
Unit – I 1.1. Describe 1.1.1 Introduction to programming
Programming paradigm, types of programming
Introduction to Paradigm. paradigm.
Object Oriented 1.2. Differentiate 1.2.1 Procedure-Oriented vs. Object-
Programming between POP and Oriented Programming concept.
paradigm. OOP. 1.3.1 Basics of OOP: Class, Object, data
1.3. Understand abstraction, encapsulation,
important OOP inheritance, benefits of
fundamentals. inheritance, polymorphism.
1.4. Understand basics 1.4.1 Basics of Java, Background/History
of java of Java, Java and the Internet,
programming and Advantages of Java.
environment setup 1.4.2 JDK, JRE, JVM, and Byte code.
of Java. 1.4.3 Java Environment Setup.
1.4.4 Java program structure.
1.4.5 Compiling and running a simple
java program.
1.4.6 Comments in java, data types,
variables, scope and lifetime of
variables, operators, type
conversion and casting, Control
Statements – If, else, nested if, if-
else ladders, Switch, while, do-
while, for, for-each, break,
continue, arrays in java.
1.4.7 Command line argument
1.4.8 Garbage Collection.
Page 5 of 10
Object Oriented Programming with JAVA Course Code: 4341602
Unit – II 2.1. Define Objects and 2.1.1 Defining classes, creating objects
Classes and and methods, Passing and
Object Oriented methods. Returning object form Method,
Programming 2.2. Differentiate String Method overloading.
Concepts. and StringBuffer 2.2.1 String class, StringBuffer class,
class. Operations on string, StringJoiner
2.3. Explain Constructor class, Wrapper Class.
with its types. 2.2.2 Access control, modifiers, this
keyword, static keyword.
2.3.1 Constructors: Default constructors,
Parameterized constructors, Copy
constructors, Private constructor,
and Constructor Overloading.
Unit-III 3.1. Explain Inheritance 3.1.1 Basics of Inheritance, Types of
with its types. Inheritance, Method overriding,
Inheritance, 3.2. Describe abstract super and final keyword.
Interface and class and Interface. 3.1.2 Basics of Polymorphism, Types of
Package. 3.3. Describe Creating Polymorphism, Difference
package, importing between method overloading and
package, access method overriding.
rules for packages, 3.1.3 Dynamic method dispatch &
class hiding rules in Object class.
a package. 3.2.1 Abstract classes v/s Interfaces,
defining an interface,
implementing interfaces, extending
interfaces, default method, lambda
expression.
3.3.1 Creating package, setting a
CLASSPATH, adding class and
interfaces to a package, importing
package, static import
3.3.2 Java access modifier, Access and
class hiding rules in a package.
Page 6 of 10
Object Oriented Programming with JAVA Course Code: 4341602
Page 7 of 10
Object Oriented Programming with JAVA Course Code: 4341602
Note: This specification table provides general guidelines to assist students for their learning
and to teachers to teach and question paper designers/setters to formulate test
items/questions assess the attainment of the UOs. The actual distribution of marks at
different taxonomy levels (of R, U and A) in the question paper may vary slightly from the
above table.
Page 8 of 10
Object Oriented Programming with JAVA Course Code: 4341602
student ought to submit a micro-project by the end of the semester to develop the industry
oriented COs.
A suggestive list of micro-projects is given here. This has to match the competency and the
COs. Similar micro-projects could be added by the concerned course teacher:
Case Study 1: Develop a Banking management application that provides following services to
customers.
1. Customers can view their account details such as type of account, available
balance etc.
2. He/she can perform transactions (i. e. Cash Deposit and Withdraw).
Case Study 2: Develop a simple college management application that provides following
services.
1. Stores Details of college, departments, and students (use inheritance to define
class hierarchy).
2. Shows exam results of Students (Result of Individual student, %pass, %fail, top-
3 students, etc).
S. Author
Title of Book Publication with place, year and ISBN
No.
1 Java: The Complete Herbert Schildt McGraw Hill Education, 11th Edition
Reference ISBN-13 : 1220440232-879
2 Programming with Balagurusamy E. McGraw Hill Education, 5th Edition
Java ISBN-13:978-93-5134-320-2
3 Java 8 Programming DT Editorial Dreamtech Press,New Delhi,
Black Book Services ISBN:978-93-5119-758-4
Page 9 of 10
Object Oriented Programming with JAVA Course Code: 4341602
S.
Name and Designation Institute Email
No.
Ruchik N. Jani L. E. College
1 [email protected]
Lecturer in I.T. (Polytechnic), Morbi.
Shilpa K. Rathod L. E. College
2 [email protected]
Lecturer in I.T. (Polytechnic), Morbi.
Suryadeepsinh P. Jadeja L. E. College
3 [email protected]
Lecturer in I.T. (Polytechnic), Morbi.
Ajaypalsinh. S. Gohil
4 Sir B. P. T. I, Bhavnagar [email protected]
Lecturer in I.T.
Page 10 of 10