Advanced Programming With JAVA
Advanced Programming With JAVA
Advanced Programming With JAVA
1. Course Description
This comprehensive course provides students with an in-depth understanding of advanced Java
programming, covering essential theoretical and practical aspects. Topics include Java
architecture, object-oriented principles, graphical user interface development, networking,
database integration, web development, and advanced Java topics like ORM, Hibernate, and
concurrency. By the end of the course, students will be proficient in Java programming,
equipped to build GUI applications, handle networked and database-driven projects, and explore
advanced Java concepts, making them well-prepared for diverse Java-related challenges in the
professional world.
2. General Objectives
The course is designed with the following objectives:
As this course encompasses a wide range of Java programming concepts, it will adopt a diverse
instructional approach to cater to various learning dimensions. The delivery will include
traditional lectures that provide students with a strong theoretical foundation in advanced Java. In
addition to lectures, practical classes will allow students to gain hands-on experience in Java
programming, reinforcing their understanding. Tutorials will complement lectures and encourage
interactive discussions to address questions and clarify complex topics. To promote knowledge
sharing and exploration of emerging trends, students will engage in group discussions and
presentations related to advanced Java programming. Periodic short quizzes will be conducted to
gauge students' comprehension, and project work will be assigned, challenging students to create
Java software applications that demonstrate their mastery of the course material.
Students will learn about object- Unit 2: Object Oriented Principles in Java
oriented principles in JAVA. Students (6hrs)
will be able to implement the concepts
of inheritance, abstraction, 2.1 Review of object-oriented principles
polymorphism. This chapter helps 2.2 Super class, sub class, inheritance, and member
students learn how object-oriented access
concepts are implemented in JAVA. 2.3 Types of inheritance
2.4 Extends and super keyword
2.5 Overriding/Overloading
2.6 Final classes and methods
2.7 Abstract classes and methods
2.8 Upcasting vs Down casting
2.9 Interfaces and Implementations
Unit 3: Building Components using Swing and JavaFX
This chapter intends to provide (6 hrs.)
students’ knowledge on how UI
components like Swing, AWT and 3.1 Introduction to AWT and Swing: Concept, Applets,
JavaFX is used to create desktop Swing Class Hierarchy, Components/Containers
applications along with elements, 3.2 Layout Management
layouts and controls. 3.3 GUI Controls
3.4 Menu Elements and Tooltips
3.5 Dialogs and Frames
3.6. Event handling and Listener Interfaces
3.7. Handling Action Events
3.8 JavaFX vs Swing
3.9 JavaFX Layouts
3.10 JavaFX UI Controls
Unit 4: Distributed Network Programming (8 Hrs.)
This chapter intends to provide
students basic of networking and how 4.1 TCP, UDP, IP Address and Ports
JAVA programming can be used to 4.2 Socket Programming using TCP and UDP
perform basic to advanced network 4.3 Working with URLs and URL Connection Class
programming. This also intends to 4.4 Email Handling using Java Mail API
cover the basics of Email Handling 4.5 Architecture of RMI
along with advanced concepts like 4.6. Creating and Executing RMI Applications
RMI, IDL and CORBA. 4.7. Architecture of CORBA
4.8. RMI vs CORBA
4.9. IDL and Simple CORBA Program
This chapter intends to provide Unit 5: Database Connectivity with JAVA (5 hrs)
information on how Database
connectivity is handled in JAVA along 5.1 JDBC Architecture
with the architecture, drivers, and 5.2 JDBC Driver Types and Configuration
basics of database. 5.3 Managing Connections and Statements
5.4 Result Sets and Exception Handling
5.5 DDL and DML Operations
5.6. SQL Injection and Prepared Statements
5.7. Row Sets and Transactions
5.8. SQL Escapes
In this chapter, students will get to Unit 7: Advanced Topics in JAVA (7 Hrs)
know advanced topics like ORM,
Frameworks, concurrency, 7.1 Overview of ORM
multithreading and how it can be used 7.2 Hibernate
in JAVA. Along with these, students 7.3 Web Framework Introduction
will also learn basics of design 7.4. Basics of Spring Boot
patterns. 7.5. Concurrency and Multithreading in JAVA
7.6. Design Patterns: Singleton, Factory and Abstract
Factory
5. List of Tutorials
The following tutorial activities of 15 hours per group of maximum 24 students should be
conducted to cover all the required contents of this course.
S.N. Tutorials
1
Setting Up Your Java Development Environment: A tutorial on installing and
configuring the Java Development Kit (JDK) and Integrated Development
Environment (IDE) for Java programming.
2
Creating Your First Java Program: A step-by-step guide to writing,
compiling, and running a simple Java program to understand the basic
structure.
3
Working with Classes and Objects: Tutorials covering the creation of classes,
instantiation of objects, and implementing constructors and methods.
4
Packages and Data Types: Exploring Java packages and different data types,
with hands-on exercises to practice variable declarations and data
manipulation.
5
Conditional Statements: Tutorial sessions on using if-else statements, switch-
case constructs, and logical operators for conditional programming.
6
Access Modifiers: Understanding access modifiers like public, private,
protected, and default, and their implications on class members.
7
Exception Handling in Java: Comprehensive tutorials on try-catch blocks,
checked vs. unchecked exceptions, and best practices for handling
exceptions.
8
Working with Files in Java: Step-by-step guidance on reading from and
writing to files using Java I/O classes.
9
Java Collections Framework: In-depth tutorials on ArrayLists, LinkedLists,
HashMaps, and other collection classes, including common operations and
use cases.
10
Object-Oriented Concepts: Exploring inheritance, polymorphism,
encapsulation, and abstraction with practical examples.
11
Advanced Inheritance and Interfaces: Tutorials on creating subclasses,
implementing interfaces, and understanding multiple inheritance in Java.
12
Graphical User Interfaces (GUIs) with Swing: A series of tutorials on
building interactive user interfaces using Swing, covering components, event
handling, and layout management.
13
Introduction to JavaFX: Learning the basics of JavaFX, including scene
graphs, UI controls, and event handling for creating modern Java
applications.
14
Network Programming with Sockets: Hands-on exercises demonstrating
socket programming for both TCP and UDP protocols.
15
Database Connectivity with JDBC: Step-by-step tutorials on JDBC
configuration, database connection management, executing SQL queries, and
handling result sets.
16
Advanced Inheritance and Interfaces: Tutorials on creating subclasses,
implementing interfaces, and understanding multiple inheritance in Java.
17
Servlet Development: A comprehensive guide to creating Java servlets,
understanding their life cycle, and processing HTTP requests and responses.
18
JSP (JavaServer Pages) Essentials: Tutorials on developing dynamic web
pages using JSP, including form handling and database connectivity.
19
Concurrency and Multithreading: Exploring multithreading in Java, including
synchronization, thread pools, and concurrent data structures.
20
Design Patterns: Detailed tutorials on the Singleton, Factory, and Abstract
Factory design patterns, with practical examples.
6. Practical Work
Internal Evaluation
In addition to the formal end-semester exam(s), the internal (formative) evaluation of a student
may consist of quizzes, assignments, lab reports, projects, class participation and presentation
etc. The tabular presentation of the internal evaluation is as follows. The components may differ
according to the nature of the subjects.
Theory 30
Assignments 20%
Presentations/Quizzes 10%
Practical 20
Semester-End 50
examination
Attendance & Class Participation 20%
Total Internal 50
Student requirements:
Each student must secure at least 45% marks in internal evaluation with 80% attendance in the
class in order to appear in the semester-end examination. Failing to get such a score will be
equated with NOT QUALIFIED (NQ) and the student will not be eligible to appear in the End-
Semester examinations. Students are advised to attend all the classes and complete all the
assignments within the specified time period. Failure of a student to attend a formal exam, quiz,
test, etc. won’t qualify him/her for re-exam. Students are required to complete all the
requirements defined for the completion of the course
1. Dietel H.M and Dietel P.J., Java: How to Program, Third Edition, Pearson Education
Asia
2. Naughton Java 2: The Complete Reference, Tata McGraw Hill
3. Balagurusamy E., Programming in Java: 2nd Edition, Tata McGraw Hill