Java Documentation

Advanced Programming with Java - Syllabus

Course Information

Course TitleAdvanced Programming with Java
Full Marks100
Pass Marks45
Nature of CourseTheory/Tutorial/Practical
Time per Period1 hour
Total Periods45
LevelUndergraduate
ProgramBE Computer/IT/Software

Course Description

This course provides in-depth knowledge of advanced Java programming, including Java architecture, object-oriented principles, GUI development, networking, database integration, web development, and advanced topics like ORM, Hibernate, and concurrency. Students will be equipped to build robust Java applications for diverse professional challenges.

General Objectives

  1. Understand Java fundamentals, architecture, data types, and control structures.
  2. Master object-oriented principles: inheritance, polymorphism, abstraction.
  3. Develop GUI applications using Swing, AWT, and JavaFX.
  4. Learn networking, socket programming, URL handling, and email integration.
  5. Gain knowledge in database connectivity with JDBC and SQL operations.
  6. Create dynamic web applications using Servlets and JSP.
  7. Explore advanced topics: ORM, Hibernate, Spring Boot, concurrency, and design patterns.

Methods of Instruction

The course uses lectures, practical classes, tutorials, group discussions, presentations, quizzes, and project work to ensure a balance of theory and hands-on learning.

Course Contents

Unit 1: Basics of Programming in Java (7 hrs)

  • Java Architecture, Class paths, Sample Program
  • Classes, Objects, Constructors
  • Packages and Data Types
  • Conditional Statements
  • Access Modifiers
  • Exception Handling
  • Java Collections

Unit 2: Object Oriented Principles in Java (6 hrs)

  • Review of object-oriented principles
  • Super class, sub class, inheritance, and member access
  • Types of inheritance
  • Extends and super keyword
  • Overriding/Overloading
  • Final classes and methods
  • Abstract classes and methods
  • Upcasting vs Down casting
  • Interfaces and Implementations

Unit 3: Building Components using Swing and JavaFX (6 hrs)

  • Introduction to AWT and Swing
  • Layout Management
  • GUI Controls
  • Menu Elements and Tooltips
  • Dialogs and Frames
  • Event Handling
  • JavaFX vs Swing, Layouts, and UI Controls

Unit 4: Distributed Network Programming (8 hrs)

  • TCP, UDP, IP Address and Ports
  • Socket Programming using TCP and UDP
  • Working with URLs and URL Connection Class
  • Email Handling using Java Mail API
  • Architecture of RMI and CORBA
  • Creating and Executing RMI Applications
  • IDL and Simple CORBA Program

Unit 5: Database Connectivity with JAVA (5 hrs)

  • JDBC Architecture and Driver Types
  • Managing Connections and Statements
  • Result Sets and Exception Handling
  • DDL and DML Operations
  • SQL Injection and Prepared Statements
  • Row Sets and Transactions
  • SQL Escapes

Unit 6: Servlets and JSP (6 hrs)

  • Overview of Web Application
  • HTTP Methods and Responses
  • Life Cycle of Web Servlets
  • Writing Servlet programs
  • Form Handling (GET/POST)
  • Database connectivity
  • Cookies and Sessions

Unit 7: Advanced Topics in JAVA (7 hrs)

  • Overview of ORM and Hibernate
  • Web Framework Introduction
  • Basics of Spring Boot
  • Concurrency and Multithreading
  • Design Patterns: Singleton, Factory, Abstract Factory

Tutorials

  • Setting Up Java Development Environment
  • Creating Your First Java Program
  • Working with Classes and Objects
  • Packages and Data Types
  • Conditional Statements
  • Access Modifiers
  • Exception Handling
  • Working with Files in Java
  • Java Collections Framework
  • Object-Oriented Concepts
  • Advanced Inheritance and Interfaces
  • GUIs with Swing
  • Introduction to JavaFX
  • Network Programming with Sockets
  • Database Connectivity with JDBC
  • Servlet Development
  • JSP Essentials
  • Concurrency and Multithreading
  • Design Patterns

Practical Work

  • Basic Java Application
  • Object-Oriented Programming
  • GUI Application with Swing
  • JavaFX Project
  • Socket Programming
  • JDBC Database Application
  • Servlet-Based Web Application
  • Concurrency Demonstration
  • Hibernate Integration
  • Spring Boot Project

Evaluation & Responsibilities

Internal evaluation includes quizzes, assignments, lab reports, projects, class participation, and presentations. Students must secure at least 45% marks and 80% attendance to appear in final exams.

References

  • Dietel H.M and Dietel P.J., Java: How to Program, Third Edition, Pearson Education Asia
  • Naughton, Java 2: The Complete Reference, Tata McGraw Hill
  • Balagurusamy E., Programming in Java: 2nd Edition, Tata McGraw Hill