Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information Technology Engineering/
  4. IT Semester 4/
  5. Object Oriented Programming With Java (4341602)/

·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Table of Contents

GUJARAT TECHNOLOGICAL UNIVERSITY (GTU)
#

Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021) Semester -IV
#

Course Title: Object Oriented Programming with JAVA
#

(Course Code: 4341602)
#

Diploma programme in which this course is offeredSemester in which offered
Information Technology4 th Semester

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.

3. COURSE OUTCOMES (COs)
#

The student will develop underpinning knowledge, adequate programming skills of competency for implementing various applications using object oriented programming with java to attain the following course outcomes.

  •  Understand OOP (Object-Oriented Programming) concepts with java.
  •  Understand building blocks of OOPs language, inheritance, package and interfaces.
  •  Implement exception handling and multithreading in object oriented programs.
  •  Develop an object oriented program handling a Text file.

3. TEACHING AND EXAMINATION SCHEME
#

Teaching SchemeTeaching SchemeTeaching SchemeTotal Credits (L+T/2+P/2)Examination SchemeExamination SchemeExamination SchemeExamination Scheme
(In Hours)(In Hours)(In Hours)Total Credits (L+T/2+P/2)Theory MarksTheory MarksPractical Marks Total MarksPractical Marks Total Marks
LTPCCAESE CAESE
3-453070 2525150

(*): 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.

5. SUGGESTED PRACTICAL EXERCISES
#

The following practical outcomes (PrOs) are the subcomponents of the COs. These PrOs need to be attained to achieve the COs.

S. No.Practical Outcomes (PrOs)Unit No.Approx. Hrs. required
1Install JDK and Setup a Java Programming development environment by using: 1) Command Prompt (SET PATH command and using Environment Variable). 2) Any open source IDE (Eclipse, Jcreater etc)I01
2Test the java development environment setup by implementing a simple java program (print: ‘OOP with JAVA’).I01
3Develop a basic java program that demonstrates data types of JAVA.I01
4Develop a Java program to swap two numbers without using a temporary variable and with using a temporary variable (use command line argument to accept value from user).I01
5Develop programs to demonstrate use of - 1) if statement and its different form 2) switch case statementI01
6Develop program to demonstrate use of- 1) for loop 2) ‘while’ and ‘do while’ loopI01
7Develop a Java program to find maximum and minimum numbers from array elements.I01
8Develop a basic java program that demonstrates the use of Class & Object.II01
9Develop a java program to find the factorial of a given number using a recursive function.II02
10Develop a java program that demonstrates method overloading.II02
11Develop a program for implementation of different functions of String class.II02
12Develop a program for implementation of Wrapper Class to convert primitive value into object (Boxing) and object into primitive value (Un-boxing).II02

GTU - COGC-2022 Curriculum

13Develop a program with a static block and show that it will be executed before the main ( ) method in a class.II01
14Develop a program to demonstrate use of static functions.II01
15Develop a program to demonstrate use of ’this’ keyword. Check whether ’this’ can access the private members of the class or not.II02
16Develop a program with an overloaded constructor. Also develop the copy constructor to create a new object with the state of the existing object.II02
17Develop a program to demonstrate the use of private constructor and also write a method which will count the number of instances created using default constructor only.II02
18Develop a program to demonstrate single inheritance, multilevel inheritance, and hierarchical inheritance.III02
19Develop a program with one class named shape which has two member functions named erase () and draw (). In the program we have three other subclasses: circle, triangle and square. override methods of the superclass into subclasses.III02
20Develop a program for implementation of Dynamic method dispatch.III02
21Develop a java program that demonstrates the use of Abstract class.III02
22Develop a java program that illustrates interface inheritance. Interface ‘A1’ and ‘A2’ are extended from interface ‘A’. Interface ‘A12’ inherited from both ‘A1’ and ‘A2’. Each interface declares one method and one constant. Class ‘Interface_Imple’ implements ‘A12’. Instantiate ‘Interface_Imple’ and invoke each of its methods. Each method displays one of the constants.III02
23Develop a program to create a Package and demonstrate how packages are used in java. And use java access modifier to demonstrate the access rules in a package.III02
24Develop a program to demonstrate the use of ‘super’ and ‘final’ keywords.III02
25Develop programs to demonstrate the use of Exception Handling using predefined Exception Classes.IV02
26Develop a program to handle multiple exceptions using multiple try blocks and multiple catch blocks.IV02
27Develop a program to implement user defined exceptions.IV02
28Develop a program to demonstrate use of throw, throws, and finally keyword.IV02
29Develop a program that executes two threads. One thread displays ‘Java Programming’ every 2 seconds, and the other displays ‘Semester - 4th’ every 5 seconds.(Create the threads by extending the Thread class)IV02
30Develop a program that executes two threads. One thread will print the even numbers and the another thread will print odd numbers between 1 to 10.(Create the thread by implementing runnable interface)IV02
31Develop a program to demonstrate use of synchronization of threads when multiple threads are trying to update a common variable.IV02
32Develop programs to create, write, modify, read operations on Text files.V04
Total56

Note
#

  • i. More Practical Exercises can be designed and offered by the respective course teacher to develop the industry relevant skills/outcomes to match the COs. The above table is only a suggestive list .
  • ii. The following are some sample ‘Process’ and ‘Product’ related skills (more may be added/deleted depending on the course) that occur in the above listed Practical Exercises of this course required which are embedded in the COs and ultimately the competency..
S. No.Sample Performance Indicators for the PrOsWeightage in %
1Representation of classes and objects.20
2Coding methodology.30
3Testing and Debugging of the program.20
4Correctness of Program.20
5Submission in time.10
TotalTotal100

6. MAJOR EQUIPMENT/ INSTRUMENTS/SOFTWARES REQUIRED
#

This major equipment/instrument/software with broad specifications for the PrOs is a guide to procure them by the administrators. This will ensure conduction of practical’s in all institutions across the state in the proper way so that the desired skills are developed in students.

S. No.Equipment Name with Broad SpecificationsPrO. No.
1Computer system with latest configuration.All
2JDK 1.8 (Java Development Kit) or above. Text-Editor: Notepad or any other. Open Source IDE: Eclipse, IntelliJ IDEA, Jcreator or any other.All

7. AFFECTIVE DOMAIN OUTCOMES
#

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 1 st year
  • ii. ‘Organization Level’ in 2 nd year.
  • iii. ‘Characterization Level’ in 3 rd 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.

UnitUnit Outcomes (UOs)Topics and Sub-topics
Unit - I Introduction to Object Oriented Programming paradigm.1.1. Describe Programming Paradigm. 1.2. Differentiate between POP and OOP. 1.3. Understand important OOP fundamentals. 1.4. Understand basics of java programming and environment setup of Java.1.1.1 Introduction to programming paradigm, types of programming paradigm. 1.2.1 Procedure-Oriented vs. Object- Oriented Programming concept. 1.3.1 Basics of OOP: Class, Object, data abstraction, encapsulation, inheritance, benefits of inheritance, polymorphism. 1.4.1 Basics of Java, Background/History of Java, Java and the Internet, Advantages of Java. 1.4.2 JDK, JRE, JVM, and Byte code. 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.
Unit - II Object Oriented Programming Concepts.2.1. Define Objects and Classes and methods. 2.2. Differentiate String and StringBuffer class. 2.3. Explain Constructor with its types.2.1.1 2.2.1 2.2.2 2.3.1Defining classes, creating objects and methods, Passing and Returning object form Method, Method overloading. String class, StringBuffer class, Operations on string, StringJoiner class, Wrapper Class. Access control, modifiers, this keyword, static keyword. Constructors: Default constructors, Parameterized constructors, Copy constructors, Private constructor, and Constructor Overloading.
Unit-III Inheritance, Interface and Package.3.1. Explain Inheritance with its types. 3.2. Describe abstract class and Interface. 3.3. Describe Creating package, importing package, access rules for packages, class hiding rules in a package.3.1.1 3.1.2 3.1.3 3.2.1 3.3.1Basics of Inheritance, Types of Inheritance, Method overriding, super and final keyword. Basics of Polymorphism, Types of Polymorphism, Difference between method overloading and method overriding. Dynamic method dispatch & Object class. Abstract classes v/s Interfaces, defining an interface, implementing interfaces, extending interfaces, default method, lambda expression. Creating package, setting a
Unit-IV4.1. Explain exceptions with its type.4.1.1 4.1.2 4.1.3 4.1.4 4.2.1 4.2.2 4.2.3Fundamentals of Exception and Errors, Types of Exception. Using try and catch in Exception, Multiple catch clauses, Use of nested try statements. Throw and throws keywords, and finally clause.
Exception Handling & Multithreaded Programming.4.2. Define thread, creating threads, setting up threadBuilt in exceptions, creating own class. Basics of Multithreading, The Java thread model and main thread, Creation of thread by extending Thread class, implementing Runnable interface. Life cycle of a thread. Thread priorities, Thread synchronization, inter thread
priority & thread synchronization.
exception subclasses, Java Optional
communication, alive () &join () in thread.
4.2.4Exception handling in threads
Unit-V5.1. Explain basics of streams, stream classes, creation, reading and writing files in context to5.1.1Introduction to Stream, types of
File handling in Java.file handling.5.1.2 5.1.3Stream. Stream classes and its hierarchy, I/O classes: File Class, File InputStream, File Output Stream, InputStreamReader, OutputStreamWriter, FileReader, FileWriter, Buffered Reader. Reading and writing text files.

Note : The UOs need to be formulated at the ‘Application Level’ and above of Revised Bloom’s Taxonomy’ to accelerate the attainment of the COs and the competency.

9. SUGGESTED SPECIFICATION TABLE FOR QUESTION PAPER DESIGN
#

Unit No.Unit TitleTeaching HoursDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory Marks
Unit No.Unit TitleTeaching HoursR LevelU LevelATotal Marks
IIntroduction to Object Oriented Programming paradigm1006060416
IIObject Oriented Programming Concepts0604040412
IIIInheritance, Interface and Package.1004060616
IVException Handling & Multithreaded Programming.1004060616
VFile handling in Java.0600060410
TotalTotal4218282470

Legends: R=Remember, U=Understand, A=Apply and above (Revised Bloom’s taxonomy)

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.

10. SUGGESTED STUDENT ACTIVITIES
#

Other than the classroom and laboratory learning, following are the suggested studentrelated co-curricular activities which can be undertaken to accelerate the attainment of the various outcomes in this course: Students should conduct following activities in group and prepare reports of about 5 pages for each activity, also collect/record physical evidences for their (student’s) portfolio which will be useful for their placement interviews:

  • a) Prepare a report based on practical performed in the laboratory.
  • b) Undertake micro-projects in teams
  • c) Give a seminar on any relevant topics.

11. SUGGESTED SPECIAL INSTRUCTIONAL STRATEGIES (if any)
#

These are sample strategies, which the teacher can use to accelerate the attainment of the various outcomes in this course:

  • a) Massive open online courses ( MOOCs ) may be used to teach various topics/subtopics.
  • b) Guide student(s) in undertaking micro-projects.
  • c) ‘L’ in section No. 4 means different types of teaching methods that is to be employed by teachers to develop the outcomes.
  • d) About 20% of the topics/sub-topics which are relatively simpler or descriptive in nature is to be given to the students for self-learning , but to be assessed using different assessment methods.
  • e) With respect to section No.10 , teachers need to ensure to create opportunities and provisions for co-curricular activities .
  • f) Guide students for open source editors.

13. SUGGESTED MICRO-PROJECTS
#

Only one micro-project is planned to be undertaken by a student that needs to be assigned to him/her in the beginning of the semester. In the first four semesters, the micro-project is group-based. However, in the fifth and sixth semesters, it should be preferably be individually undertaken to build up the skill and confidence in every student to become problem solver so that s/he contributes to the projects of the industry. In special situations where groups have to be formed for micro-projects, the number of students in the group should not exceed three.

The micro-project could be industry application based, internet-based, workshopbased, laboratory-based or field-based. Each micro-project should encompass two or more COs which are in fact, an integration of PrOs, UOs and ADOs. Each student will have to maintain a dated work diary consisting of individual contributions in the project work and give a seminar presentation of it before submission. The total duration of the micro-project should not be less than 16 (sixteen) student engagement hours during the course. The

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, top3 students, etc).

Case Study 3: Develop a library book issue management system.

14. SUGGESTED LEARNING RESOURCES
#

S. No.Title of BookAuthorPublication with place, year and ISBN
1Java: The Complete ReferenceHerbert SchildtMcGraw Hill Education, 11 th Edition ISBN-13 : 1220440232-879
2Programming with JavaBalagurusamy E.McGraw Hill Education, 5 th Edition ISBN-13:978-93-5134-320-2
3Java 8 Programming Black BookDT Editorial ServicesDreamtech Press,New Delhi, ISBN:978-93-5119-758-4

15. SOFTWARE/LEARNING WEBSITES
#

  1. Java Development Kit: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. https://docs.oracle.com/javase/tutorial/java/index.html
  3. https://nptel.ac.in/courses/106105191
  4. https://cse.iitkgp.ac.in/~dsamanta/java/index.htm
  5. https://www.javatpoint.com/java-tutorial
  6. https://www.tutorialspoint.com/java/index.htm
  7. https://www.programiz.com/java-programming
  8. https://www.geeksforgeeks.org/java/
  9. https://www.guru99.com/java-tutorial.html

16. PO-COMPETENCY-CO MAPPING
#

Semester IIObject Oriented Programming with JAVA(Course Code: 4341602 )Object Oriented Programming with JAVA(Course Code: 4341602 )Object Oriented Programming with JAVA(Course Code: 4341602 )Object Oriented Programming with JAVA(Course Code: 4341602 )Object Oriented Programming with JAVA(Course Code: 4341602 )Object Oriented Programming with JAVA(Course Code: 4341602 )Object Oriented Programming with JAVA(Course Code: 4341602 )
Competency & Course OutcomesPO 1 Basic & Discipline specific knowledgePO 2 Problem AnalysisPO 3 Design/ developme nt of solutionsPO 4 Engineering Tools, Experimenta tion And TestingPOs and PSOs PO 5 Engineering practices for society, sustainability & environmentPO 6 Project Manag ementPO 7 Life-long learning
Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.Competency Develop a program using object oriented programming concepts with java to solve the given problem.
Course Outcomes Understand OOP (Object-Oriented Programming) concepts with java.32322-3
Understand building blocks of OOPs language, inheritance, package and interfaces.3233223
Implement exception handling and multithreading in object oriented programs.3333223
Develop an object oriented program handling Text and JSON file.2333223

Legend: ’ 3’ for high, ’ 2 ’ for medium, ‘1’ for low or ‘-’ for the relevant correlation of each competency, CO, with PO/ PSO

17. COURSE CURRICULUM DEVELOPMENT COMMITTEE GTU Resource Persons
#

S. No.Name and DesignationInstituteEmail
1Ruchik N. Jani Lecturer in I.T.L. E. College (Polytechnic), Morbi.janiruchik@gmail.com
2Shilpa K. Rathod Lecturer in I.T.L. E. College (Polytechnic), Morbi.shilu.avi418@gmail.com
3Suryadeepsinh P. Jadeja Lecturer in I.T.L. E. College (Polytechnic), Morbi.suryadeep2309@gmail.com
4Ajaypalsinh. S. Gohil Lecturer in I.T.Sir B. P. T. I, Bhavnagarajaypal.gohil@gmail.com