Advanced Programming with Java - Syllabus
Course Information
| Course Title | Advanced Programming with Java |
| Full Marks | 100 |
| Pass Marks | 45 |
| Nature of Course | Theory/Tutorial/Practical |
| Time per Period | 1 hour |
| Total Periods | 45 |
| Level | Undergraduate |
| Program | BE 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
- Understand Java fundamentals, architecture, data types, and control structures.
- Master object-oriented principles: inheritance, polymorphism, abstraction.
- Develop GUI applications using Swing, AWT, and JavaFX.
- Learn networking, socket programming, URL handling, and email integration.
- Gain knowledge in database connectivity with JDBC and SQL operations.
- Create dynamic web applications using Servlets and JSP.
- 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