Skip to content

AshPiBit02/java-engineering-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

305 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced Programming with Java

Java Swing JavaFX JDBC Spring Boot Hibernate


A structured learning repository for the Advanced Programming with Java course — covering everything from Java fundamentals and OOP to GUI development, networking, database connectivity, web programming, and modern enterprise frameworks.


Phases Topics Tutorials Practical Work


📖 About This Repo

This Repo provides an in-depth understanding of advanced Java programming, covering both theoretical and practical aspects. Topics span 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.


🎯 Learning Objectives

  • 🏗️ Build robust Java applications through a thorough understanding of Java architecture, data types, and control structures
  • 🧬 Design and implement sophisticated Java programs using advanced OOP principles — inheritance, polymorphism, and abstraction
  • 🖥️ Create interactive GUI applications using AWT, Swing, and JavaFX
  • 🌐 Develop networked Java applications covering socket programming, URL handling, and email integration
  • 🗄️ Connect and interact with databases via JDBC — from connection management to SQL security
  • 🌍 Build dynamic web applications using Servlets and JSP with database and session integration
  • ⚙️ Apply enterprise-level Java — ORM, Hibernate, Spring Boot, concurrency, and design patterns

🗂️ Phases

Phase 1 · Basics of Programming in Java

  • 1.1 Java Architecture, Class paths, Sample Program
  • 1.2 Classes, Objects, Constructors
  • 1.3 Packages and Data Types
  • 1.4 Conditional Statements
  • 1.5 Access Modifiers
  • 1.6 Exception Handling
  • 1.7 Java Collections

Phase 2 · Object Oriented Principles in Java

  • 2.1 Review of object-oriented principles
  • 2.2 Super class, sub class, inheritance, and member access
  • 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

Phase 3 · Building Components using Swing and JavaFX

  • 3.1 Introduction to AWT and Swing — Concept, Applets, Swing Class Hierarchy, Components/Containers
  • 3.2 Layout Management
  • 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

Phase 4 · Distributed Network Programming

  • 4.1 TCP, UDP, IP Address and Ports
  • 4.2 Socket Programming using TCP and UDP
  • 4.3 Working with URLs and URL Connection Class
  • 4.4 Email Handling using Java Mail API
  • 4.5 Architecture of RMI
  • 4.6 Creating and Executing RMI Applications
  • 4.7 Architecture of CORBA
  • 4.8 RMI vs CORBA
  • 4.9 IDL and Simple CORBA Program

Phase 5 · Database Connectivity with JAVA

  • 5.1 JDBC Architecture
  • 5.2 JDBC Driver Types and Configuration
  • 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

Phase 6 · Servlets and JSP

  • 6.1 Overview of Web Application
  • 6.2 HTTP Methods and Responses
  • 6.3 Life Cycle of Web Servlets
  • 6.4 Writing Servlet programs with Servlet APIs
  • 6.5 Reading and Processing Forms
  • 6.6 Handling GET/POST Requests
  • 6.7 Database connectivity through servlets
  • 6.8 Cookies and Sessions

Phase 7 · Advanced Topics in JAVA

  • 7.1 Overview of ORM
  • 7.2 Hibernate
  • 7.3 Web Framework Introduction
  • 7.4 Basics of Spring Boot
  • 7.5 Concurrency and Multithreading in JAVA
  • 7.6 Design Patterns — Singleton, Factory and Abstract Factory

🧪 Tutorials

  • T01 · Setting Up Java Development Environment (JDK + IDE)
  • T02 · Creating Your First Java Program
  • T03 · Working with Classes and Objects
  • T04 · Packages and Data Types
  • T05 · Conditional Statements — if-else, switch-case, logical operators
  • T06 · Access Modifiers — public, private, protected, default
  • T07 · Exception Handling — try-catch, checked vs unchecked exceptions
  • T08 · Working with Files in Java (Java I/O)
  • T09 · Java Collections Framework — ArrayList, LinkedList, HashMap
  • T10 · Object-Oriented Concepts — inheritance, polymorphism, encapsulation, abstraction
  • T11 · Advanced Inheritance and Interfaces
  • T12 · GUIs with Swing — components, event handling, layout management
  • T13 · Introduction to JavaFX — scene graphs, UI controls, event handling
  • T14 · Network Programming with Sockets — TCP and UDP
  • T15 · Database Connectivity with JDBC
  • T16 · Advanced Inheritance and Interfaces (extended)
  • T17 · Servlet Development — lifecycle, HTTP requests and responses
  • T18 · JSP Essentials — dynamic pages, form handling, DB connectivity
  • T19 · Concurrency and Multithreading — synchronization, thread pools
  • T20 · Design Patterns — Singleton, Factory, Abstract Factory

🔬 Practical Work

  • P01 · Basic Java Application — syntax, variables, and control structures
  • P02 · Object-Oriented Programming — inheritance, encapsulation, polymorphism
  • P03 · GUI Application with Swing — buttons, text fields, labels
  • P04 · JavaFX Project — layout managers, UI controls, event handling
  • P05 · Socket Programming — client-server app over TCP/UDP
  • P06 · JDBC Database Application — CRUD operations and exception handling
  • P07 · Servlet-Based Web Application — HTTP, JSP, and dynamic content
  • P08 · Concurrency Demonstration — multithreading and safe thread execution
  • P09 · Hibernate Integration — ORM with database CRUD
  • P10 · Spring Boot Project — auto-configuration and dependency injection

🛠️ Tech Stack

Layer Technology
Language Java (JDK 17+)
GUI AWT · Swing · JavaFX
Networking Java Sockets · RMI · Java Mail API · CORBA
Database JDBC · Hibernate · MySQL / PostgreSQL
Web Servlets · JSP · Apache Tomcat
Framework Spring Boot
Concurrency Java Threads · ExecutorService
Design Patterns Singleton · Factory · Abstract Factory
IDE IntelliJ IDEA / Eclipse
Build Tool Maven / Gradle


🌐 Connect & Explore

This repository is part of my academic and personal learning journey in Java development. Feel free to explore, fork, or star if you find it helpful!

GitHub Gmail LinkedIn



If this repo helped you, consider giving it a


© 2026 · Built with curiosity and dedication

About

A systematic repository for mastering Java engineering principles, from core syntax to advanced multi-threaded architectures and design patterns.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages