CSE406:ADVANCED JAVA PROGRAMMING
L:3 T:0 P:2 Credits:4
Course Outcomes: Through this course students should be able to
CO1 :: describe applications that use builder pattern and the map-reduce framework
CO2 :: explain high-performing multi-threaded applications
CO3 :: develop Java applications with the latest JDK Technology and GUI features
CO4 :: assess connection to databases using standard SQL queries
CO5 :: predict the use of type of date time API classes and methods in Java applications
CO6 :: use Lambda Expression concurrency features
Unit I
Collections Streams, and Filters : Describing the Builder pattern, Iterating through a collection
using lambda syntax, Describing the Stream interface, Filtering a collection using lambda expressions,
Chaining multiple methods together, Defining pipelines in terms of lambdas and collections,
Describing how to make a stream pipeline execute in parallel, Defining reduction, Calculating a value
using reduce, Describing the process for decomposing and then merging work
Lambda Operations : Extracting data from an object using map, Describing the types of stream
operations, Describing the Optional class, Describing lazy processing, Sorting a stream, Saving results
to a collection using the collect method, Grouping and partition data using the Collectors class,
Program to implement Lambda operations
Unit II
GUI : Introduction to swing, JFrame & JPanel, Swing components, Layout managers, Color Class,
Font Class, Graphics class, Programs to create Graphical User Interface
Event Handling : Event delegation model, Event and Event source, Event listener interfaces,
Registrations and handling events, Event class – mouse events, key events, Anonymous class
listeners, Listener Interface Adapter
Unit III
File I/O (NIO.2) : Using the Path interface to operate on file and directory paths, Using the Files
class to check, delete, copy, or move a file or directory, Using Stream API with NIO2
Database Applications with JDBC : Defining the layout of the JDBC API, Connecting to a database
by using a JDBC driver, Submitting queries and get results from the database, Specifying JDBC driver
information externally, Performing CRUD operations using the JDBC API
Unit IV
JSP : Lifecycle of a JSP Page, The Directory structure of JSP, The JSP API, JSP Scripting elements:
scriptlet tag, expression tag, declaration tag, JSP Implicit Objects, JSP Action Tags
Unit V
Java Date/Time API : Creating and manage date-based events, Creating and manage time-based
events, Combining date and time into a single object, Working with dates and times across time
zones, Defining and create timestamps, periods and durations, Applying formatting to local and zoned
dates and times
Unit VI
Concurrency : Describing operating system task scheduling, Creating worker threads using Runnable
and Callable, Using an ExecutorService to concurrently execute tasks, RecursiveTask
Localization : Describing the advantages of localizing an application, Read and set the locale by
using the Locale object, Building a resource bundle for each locale, Calling a resource bundle from an
application
Multi-Threading : Overview of multi threading, Thread life cycle, Creating tasks and threads, Thread
class and Runnable interface
List of Practicals / Experiments:
Concurrency Practical
• Program to implement Executor service and Fork-Join Framework
Session 2023-24 Page:1/2
Multi-Threading Practical
• Program to implement multi-threading
Localization Practical
• Program to implement Internationalization
Java Date/Time Practical
• Program to implement Date-Time API
JSP Practical
• Program to implement JSP API
• Program to create web-services
File Input output Practical
• Program to implement File I/O
Database Practical
• Program to implement JDBC API
Event Handling Practical
• Program to handle events using listener interfaces
• Program to handle events using Adapter classes
GUI Practical
• Programs to create Graphical User Interface
Lambda Practical
• Program to implement Lambda operations
Collection Practical
• Program to implement Streams API
• Program to implement Collection Streams
Text Books:
1. JAVA THE COMPLETE REFERENCE by HERBERTZ SCHILDT, MCGRAW HILL EDUCATION
References:
1. INTRODUCTION TO JAVA: COMPREHENSIVE EDITION by DR. Y. DANIEL LIANG, PEARSON
2. ADVANCED JAVA TECHNOLOGY by PROF. M.T. SAVALIYA, DREAMTECH PRESS
3. JAVA: THE COMPLETE REFERENCE by HERBERT SCHILDT, Tata McGraw Hill, India
4. CORE JAVA AN INTEGRATED APPROCH by DR. R NAGESWARA RAO, DREAMTECH PRESS
5. PROGRAMMING IN JAVA by SACHIN MALHOTRA AND SAURABH CHOUDHARY, Oxford
Higher Education
Session 2023-24 Page:2/2