☕ R23 Regulation  ·  23CM9201

Java Programming

👤 Sampathirao Yoganandh 🏛️ ANITS Engineering College 📚 CSE (AI & ML) · Assistant Professor
W1-2
OOP Fundamentals
Objects, Classes, Encapsulation, Inheritance, Polymorphism, Dynamic Binding
Notes
W3
Java Language Basics
Buzzwords, Data Types, Variables, Operators, Control Structures, Arrays, Console I/O, Type Casting, Wrapper Classes
Notes
W4-5
Classes, Objects & Constructors
Constructors, Methods, Overloading, Parameter Passing
Notes
W6
Static, this, final & Strings
Static members, this reference, final keyword, String Handling
Notes
W7
Inheritance & Polymorphism
Types, super, Method Overriding, Abstract Classes, Dynamic Dispatch
Notes
W8
Interfaces
Defining, Implementing, Extending, Default & Static Methods
Notes
W9
Packages
Defining, Creating, Accessing, Importing Packages
Notes
W10
I/O Streams
Byte & Character Streams, FileReader, BufferedReader, File class
Notes
W11
Exception Handling
try/catch/finally, throw, throws, Built-in & User-defined Exceptions
Notes
W12
Multithreading
Thread creation, priorities, synchronization, inter-thread communication
Notes
W13
Collection Framework — Interfaces
Collection, List, Set, Queue, Map interfaces; Iterator
Notes
W14
Collection Classes
ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue, HashMap, TreeMap
Notes
📋 Course Syllabus

23CM9201 · Java Programming Practices · R23 Regulation · CSE (AI & ML)

Course Code
23CM9201
Category
Professional Core
L · T · P
1 · 0 · 3
Credits
2.5
Total Hours
75 hrs
Marks
100 (60 + 40)
Prerequisites: Basic computer fundamentals, knowledge of C / C++ programming.
Sessional Marks: 60  ·  End Exam: 40  ·  Internal Tests: 2 (T1 after CO1 & CO2, T2 after CO3 & CO4)
Course Outcomes
CO-1
Develop classes for real time applications and establish the connectivity among the classes using inheritance and usage of strings.
CO-2
Modularize the application using packages, Interfaces and use of file concepts.
CO-3
Apply threads on classes to achieve parallelism through synchronization and develop test cases by including the runtime errors using exceptions handling mechanism.
CO-4
Solve the complex problems using collection framework.
Week-wise Schedule
Week Topics Sample Program CO
Week 1 & 2 Fundamentals of OOP: Object-oriented paradigm, Objects & Classes, Data Abstraction, Encapsulation, Inheritance, Polymorphism, Dynamic Binding Bank Account Management System (Account, SavingsAccount, CurrentAccount) CO1
Week 3 Java Programming: Buzzwords, Data types, Variables, Operators, Control structures, Arrays, Console I/O Prime Palindrome Check; Command Line Arguments – Marks Total & Average CO1
Week 4 & 5 Classes, Objects, Constructors, Methods, Parameter Passing, Method & Constructor Overloading Farm Animals application; Employee data by cadre, implement the below class diagram
UML Class Diagram: Customer, Order, SpecialOrder, NormalOrder
Click to expand
CO1
Week 6 Static fields & methods, this reference, final keyword, String Handling Longest Substring Without Repeating Characters CO1
Week 7 Inheritance – Types, super keyword, Member Access, final. Polymorphism – Dynamic Binding, Method Overriding, Abstract Classes Banking System: Method Overriding with RBI, SBI, HDFC CO1
Week 8 Interfaces – Defining, Implementing, Accessing via interface references, Extending interfaces Employee Categories – Regular, Contract, Vendor salary calculation CO2
Week 9 Packages – Defining, Creating, Accessing, Importing packages Roman to Integer conversion using a custom package CO2
Week 10 I/O – Reading and writing files Pattern frequency count ('pe', 'pi') in a text file CO2
Week 11 Exception Handling – try/catch, throw, throws, finally, multiple catches, built-in & user-defined exceptions Mobile Number Validator with custom exceptions CO3
Week 12 Multithreading – Thread priorities, synchronization, creating multiple threads Seat Reservation System using synchronization CO3
Week 13 Collection Framework – Collection, List, Set, Queue interfaces Letter Combinations of a Phone Number
Phone Keypad Mapping
Click to expand
CO4
Week 14 Collection Classes – ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue Valid Parentheses using Stack and TreeSet CO4
📄
Download Syllabus PDF
Save this syllabus as a PDF for offline reference
View / Download PDF
🔬 Lab Manual

Java Programming Practices Lab · 23CM9201 · Academic Year 2026–27 · CSE (AI & ML)

Lab Objectives: Understand OOP concepts and apply them in problem solving using Java; learn Java console programming.
Software Required: JDK 8+, Eclipse / NetBeans / IntelliJ IDEA / VS Code with Java Extension, Windows 10/11 or Ubuntu Linux.
List of Experiments
# Week Experiment Title & Description CO
Exp 1 1 & 2
Bank Account Management System
OOP: Classes, Encapsulation, Inheritance, Polymorphism, Dynamic Binding. Classes: Account, SavingsAccount, CurrentAccount.
CO1
Exp 2 3
Java Basics – Prime Palindrome Check
Check whether a given number is a prime palindrome.
CO1
Exp 3 3
Java Basics – Command Line Arguments
Read marks of five subjects via command line; print total and average.
CO1
Exp 4 4 & 5
Classes and Objects – Farm Animals Application
Design a farm animals app: where they stay, what they eat, the sound they make.
CO1
Exp 5 4 & 5
Class Diagram – Customer, Order, SpecialOrder, NormalOrder
Implement a class diagram with Customer, Order, SpecialOrder, and NormalOrder.
CO1
Exp 6 4 & 5
Constructor Overloading – Employee Data by Cadre
Maintain employee data (name, id, designation, salary, promotion status) using constructor overloading.
CO1
Exp 7 6
String Handling – Longest Substring Without Repeating Characters
"abcabcbb" → 3 ("abc"), "pwwkew" → 3 ("wke").
CO1
Exp 8 7
Method Overriding – Banking System (RBI, SBI, HDFC)
Dynamic polymorphism: RBI 4%, SBI 7%, HDFC rate via overriding.
CO1
Exp 9 8
Interfaces – Employee Categories
Monthly salary for Regular, Contract, and Vendor employees using interfaces.
CO2
Exp 10 9
Packages – Roman to Integer Conversion
Define package number with Roman class; implement romanToInteger(). "LVIII" → 58.
CO2
Exp 11 10
File Handling – Pattern Frequency Count
Count occurrences of 'pe' and 'pi' in sample.txt. Expected: 'pe'=20, 'pi'=12.
CO2
Exp 12 11
Exception Handling – Mobile Number Validator
Validate 10-digit mobile; raise ArrayIndexOutOfBoundsException, LengthNotSufficientException, or NumberFormatException.
CO3
Exp 13 12
Multithreading – Seat Reservation System
Reserve seats from 100 using synchronized threads; only one person thread accesses reserve at a time.
CO3
Exp 14 13
Collection Framework – Letter Combinations of Phone Number
Given digits 2–9, return all letter combinations (T9 keypad). "23" → ["ad","ae","af","bd","be","bf","cd","ce","cf"].
CO4
Exp 15 14
Collection Classes – Valid Parentheses
Check if a string of '()', '{}', '[]' is valid using Stack and TreeSet.
CO4
ℹ️ Observation book must include: Aim · Algorithm/Procedure · Program Code · Output/Screenshots · Viva-Voce Q&A · Errors Observed.
📄
Download Lab Manual PDF
Save this lab manual as a PDF for offline reference
View / Download PDF
📊 Marks & Evaluation

Java Programming Practices · 23CM9201 · R23 Regulation

Internal (Sessional) — 60 Marks
External (End Exam) — 40 Marks

Grand Total = 100 Marks

Internal / Sessional — 60 M
Mid Average 15
Mid-1 Exam15 M
Mid-2 Exam15 M
Average of both is counted= 15
Daily Evaluation (Weekly Assessment) 20
📝 Record (Lab Notebook)10 M
📊 Regular Performance10 M
Attendance (this subject only) 5
Your Attendance %Marks You Get
Above 90% 5 / 5
80% – 90% 4 / 5
75% – 80% 3 / 5
66% – 75% 2 / 5
Below 66% 0 / 5
⚠️ Only this subject's lab attendance is counted — not your overall attendance.
Internal Lab Exam 20
📄 Description10 M
💻 Execution5 M
🗣️ Viva5 M
Total Internal60 / 60
External / End Exam — 40 M
📝 Writeup 20
💻 Execution 10
🗣️ Viva 10
Total External40 / 40
💡 Tips to Score Well
✅ Submit writeups before each lab session
✅ Run programs without errors — execution marks are easy
✅ Prepare viva answers for every experiment
✅ Keep your lab record neat and up-to-date
✅ Don't miss this subject's lab sessions — attendance here (not total) gives you 5 marks
📌 About Mid Exams
Both Mid-1 and Mid-2 are out of 15 marks each. Your final mid score is calculated as:

🏆 Better mid score¾ (75%) of those marks are counted
📉 Lower mid score⅓ (33%) of those marks are counted
So always aim to do well in both mids — but even if one goes badly, a strong performance in the other limits the damage.
📄 Mid Model Paper
📝
Mid Model Paper
Java Programming Practices · Mid Examination
⬇ Download