CHO (PaUJ)

Course Plan Page1 of 6 24CSE0314/ Programming Abstractions using JAVA Page 1 of 6 Course Handout Institute/School Name Chitkara University Institute of Engineering and Technology Department Name Department of Computer Science & Engineering Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering Course Name Programming Abstractions using JAVA Session July -Dec, 2026 Course Code 24CSE0314 Semester/Batch 5th/2024 L-T-P (Per Week) 2-0-4 Course Credits 4 Pre-requisite Java Basics, Programming Concepts NHEQF Level1 5 Course Coordinator Dr. Shivani Wadhwa SDG Number4 4, 8, 9 1. Objectives of the Course The scope of the course is to provides the foundation for understanding the key aspects of java programming and implementation obtaining a theoretical understanding of advance programming concepts. The objectives of the course are: • To apply Java programming fundamentals, OOP concepts, and collections to solve computational problems. • To develop robust Java applications using exception handling, file handling, streams, and functional programming features. • To design and implement database-driven applications using SQL, JDBC, and DAO architecture. • To implement multithreaded and concurrent Java applications with synchronization and thread management. • To design, develop, test, debug, and document an integrated Java application using OOP, collections, file handling, JDBC, and basic concurrency while adhering to good coding practices. 2. Course Learning Outcomes (CLOs) Student should be able to: CLOs Program Outcomes (PO) NHEQF Level Descriptor2 No. of Lectures CLO01 Develop Java applications using object-oriented principles such as encapsulation, inheritance, polymorphism, and abstraction, while effectively utilizing the Java Collections Framework. PO1, PO2, PO4, PSO1 Q1, Q2, Q6 11 CLO02 Apply exception handling, generics, file handling, streams, lambda expressions, Optional, and the Date-Time API to build efficient, reliable, and maintainable Java applications. PO1, PO8, PO9, PSO1, PSO2 Q3, Q5 4 CLO03 Design and manage relational databases using SQL, including DDL, DML, joins, subqueries, aggregate functions, constraints, normalization, indexing, and transaction management. PO2, PO3, PO5, PSO1 Q2, Q4, Q6 6 CLO04 Develop database-driven Java applications using JDBC, Prepared Statements, the DAO design pattern, and CRUD operations while following secure programming practices. PO2, PO4, PSO1 Q2, Q3, Q4, Q6 6 CLO05 Implement multithreaded Java applications using threads, synchronization, and basic concurrency concepts to solve real-world programming problems. PO1, PO3, PO5 Q1, Q5 3 CLO06 (Only for lab components) Design, implement, test, debug, and document an integrated Java application that combines object-oriented programming, file handling, database connectivity, collections, and concurrency concepts following industry-standard coding practices. PO7, PO8, PO10, PO11, PSO1, PSO2 Q6 60 Total Contact Hours 90 CLO-PO Mapping CLO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PSO1 PSO2 Type of Assessment’s3 CLO01 H M L L Formative, Summative CLO M L L M L Formative, Summative CLO03 L M M H L Formative, Summative CLO04 H M H Formative, Summative CLO05 M M M M L Formative, Summative CLO06 L M L M L H Formative, Summative H=High, M=Medium, L=Low 1 National Higher Education Qualification Framework Level, Refer to annexure 2 NHEQF Level Descriptor, Refer to Annexure & Learning outcomes descriptors for qualification for all levels on the NHEQF 3Types of Assessments can be referred from Type of Assessments. Refer to Annexure. 4For SDG Mapping with Courses, Pl refer SDG Mapping policy for Courses

Course Plan Page2 of 6 24CSE0314/ Programming Abstractions using JAVA Page 2 of 6 3. Recommended Books: B01: Herbert Schildt, Java: The Complete Reference Twelfth Edition, McGraw Hill, 2022. B02: Horstmann, C. S., Core Java for the impatient. Pearson Education, 2023. B03: Cay S. Horstmann, Core Java Volume I–Fundamentals Twelfth Edition, Pearson, 2022. B04: Joshua Bloch, Effective Java Third Edition, Addison-Wesley, 2018. B05: Kimberly Fessel, Head First SQL, Second Edition, O'Reilly Media, 2026. Other readings and relevant websites: Serial No Link of Journals, Magazines, websites and Research Papers 1. https://dev.java/learn/ 2. https://docs.oracle.com/en/java/ 3. https://docs.oracle.com/javase/tutorial/ 4. https://library.chitkara.edu.in/subscribed-books.php 5. http://www.nptelvideos.com/java 4. Recommended Tools and Platforms • Visual Studio IDE • Testpad 5. Course Plan: Theory+ Lab Plan Theory Plan Lect. No. Topic(s) 1-4 Java Basics: Java Syntax: Variables, literals, identifiers, primitive and non-primitive data types, type conversion, operators, expressions, control statements, OOP, Arrays, Strings, Methods, Packages, Data Types, Overflow, Modular, Arithmetic Basics 5-7 STL / Collections Review: List, Vector, ArrayList, LinkedList, Set, HashSet, TreeSet, Map, HashMap, Priority Queue, Practice Contest 1 8-9 File Handling: Generics, Exceptions: try-catch-finally, throw/throws, custom exceptions, exception hierarchy, File Handling: Reading/writing files, File class, file paths, serialization basics 10 Streams: Stream operations, filtering, mapping, reduction, collectors 11 Lambda Expressions: Functional programming concepts, lambda syntax, functional interfaces, Optional, Date-Time API 12-13 JVM Basics: Memory model, heap and stack, garbage collection, bytecode execution, Input/Output Speed, Fast I/O, Buffering, Debugging, Edge Cases and Testing 14 Higher Order Functions: Passing functions, method references, functional interfaces, Practice Contest 2 ST1 15-16 SQL Fundamentals: DDL, DML, DCL, TCL commands 17 Joins: Inner join, outer join, self join, nested queries, Group By: COUNT, SUM, AVG, HAVING clause, Subqueries 18 Constraints: Primary key, foreign key, unique, not null, check constraints, MySQL Design, Indexing 19-21 Normalization, Transactions 22 JDBC: JDBC architecture, drivers, connection setup 23-24 Prepared Statements: Dynamic queries, SQL injection prev 25-26 DAO Pattern: Layered architecture, abstraction of database operations 27 CRUD App Practice: Create, Read, Update, Delete operations ST2 28-29 Multithreading: Thread lifecycle, thread creation using Thread and Runnable, Synchronization methods and blocks, race conditions 30 Concurrency Basics: Deadlock, livelock, thread safety, concurrent collections End Term Exam Lab Plan Lab No. Topic(s) 1-3 Implement conversion between binary, octal, decimal, and hexadecimal. 4-7 Implement a scientific calculator demonstrating precision loss. 8 Swap two numbers without using a temporary variable. 9-15 1. Count set bits in an integer. 2. Find the nearest power of two. 3. Write a program that accepts two integers and determines whether their sum will cause integer overflow before performing the addition. 16-20 1. Program to Group words that are anagrams. 2. Program to Check Whether Two Strings are Anagrams. 3. Program to Find the first unique character in a string. 21-24 1. Program to Rotate a LinkedList by K Positions. 2. Program to create Mini Search Engine which counts keyword occurrences across document. 25-30 Design Ride-Sharing Matching System: Match drivers and passengers using PriorityQueue. 31-40 Implement a generic array utility, Pair class, stack, queue, matrix operations, repository system, sorting framework. 41-45 Implement a lambda expression to determine whether a string is a palindrome. 46-50 1. Program to Remove duplicates using stream operations. 2. Program to Generate official email IDs using map(). 51-56 1. Debug a program stuck in endless execution. 2. Program to handle empty input handling.

Course Plan Page3 of 6 24CSE0314/ Programming Abstractions using JAVA Page 3 of 6 3. Program to identify and report memory leaks. 4. Program to process collection edge cases. 57-60 1. Program to connect Java application to MySQL and display all records. 2. Program to create a simple connection manager for multiple database connections. Delivery/Instructional Resources Theory Plan: Lect. No. Topics CLO Book No, CH No, Page No TLM3 ALM4 Web References Audio- Video 1-4 Java Basics: Java Syntax: Variables, literals, identifiers, primitive and non- primitive data types, type conversion, operators, expressions, control statements, OOP, Arrays, Strings, Methods, Packages, Data Types, Overflow, Modular, Arithmetic Basics 1 B03, CH 1 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/java/jav a-programming- basics/ https://www.yo utube.com/watc h?v=NtmULLvsA Bc 5-7 STL / Collections Review: List, Vector, ArrayList, LinkedList, Set, HashSet, TreeSet, Map, HashMap, Priority Queue, Practice Contest 1 1 B03, CH 5 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/java/jav a-collection- tutorial/ https://www.yo utube.com/watc h?v=OfNtIOGDqz Y 8-9 File Handling: Generics, Exceptions: try- catch-finally, throw/throws, custom exceptions, exception hierarchy, File Handling: Reading/writing files, File class, file paths, serialization basics 1 B03, CH 6 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/java/ex ceptions-in-java/ https://www.gee ksforgee ks.org/dsa/c- program-for- tower-of-hanoi/ 10 Streams: Stream operations, filtering, mapping, reduction, collectors 1 B03, CH 7 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/java/str eam-in-java/ https://www.yo utube.com/watc h?v=nZ0IF1GTrN k 11 Lambda Expressions: Functional programming concepts, lambda syntax, functional interfaces, Optional, Date-Time API 1 B01, CH 4 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/java/la mbda-expressions- java-8/ https://www.yo utube.com/watc h?v=tj5sLSFjVj4 12-13 JVM Basics: Memory model, heap and stack, garbage collection, bytecode execution, Input/Output Speed, Fast I/O, Buffering, Debugging, Edge Cases and Testing 2 B01, CH 6 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/java/jav a-memory- management/ https://www.yo utube.com/watc h?v=IDhePnkipD o 14 Higher Order Functions: Passing functions, method references, functional interfaces, Practice Contest 2 2 B01, CH 10 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://medium.co m/@nagarjun_nage sh/higher-order- functions-in-java- 4e7375fea156 https://www.yo utube.com/watc h?v=wsU5UHRB- V8 15-16 SQL Fundamentals: DDL, DML, DCL, TCL commands 2 B05, CH1 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.geeksf orgeeks.org/sql/sql- ddl-dql-dml-dcl-tcl- commands/ https://www.yo utube.com/watc h?v=pclS6x5ZV_ o 17- 18 Joins: Inner join, outer join, self join, nested queries, Group By: COUNT, SUM, AVG, HAVING clause, Subqueries Constraints: Primary key, foreign key, unique, not null, check constraints, MySQL Design, Indexing 2 B05, CH2 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignm ent https://www.yo utube.com/watc h?v=vdu8qUOpF _Y https://www.w3sch ools.com/sql/sql_joi n.asp 19-21 Normalization, Transactions 3 B05, CH2 Lecture Discussion Demonstration method using a simulation or a tool https://www.gee ksforgeeks.org/db ms/introduction- of-database- normalization/ https://www.youtub e.com/watch?v=cJP VceqfF8I 22 JDBC: JDBC architecture, drivers, connection setup 2 B02, CH 10 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.gee ksforgeeks.org/ja va/introduction- to-jdbc/ https://www.y outube.com/w atch?v=03rDqI 6lxdI

Course Plan Page4 of 6 24CSE0314/ Programming Abstractions using JAVA Page 4 of 6 23-24 Prepared Statements: Dynamic queries, SQL injection 2 B05, CH1 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.gee ksforgeeks.org/sq l/mitigation-sql- injection-attack- using-prepared- statements- parameterized- queries/ https://www.youtub e.com/watch?v=Q69 wdQEQbbE 25-26 DAO Pattern: Layered architecture, abstraction of database operations 2 B05, CH2 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignm ent https://www.gee ksforgeeks.org/sy stem- design/data- access-object- pattern/ https://www.youtub e.com/watch?v=3J5 L40MJfU4 27 CRUD App Practice: Create, Read, Update, Delete operations 2 B05, CH 7 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://networkle ssons.com/netwo rk- automation/crud- create-read- update-delete https://www.youtub e.com/watch?v=BpX aVQSdo_E 28-29 Multithreading: Thread lifecycle, thread creation using Thread and Runnable, Synchronization methods and blocks, race conditions 2 B05, CH8 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignment https://www.gee ksforgeeks.org/ja va/java- multithreading- tutorial/ https://www.youtub e.com/watch?v=EIn dg3TUXyI 30 Concurrency Basics: Deadlock, livelock, thread safety, concurrent collections 2 B05, CH8 Lecture Discussion Demonstration method using a simulation or a tool Quiz Lab Challenge Assignm ent https://www.gee ksforgeeks.org/ja va/need- concurrent- collections-java/ https://www.youtub e.com/watch?v=Mu OgbvKjUG8 3 Teaching Learning Methods, Refer to Annexure 4 Active Learning Methods Lab Plan: Lab No. Experiment CLO TLM ALM Web References Audio-Video 1-3 Implement conversion between binary, octal, decimal, and hexadecimal. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=l6Bl_j3ma-I 4-7 Implement a scientific calculator demonstrating precision loss. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=6F9n-Xr2gyQ 8 Swap two numbers without using a temporary variable. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/sh orts/S7A15R0pCjw 9-15 1. Count set bits in an integer. 2. Find the nearest power of two. 3. Write a program that accepts two integers and determines whether their sum will cause integer overflow before performing the addition. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=RyBM56RIWrM 16-20 1. Program to Group words that are anagrams. 2. Program to Check Whether Two Strings are Anagrams. Program to Find the first unique character in a string. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=Eqy1jE4cbtU 21-24 1. Program to Rotate a LinkedList by K Positions. 2. Program to create Mini Search Engine which counts keyword occurrences across document. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=-hAbvtMYk5U 25-30 Design Ride-Sharing Matching System: Match drivers and passengers using PriorityQueue. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://leetcode.com/proble ms/design-ride-sharing- system/description/ 31-40 Implement a generic array utility, Pair class, stack, queue, matrix operations, repository system, 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=4Y21kUHCtmY

Course Plan Page5 of 6 24CSE0314/ Programming Abstractions using JAVA Page 5 of 6 sorting framework. 41-45 Implement a lambda expression to determine whether a string is a palindrome. 1,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=XMMmvv4wZtQ 46-50 1. Program to Remove duplicates using stream operations. 2. Program to Generate official email IDs using map(). 2,6 Demonstration method using a simulation or a tool Lab Challenge NA https://medium.com/@idiotN /java-8-distinct-tutorial-learn- how-to-remove-duplicates- from-streams-4e77441dcd53 51-56 1. Debug a program stuck in endless execution. 2. Program to handle empty input handling. 3. Program to identify and report memory leaks. Program to process collection edge cases. 2,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=SOOph-l4Kec 57-60 1. Program to connect Java application to MySQL and display all records. 2. Program to create a simple connection manager for multiple database connections. 3,6 Demonstration method using a simulation or a tool Lab Challenge NA https://www.youtube.com/w atch?v=stIicPFW7vo 6. Remedial Classes5 After every Sessional Test, identify weak learners, and prepare the student lists. The following methods would be used to improve performance. of students. • Remedial Classes on Saturdays • Offer supplementary materials or activities to reinforce concepts outside regular class hours. • Special discussions would be planned and scheduled accordingly. 7. Self-Learning6 Assignments to promote self-learning, survey of contents from multiple sources. S.No Topics CLO ALM References/MOOCS 1 Personal Expense Tracker 6 Think – Pair- Share https://www.geeksforgeeks.org/blogs/java-projects/ 2 Brick Breaker Game 6 Think – Pair- Share https://www.geeksforgeeks.org/blogs/java-projects/ 3 Quiz Desktop UI 6 Think – Pair- Share https://www.geeksforgeeks.org/blogs/java-projects/ 8. Delivery Details of Content Beyond Syllabus7 Content beyond syllabus covered (if any) should be delivered to all students that would be planned, and schedule notified accordingly. S.No Advanced Topics, Additional Reading, Research papers and any CLO POs ALM References/MOOCS 1 Mastering Advanced Java: Key Concepts for Expert Developers 6 1, 2, 3, 4, 5, 10 Brainstorming session https://medium.com/@youssefwalid120/mast ering-advanced-java-key-concepts-for-expert- developers-ad32c3ece9cb 9. Evaluation Scheme & Components: Assessment Type8 Evaluation Component9 Type of Component10 No. of Assessments11 % Weightage of Component Max. Marks Mode of Assessment CLO Summative Component2 Sessional Tests (STs) 02* 40% 40 Computer based online in Campus 1-6 Summative Component3 End Term Examination 01** 60% 60 Computer based online in Campus 1-6 Total 100% *Students will have to appear in all Sessional Tests. **As per Academic Guidelines, a minimum of 75% attendance is required to become eligible for appearing in the End Semester Examination. 5 Refer to Annexure6 Refer to Annexure 7 Refer to Annexure

Course Plan Page6 of 6 24CSE0314/ Programming Abstractions using JAVA Page 6 of 6 8 Refer to Annexure 2 of NCrF9 Refer to Annexure 10 Refer to Annexure 11 Refer to Annexure 10. Syllabus of the Course: Subject: S.No. Topic(s) No. of Lectures Weightage % 1 Java Syntax: Variables, literals, identifiers, primitive and non-primitive data types, type conversion, operators, expressions, control statements, OOP, Arrays, Strings, Methods, Packages, Data Types, Overflow, Modular, Arithmetic Basics, STL / Collections Review: List, Vector, ArrayList, LinkedList, Set, HashSet, TreeSet, Map, HashMap, Priority Queue, Practice Contest 1, Generics, Exceptions: try-catch- finally, throw/throws, custom exceptions, exception hierarchy, File Handling: Reading/writing files, File class, file paths, serialization basics, Streams: Stream operations, filtering, mapping, reduction, collectors, Lambda Expressions: Functional programming concepts, lambda syntax, functional interfaces, Optional, Date-Time API, JVM Basics: Memory model, heap and stack, garbage collection, bytecode execution, Input/Output Speed, Fast I/O, Buffering, Debugging, Edge Cases and Testing, Higher Order Functions: Passing functions, method references, functional interfaces, Practice Contest 2 14 47% ST-1 2 SQL Fundamentals: DDL, DML, DCL, TCL commands, Joins: Inner join, outer join, self join, nested queries, Group By: COUNT, SUM, AVG, HAVING clause, Subqueries, Constraints: Primary key, foreign key, unique, not null, check constraints, MySQL Design, Indexing, Normalization, Transactions, JDBC: JDBC architecture, drivers, connection setup, Prepared Statements: Dynamic queries, SQL injection prev, DAO Pattern: Layered architecture, abstraction of database operations, CRUD App Practice: Create, Read, Update, Delete operations 13 47% ST-2 3 Multithreading: Thread lifecycle, thread creation using Thread and Runnable, Synchronization methods and blocks, race conditions, Concurrency Basics: Deadlock, livelock, thread safety, concurrent collections 3 100% End Term Exam 11. Academic Integrity Policy: Education at Chitkara University builds on the principle that excellence requires freedom where Honesty and integrity are its prerequisites. Academic honesty in the advancement of knowledge requires that all students and Faculty respect the integrity of one another's work and recognize the importance of acknowledging and safeguarding intellectual property. Any breach of the same will be tantamount to severe academic penalties. This Document is approved by: Designation Name Signature Course Coordinator Dr. Shivani Wadhwa Head-Academic Delivery Dr. Susheela Hooda Dean Dr. Rupali Gill Date (DD/MM/YYYY) 23.06.2026