0% found this document useful (0 votes)
6 views22 pages

Course Packbb

The Course Pack serves as a comprehensive pedagogical guideline for faculty members, detailing course components such as objectives, outcomes, assessment patterns, and content delivery methods. It emphasizes a uniform course design while allowing for innovative teaching approaches and continuous assessment of student learning outcomes. The document outlines specific course details for 'Object-Oriented Programming with Java,' including prerequisites, program outcomes, course content, and assessment strategies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views22 pages

Course Packbb

The Course Pack serves as a comprehensive pedagogical guideline for faculty members, detailing course components such as objectives, outcomes, assessment patterns, and content delivery methods. It emphasizes a uniform course design while allowing for innovative teaching approaches and continuous assessment of student learning outcomes. The document outlines specific course details for 'Object-Oriented Programming with Java,' including prerequisites, program outcomes, course content, and assessment strategies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

The Course Pack is a comprehensive and complete pedagogical guideline document that

describes the components of instruction delivery by a faculty member. It consists of the


scheme of the course, Course Overview, Course Objectives, Prerequisite course, Program-
specific Outcomes (PSOs), Course outcomes (COs), Bloom’s taxonomy (Knowledge Levels),
Types of Courses, Course articulation matrix, Course assessment patterns, Course content,
Lesson Plan, Bibliography, Problem-based learning/case-studies/clinical, and Student-
Centered learning (self-learning towards life-long-learning). It not only provides a uniform
design of Course delivery across the University but also ensures freedom and flexibility to
introduce innovations in learning and teaching and create vivid kinds of assessment tools
(alternate assessment tools) by a faculty member.
The course pack is developed by the faculty member teaching a course. If more than one
faculty teaches the same course, all the faculty members teaching the course shall be
formed as a cluster, and a senior faculty member (Course-lead) lead the Course delivery
design in a team effort. The Course Pack provides ample scope and opportunity to bring
innovations in teaching pedagogies in a school/department.
Hence, the Course pack is a comprehensive learning-teaching strategy framework to be
followed by all the faculty members in schools/departments in the university. It is not only a
tool for measuring the learning of a class but also analyses the achievement levels (learning
outcomes of the course) of all the students in a class in a continuous manner.
1. THE SCHEME
The scheme is an overview of work-integrated learning opportunities and gets students out
into the real world. This will give what a course entails.

OOPs WITH JAVA Comprehensive


Course Title Course Type
B.Tech (CSE)
Course Code R1UC201C Class
(II Sem)
Weekly
Activity Credits Total Number of Assessment in Weightage
Hours
Lecture 3 3 Classes per
Semester
Instruction
delivery Tutorial 0 0

Self-study
Practical 1 2

Practical
Tutorial
Theory
Self-
1 8

SEE
CIE
study

Total 5 13 45 0 30 120 50% 50%


Course Course Coordinator Ms. Jyoti Rana
Ms. Shweta Mayor
Lead
Sabharwal
Theory Practical
Anubhav Kumar Anubhav Kumar
Arvind Kumar Arvind Kumar
Amit Kumar Amit Kumar
Shabir Ali Shabir Ali
Anurag Singh Anurag Singh
Ashwini Kumar Pradhan Ashwini Kumar Pradhan
Fatima Ziya Fatima Ziya
Ganesh Kumar Mahato Ganesh Kumar Mahato
Gurpreet Singh Gurpreet Singh
Jyoti Ratna Jyoti Ratna
K. Prabu K. Prabu
Neha Neha
Mr. Mukesh Kumar Jha Mr. Mukesh Kumar Jha
Mr. Manish Kumar Mr. Manish Kumar
Priyanka Shukla Priyanka Shukla
Ms. Rani Singh Ms. Rani Singh
Dr Rahul Dr Rahul
Rahul Anjana Rahul Anjana
Rajiv Chourasiya Rajiv Chourasiya
Rakesh Sahu Rakesh Sahu
Sapna Gupta Sapna Gupta
Suneel Kumar Suneel Kumar
Shweta Mayor Sabharwal Shweta Mayor Sabharwal
Subash Harizan Subash Harizan
Tarachand Verma Tarachand Verma
Vivek Kumar Sharma Vivek Kumar Sharma
Vivek Sharma Vivek Sharma
Yamini Singh Yamini Singh
Yogendra Kumar Yogendra Kumar
2. COURSE OVERVIEW
"Object-Oriented Programming" course provides a good understanding of object-oriented concepts and
implementation in Python programming. This course will improve the Python programming skills of
developers who have a basic understanding of Python. You will learn Object Oriented features of Python
programming which will help in providing efficient solutions for software projects.

3. PREREQUISITE COURSE
Prerequisite course Yes (√) No
required
The students must have completed Programming for Problem Solving Basics in the first semester.

4. PROGRAM OUTCOMES (POs):


In general, the Program Outcomes are defined by the respective apex body or council. In the event the POs are
not prescribed by a Council, then the concerned school offering the program to design and develop the POs
based on the PEOs. This has to be approved by the concerned BOS and submitted to the Academic Council for
approval. After the completion of the course, the student will be able to:

PO No. Description of the Program Outcome


Engineering Knowledge: Apply knowledge of mathematics, natural science, computing,
PO1: engineering fundamentals and an engineering specialization as specified in WK1 to WK4
respectively to develop to the solution of complex engineering problems.

Problem Analysis: Identify, formulate, review research literature and analyse


PO2: complex engineering problems reaching substantiated conclusions with
consideration for sustainable development. (WK1 to WK4).

Design/Development of Solutions: Design creative solutions for complex engineering


problems and design/develop systems/components/processes to meet identified needs with
PO3:
consideration for the public health and safety, whole-life cost, net zero carbon, culture,
society and environment as required. (WK5).

Conduct Investigations of Complex Problems: Conduct investigations of complex


PO4: engineering problems using research-based knowledge including design of experiments,
modelling, analysis & interpretation of data to provide valid conclusions. (WK8).

Modern Tool Usage: Create, select and apply appropriate techniques, resources and
PO5: modern engineering & IT tools, including prediction and modelling recognizing their
limitations to solve complex engineering problems. (WK2 and WK6).

The Engineer and The World: Analyze and evaluate societal and environmental aspects
PO6: while solving complex engineering problems for its impact on sustainability with reference
to economy, health, safety, legal framework, culture and environment. (WK1, WK5, and
WK7).

PO7: Ethics: Apply ethical principles and commit to professional ethics, human values,
diversity and inclusion; adhere to national & international laws. (WK9).

PO8: Individual and Collaborative Team work: Function effectively as an individual, and
as a member or leader in diverse/multi-disciplinary teams.

Communication: Communicate effectively and inclusively within the engineering


community and society at large, such as being able to comprehend and write effective
PO9:
reports and design documentation, make effective presentations considering cultural,
language, and learning differences.

Project Management and Finance: Apply knowledge and understanding of engineering


PO10 management principles and economic decision-making and apply these to one’s own work,
: as a member and leader in a team, and to manage projects and in multidisciplinary
environments..

Life-Long Learning: Recognize the need for, and have the preparation and ability for:
PO11 i) independent and life-long learning ii) adaptability to new and emerging technologies and
: iii) critical thinking in the broadest context of technological change. (WK8).

5. PROGRAM SPECIFIC OUTCOMES (PSOs):


Program Specific Outcomes (PSO) are statements that describe what the graduates of a discipline-specific
program should be able to do. Two to Three PSOs per program should be designed.

PO No. Description of the Program-Specific Outcome


PSO1 Have the ability to work with emerging technologies in computing requisite to Industry 4.0.

PSO2 Demonstrate Engineering Practice learned through industry internship and research project to
solve live problems in various domains.

6. COURSE CONTENT (THEORY)


CONTENT (Syllabus)
THEORY:
Java Programming and Object-Oriented Principles (OOPs)
Java Basics - Introduction of Java Programming- History of Java-Features of Java-C++ vs Java-Hello Java Program -
Internal details of Hello Java Program -How to set path - JDK, JRE and JVM-Java variables, Data Types, Operators,
Keywords, - Control statements

Concepts of OOP:
Java Object Class -Java OOPs concepts - Naming Convention-Object and Class - Method in Java -Java Constructor -
Static keyword in Java -This keyword
Java Inheritance-Inheritance (IS-A)-Aggregation (HAS-A)-Java Polymorphism-Method Overloading- Method
Overriding-Covariant Return type-Super keyword-Instance Initializer Block-Final Keyword-Runtime polymorphism-
Dynamic Binding – instance Of operator.
Java Abstraction-Abstract class in Java-Interface in Java-Abstract vs Interface
Java Encapsulation-Java Package-Access Modifiers-Encapsulation

Java Arrays and Exception Handling:


Java Array - Java String - Java String Methods
Java Exceptions-Java try-catch block -Java multiple catch block - Java Nested Try -Java Finally Block- Java throw
keyword-Java throws keyword-Final vs Finally vs Finlize

Multi-Threading and IO Packages:


Java Multi-threading, IO Package-Introduction to IO Package and Streams-Inputstream & Outputstream -Object
serialization & Deserialization-Filter and pipe streams-IO Files
Java Collections – ArrayList-LinkedList-Set-Map

PRACTICAL:

7. COURSE OUTCOMES (COs)


After the completion of the course, the student will be able to:
Course Upon successful completion of this course, the student will be able to:
Outcomes
Explain the fundamental concepts of Java programming, including syntax, data types, control
R1UC201C.1.
structures, OOP principles, arrays, and exception handling.
Apply object-oriented programming concepts like inheritance, polymorphism, abstraction,
R1UC201C.2. and encapsulation to develop Java applications.

Analyze Java's exception handling mechanisms, multi-threading, IO operations, and


R1UC201C.3.
collections framework to manage data effectively in applications.
Evaluate and optimize Java programs by implementing efficient data structures, handling
R1UC201C.4. concurrency, and improving file operations using advanced Java concepts.
8. TAXONOMY LEVEL OF THE COURSE OUTCOMES
Bloom’s taxonomy is a set of hierarchical models used for the classification of educational learning objectives
into levels of complexity and specificity. The learning domains are cognitive, affective, and psychomotor.

Mapping of COs with Bloom’s Level


Remember Understand Apply Analyse Evaluate Create
CO No.
KL1 KL 2 KL 3 KL 4 KL 2 KL 6

R1UC201C.1. Yes Yes Yes

R1UC201C.2. Yes Yes Yes

R1UC201C.3. Yes Yes Yes

R1UC201C.4. Yes Yes Yes

9. COURSE ARTICULATION MATRIX


The Course articulation matrix indicates the correlation between Course Outcomes and Program Outcomes
and their expected strength of mapping in three levels (low, medium and high).
CO/PO Mapping (1 / 2 / 3 indicates strength of correlation) 3 - Strong, 2 - Medium, 1 – Low
Programme Outcomes (POs)
PO PO
COs PO2 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PSO1 PSO2
1 3
R1UC201C.1 3 2 2 1 2 - - - 2 - 2 - -
.
R1UC201C.2 2 2 3 2 3 - - 2 2 2 2 1 -
.
R1UC201C.3 2 3 2 3 3 2 - 2 2 2 2 2 -
.
R1UC201C.4 3 2 3 3 2 2 3 - 2 3 3 -
.
Note: 1-Low, 2-Medium, 3-High \ *first semester first course and first Course Outcome
*1 credit = 3 self-learning hours (Not to mention in the lesson plan)
COURSE ASSESSMENT
The course assessment patterns are the assessment tools used both in formative and summative
examinations.
CIE Total Marks
Type of Course Final Marks
@
LAB Course-based
(C) MTE CIE SEE CIE*0.5+SEE*0.5
Project^
(Work+
Record)
COMPREHENSIVE 25 50 25 100 100 100

Typical Rubric for the Course-based project


Type of Preliminary Technical
TRL-1 Viva-voce
Assessment Project Seminar
Tools Plan
Course-based Project
05 05 10 05
Work

PPP (Preliminary Project Plan): The preliminary project plan (PPP) provides an initial, overview of
the project and all of its known parameters. It outlines the project's objectives, relevance to the
program, merit, and conformity to current industry/government policy, proposed methodology, and
expected outcomes. It should also include any known constraints related to the time frame (Gantt
Chart), budget, etc.
TRL (Technology Readiness Level)-1:
Basic Research: Initial scientific research has been conducted. Principles are qualitatively
postulated and observed. Focus is on new discovery rather than applications.

LESSON PLAN FOR COMPREHENSIVE COURSES of 5 CREDITS


FOR THEORY 15 weeks * 3 Hours = 45 Classes) (1credit = 1Lecture Hour)

Theory /
Tutorial /
L-No Topic for Delivery Skills Competency
Practical
Plan
Introduction to Java Programming, History, Features of Understanding
1 Theory CO1
Java Java's evolution &
benefits
Understanding
2 C++ vs Java, JVM Architecture (JDK, JRE, JVM) Theory differences & Java CO1
execution model
Setting up Java Environment, Writing & Running Java Installing,
3 Theory CO2
Programs configuring, and
running Java
Variable handling
4 Java Variables, Data Types, Operators, Keywords Theory & operations in CO1
Java
5 Control Statements (if-else, switch)-1 Theory Logic building CO2
using control
6 Control Statements (Loops)-2
structures
Java OOPs Concepts & Naming Conventions Understanding
7 Theory fundamental OOP CO1
principles
8 Objects and Classes, Methods in Java Theory Writing object- CO2
oriented code
Java Constructor
Applying
9 Theory constructors & CO2
static members
10 Static Keyword, This Keyword Theory CO2
11 Inheritance (IS-A), Aggregation (HAS-A) Theory Understanding CO1
code reusability
12 Implementing Inheritance & Aggregation in Java Theory CO2
Applying
13 Polymorphism: Method Overloading, Method Overriding Theory inheritance CO1
Covariant Return Type, Super Keyword concepts in
programs
Understanding
compile-time &
14 Theory runtime CO2
polymorphism
Writing
polymorphic
programs
15 Instance Initializer Block, Final Keyword Theory Deep CO1
understanding of
Runtime Polymorphism, Dynamic Binding, instanceOf
OOP execution
Operator
flow
16 Theory Implementing CO2
polymorphism in
real-world
scenarios
17 Abstraction: Abstract Classes Theory Differentiating CO1
abstract class &
18 Interface in Java Theory CO3
interface
Abstract vs Interface, Implementing Abstraction Applying
19 Theory abstraction in Java CO2
programs
20 Encapsulation: Java Packages Theory Securing data & CO1
code organization
21 Access Modifiers
Applying
22 Encapsulation Implementation & Real-world Applications Theory encapsulation in CO2
Java Arrays: One-Dimensional & Multi-Dimensional projects
Understanding
23 Theory CO3
array memory
structure
24 Java Strings: Introduction & String Methods Theory Manipulating CO3
25 Java Strings: Advanced Methods & Manipulations Theory strings in Java CO4
programs
26 Java Strings: Advanced Methods & Manipulations Theory CO4
Applying all
concepts in a
project
27 Introduction to Exception Handling in Java Theory Reinforcing CO4
concepts & final
assessment
28 Java try-catch block, Multiple Catch Blocks Theory Understanding CO1
errors &
exceptions
29 Java Nested Try, Finally Block Theory Handling CO1
exceptions using
try-catch
30 Java throw & throws Keywords, Theory Ensuring code CO1
execution with
31 Final vs Finally vs Finalize Theory
finally
32 Theory Custom exception CO2
Introduction to Java Multi-threading handling
Understanding
33 Theory CO2
Creating Threads using Runnable & Thread Class thread lifecycle
Implementing
34 Synchronization & Inter-thread Communication Theory multi-threading in CO2
Java
35 Introduction to IO Package & Streams Theory Managing CO2
concurrency issues
36 InputStream, OutputStream Theory Understanding file CO2
handling
37 Object Serialization & Deserialization Theory Performing file I/O CO2
operations
38 Filter and Pipe Streams in Java Theory CO3
Saving and
39 IO Files Theory restoring Java CO3
objects
40 Java Collections: Introduction to ArrayList Theory Advanced file
handling
41 Java Collections: LinkedList & Set Theory techniques
Implementing CO3
dynamic arrays
42 Java Collections: Map and HashMap Theory Working with
linked structures

43 Revision

44 Revision
45 Revision
PRACTICAL PROBLEMS FOR COMPREHENSIVE COURSES OF 5 CREDIT

FOR PRACTICAL 15 weeks * 2Hours = 30 Hours lab sessions (1 credit = 2 lab hours)

Java Basics

1. Write a Java program to print "Hello, Java!"


2. Write a Java program that calculates the total marks, average, and percentage of a
student based on marks obtained in five subjects. Use arithmetic operators to perform
the calculations and display the results.
3. Write a Java program that checks whether a given number is positive or negative
using an if-else statement.
4. Write a Java program that takes an integer input (1 to 7) and prints the corresponding
day of the week using a switch statement.
5. Write a Java program that prints the multiplication table of a given number using
nested for loop.
6. Write a Java program that takes an integer input and reverses its digits using a do-
while loop.

Java Object Class

7. Create a Java program that defines a Student class with attributes like name, age, and
grade. Include methods to display student details. Create multiple objects of the
Student class to represent different students and display their information.
8. Create a Java program that defines a class named Calculator with methods for
addition, subtraction, multiplication, and division. Then, create a main class to call
these methods and display the results.
9. Design a Java program for a Student class that stores a student's name and age.
Implement two constructors: a default constructor that assigns default values and a
parameterized constructor that takes name and age as input. Create objects using both
constructors and display the student details.
10. Develop a Java program where each student has a name and roll number. Due to a
variable name conflict inside the constructor, you need to use the this keyword to
differentiate between instance variables and constructor parameters. Implement a Java
program to demonstrate the use of the this keyword in assigning values to instance
variables..

Java Inheritance

11. Develop a Java program where a base class Employee stores common details such as
employee name and ID. A derived class Manager should inherit from Employee
and include an additional attribute, department name. Implement a constructor in
both classes and use the super keyword to call the parent class constructor.
Demonstrate how single-level inheritance allows the Manager class to reuse
properties of the Employee class while adding its own functionality.
12. You are designing a vehicle management system for a transport company. Implement
a Java program using multilevel inheritance with the following hierarchy:
 The Vehicle class serves as the base class with attributes like brand and speed, along
with a method to display these details.
 The Car class extends Vehicle, adding attributes such as fuelType and
seatingCapacity.
 The ElectricCar class further extends Car, introducing an additional attribute,
batteryCapacity.

13. Create a Java program using inheritance where a Person class is extended by an
employee class. The Employee class should add properties like employee ID and
department, with methods to display all details.
14. Create a Java program that models a Library and its collection of Books using a HAS-
A relationship (Aggregation). Ensure that the Library class can contain multiple Book
objects, and implement appropriate methods to manage the books.

Java Polymorphism

15. You are building a banking application where users can deposit money into their
accounts in different ways. Some users may deposit cash, others may deposit a check,
and some may transfer money from another account. To handle these different deposit
methods efficiently, the system should use method overloading.
Based on the given scenario, write a Java program that demonstrates method
overloading by creating a BankAccount class with multiple deposit methods. Each
method should accept different types of deposits, such as cash (integer), check
(double), and account transfer (two parameters: account number and amount).
Implement and test these methods in the main function.
16. Imagine you are developing a software system for a transportation company. The
company has different types of vehicles, such as cars and trucks, each with its own
way of calculating fuel efficiency. You need to create a Java program that models this
scenario using inheritance, where a base class Vehicle has a method fuelEfficiency(),
and the Car and Truck classes override this method to provide their own specific
implementations. Based on the given scenario, Design and implement a Java program that
demonstrates method overriding using inheritance. Define a parent class Vehicle with
a method fuelEfficiency(), and create subclasses Car and Truck that override this
method to provide different fuel efficiency calculations.

17. A multimedia streaming platform offers different types of subscriptions, such as Basic
and Premium, each with its own features and pricing. To manage this, the platform
requires a Java-based implementation where a superclass Subscription defines a
method showFeatures(), which is then overridden in its subclasses Basic and Premium
to display specific features.Develop a Java program to model this scenario and
demonstrate the concept of runtime polymorphism.

18. You are developing an e-commerce application that manages different types of
products, such as electronics, clothing, and groceries. Each product category has
unique attributes and behaviors. To apply category-specific discounts and ensure
proper handling of product types, you need to verify whether a given object belongs
to a particular class or subclass. Implement a Java program that demonstrates the use
of the instanceof operator to check and validate product types within the system.

Java Abstraction

19. Imagine you are designing a payment processing system for an e-commerce
platform. The platform supports multiple payment methods, such as Credit Card and
PayPal, but each payment method follows a common structure. Some actions, like
verifying payment details, may differ depending on the payment type, while others,
like displaying a payment confirmation, are the same for all methods.

To achieve this, you need to create an abstract class that defines a blueprint for all
payment methods. The class should include abstract methods (to be implemented by
specific payment types) and concrete methods (which provide common
functionality).

Problem Statement:
Write a Java program that demonstrates an abstract class with both abstract and
concrete methods to model this payment processing system. Implement at least one
subclass (e.g., CreditCardPayment or PayPalPayment) that extends the abstract class
and provides its own implementation for the abstract methods.

20. A software company is developing a system that requires multiple classes to


implement a common behavior. For example, both Car and Bicycle classes should
have the ability to move(). Design a Java interface named Movable, implement it in at
least two classes, and demonstrate polymorphism by calling the move() method on
different objects.

Java Encapsulation

21. A banking application needs to store customer details securely. Implement a


BankAccount class where the account balance is declared as a private variable.
Provide public getter and setter methods to access and update the balance, ensuring
data security and validation in the setter method.

Java Collections & Arrays

22. A retail store needs a program to manage daily sales. Use an ArrayList to store the
sale amounts for the day, allow the user to add new sales, remove incorrect entries,
and finally calculate the total sales at the end of the day.
23. A transportation company maintains a queue of passengers for a shuttle service.
Implement a Java program that uses a LinkedList to store passenger names, allowing
new passengers to join the queue and processing the queue in a first-come-first-served
order.
Exception Handling & Multi-threading

24. A file-processing application may encounter errors such as file not found or invalid
data. Write a Java program that demonstrates exception handling using try-catch-
finally blocks to handle potential runtime errors gracefully.
25. A ticket booking system allows only positive seat numbers to be entered. Write a Java
program that takes an integer seat number as input and throws an exception if the user
enters a negative number.

12. BIBLIOGRAPHY
Reference Books:
 "Java: The Complete Reference" – Herbert Schildt, 12th Edition,
McGraw Hill (2021)
 "Head First Java" – Kathy Sierra & Bert Bates, 2nd Edition, O’Reilly
(2005)
 "Java Concurrency in Practice" – Brian Goetz, 1st Edition,
Addison-Wesley (2006)
 "Effective Java" – Joshua Bloch, 3rd Edition, Addison-Wesley (2018)

MOOCS COURSES:
 https://onlinecourses.nptel.ac.in/noc22_cs47/preview
 https://www.coursera.org/specializations/object-oriented-
programming
16. PROBLEM-BASED LEARNING/CASE STUDIES/CLINICS
Exercises in Problem-based Learning (Assignments) (Min 55 Problems)

S. No. Question KL
Level

Java Basics &


OOPs Concepts

1 Write a Java program to check whether a number is even or KL3


odd.

2 Write a Java program to swap two numbers without using a KL3


third variable.

3 Write a Java program to calculate the factorial of a number KL3


using recursion.

4 Write a Java program to reverse a number and check if it is a KL3


palindrome.

5 Write a Java program to generate the Fibonacci series up to n KL3


terms.

6 Write a Java program to find the largest of three numbers using KL3
conditional statements.

7 Implement a Java program that converts temperature from KL3


Celsius to Fahrenheit.

8 Write a Java program to count the number of digits in a given KL3


number.

9 Write a Java program to demonstrate the use of a constructor. KL3

10 Write a program to calculate the sum and average of an array of KL3


integers.

11 Implement a class Student with attributes like name, roll KL3


number, and marks. Create objects and display their data.

12 Write a Java program to demonstrate method overloading with KL3


three different methods.

13 Write a Java program to create a Car class and inherit it in a KL3


SportsCar class using extends keyword.

14 Implement a Java program that uses method overriding to KL3


display different implementations in a parent and child class.
15 Write a Java program to demonstrate the use of the super KL3
keyword in inheritance.

16 Create an interface Animal with a method makeSound(). KL3


Implement this in multiple classes like Dog and Cat.

17 Write a Java program to demonstrate the use of abstract classes KL3


with constructors.

18 Implement a Java program to demonstrate the use of the KL3


instanceof operator.

19 Write a Java program to implement encapsulation for a KL3


BankAccount class.

20 Write a Java program to demonstrate the use of access KL3


modifiers (private, public, protected, default).

Java Arrays &


Strings

21 Write a Java program to find the second largest number in an KL3


array.

22 Write a Java program to remove duplicate elements from an KL3


array.

23 Write a Java program to check if two strings are anagrams. KL3

24 Implement a Java program to count the number of vowels and KL3


consonants in a string.

25 Write a Java program to sort an array in ascending and KL3


descending order.

26 Write a Java program to find the common elements between KL3


two arrays.

Exception
Handling &
Multi-threading

27 Write a Java program to handle division by zero using try-catch KL3


blocks.

28 Write a Java program that throws a custom exception when the KL4
user enters an invalid age for voting.

29 Implement a Java program to handle multiple exceptions using KL3


multiple catch blocks.

30 Write a Java program to demonstrate the difference between KL3


throw and throws.

31 Write a Java program to demonstrate the finally block execution KL3


in exception handling.

32 Create two threads in Java and execute them using the Thread KL3
class.

33 Implement thread synchronization using the synchronized KL3


keyword.

34 Write a Java program to demonstrate inter-thread KL4


communication using wait() and notify().

Java Collections
Framework

35 Write a Java program to store and retrieve student records KL3


using an ArrayList.

36 Implement a Java program to use a HashMap to store product KL3


prices.

37 Write a Java program to iterate over a LinkedList using an KL3


iterator.

38 Implement a Java program that demonstrates the difference KL4


between a TreeSet and a HashSet.

39 Write a program to illustrate the instanceof operator. KL3

40 What is an interface in Java? Write a program to demonstrate KL3


multiple inheritance using interfaces.

41 Implement a Java program to reverse an array without using KL3


additional space.

42 Differentiate between compile-time and runtime polymorphism. KL3

43 Write a program to demonstrate the use of a static variable and KL3


method in Java.

44 Write a Java program to count the occurrences of each KL3


character in a string.

45 What is thread synchronization? Write a program KL3


demonstrating synchronization in Java.

SOME SAMPLE PROJECT (Psychomotor skills) (25 Projects*)


To enhance their skill set in the integrated course, the students are advised to execute course-based projects.
Some sample projects are given below:

A) COURSE-BASED PROJECT (Psychomotor skills)

S.No. Project Title Description KL COs SOLO


Level Taxonomy

1 Student Design a system where students KL4 CO1 Relational


Management can register, view grades, and
System update personal details. Use OOP
principles like encapsulation to
ensure secure data handling.

2 Basic Banking Implement a banking system with KL4 CO1, Relational


System classes for savings and current CO2
accounts. Include deposit,
withdrawal, and balance inquiry
features with appropriate access
control.

3 Library Develop an application where KL5 CO2 Extended


Management users can search for books, Abstract
System borrow, and return them. Use
inheritance to categorize books
(e.g., textbooks, novels).

4 Scientific Create a calculator that supports KL4 CO2 Relational


Calculator using integer, float, and complex
Method numbers using method
Overloading overloading. Implement
arithmetic, trigonometric, and
logarithmic operations.

5 Employee Payroll Design a payroll system where KL5 CO2 Extended


System salaries are computed based on Abstract
employee roles and experience.
Demonstrate method overriding
by customizing salary calculations
for different job types.

6 Shape Area Develop a program that KL4 CO2 Relational


Calculator using calculates the area of different
Abstract Class shapes using an abstract class.
Implement subclasses for circles,
rectangles, and triangles.
7 Vehicle Create an interface for different KL4 CO2 Relational
Management types of vehicles. Implement
System using concrete classes for cars, bikes,
Interface and trucks, each having unique
attributes and behaviors.

8 ATM System with Build an ATM system where users KL5 CO2 Extended
Encapsulation can check their balance, Abstract
withdraw money, and deposit
funds. Use encapsulation to
protect account details from
unauthorized access.

9 User Implement a login system where KL4 CO2 Relational


Authentication users must enter correct
System credentials to access the system.
Use encapsulation to manage
user passwords securely.

10 Course Create a program where students KL4 CO2 Relational


Management can enroll in courses. Use
System using multiple packages to separate
Packages student-related functionality
from course-related data.

11 Multi-threaded Simulate a multi-threaded railway KL5 CO3 Extended


Ticket Booking or movie ticket booking system Abstract
System where multiple users book tickets
simultaneously. Implement
synchronization to prevent data
inconsistencies.

12 Multi-threaded Enhance the ticket booking KL5 CO3, Extended


Railway system by implementing seat CO4 Abstract
Reservation selection, cancellation, and
System payment validation, ensuring
proper thread handling to avoid
overbooking.

13 Chat Application Develop a simple client-server KL5 CO3, Extended


using Multi- chat application using multi- CO4 Abstract
threading threading. Allow multiple clients
to communicate with a central
server.

14 Student Grade Use an ArrayList and HashMap to KL4 CO3 Relational


Analyzer using store student details and grades
Collections dynamically. Implement methods
to calculate the highest, lowest,
and average grades.

15 Inventory Create a system where products KL4 CO3 Relational


Management are stored in a HashMap with
System using stock quantity. Allow users to
HashMap add, update, delete, and search
for products.

16 Address Book Store and manage contacts in an KL4 CO3 Relational


using LinkedList address book using LinkedList.
Implement functionalities like
adding, searching, and deleting
contacts efficiently.

17 Online Voting Develop a voting system where KL5 CO3, Extended


System using each user can cast one vote only. CO4 Abstract
HashSet Use HashSet to ensure duplicate
votes are not counted.
Implement candidate registration
and result calculation.

18 File-Based Student Store student records in a file and KL4 CO3 Relational
Database allow retrieval based on student
ID. Implement CRUD operations
to update and manage records
efficiently.

19 Email System Design an email application KL5 CO3, Extended


using File Handling where users can compose, send, CO4 Abstract
receive, and delete emails. Store
emails in text files and retrieve
them based on sender/receiver
details.

20 Multi-threaded Simulate a traffic signal system KL5 CO3, Extended


Traffic Signal where different signals change CO4 Abstract
System based on real-time conditions.
Use multi-threading to control
timing and synchronization.

21 Shopping Cart Create an online shopping cart KL4 CO3 Relational


using ArrayList where users can add, remove,
and view items in a cart
dynamically. Use ArrayList to
store products and calculate total
price.

22 Multi-user Implement a banking system KL5 CO2, Extended


Banking System where customers can have CO4 Abstract
with Inheritance savings and current accounts. Use
inheritance to define account
types with different interest rates
and withdrawal limits.

23 University Course Allow students to enroll in KL4 CO3 Relational


Enrollment System courses using a HashMap, where
using HashMap student IDs are mapped to their
selected courses. Implement add,
drop, and search functionalities.

24 To-Do List Develop a task management KL4 CO3 Relational


Application using application where users can add,
Collections mark as completed, and delete
tasks. Use ArrayList for task
storage and sorting.

25 Digital Locker Create a secure digital locker KL5 CO3, Extended


System using File where users can store and CO4 Abstract
Handling retrieve files. Implement
password protection and access
control using file handling.

You might also like