

This course introduces students to the powerful world of desktop application development and backend logic using Java — one of the most robust and widely-used programming languages. With hands-on training, students will learn how to build real-world GUI applications, connect them to databases, and implement core backend logic using object-oriented programming (OOP) principles.
The course is ideal for aspiring software developers, students, and professionals who want to build secure, scalable, and efficient applications for Windows, macOS, or Linux environments.
Installing Java (JDK) and IntelliJ/Eclipse
Writing Your First Java Program
Java Syntax, Variables, and Data Types
Control Structures (if, switch, loops)
Methods & Parameters
Error Handling and Debugging
Classes and Objects
Constructors and Overloading
Inheritance and Polymorphism
Encapsulation and Abstraction
Interfaces vs. Abstract Classes
Static vs. Instance Members
Introduction to GUI: JavaFX vs. Swing
Creating Windows, Buttons, and Events
Layout Managers (GridPane, VBox, BorderPane, etc.)
Working with Forms and Input Validation
File Choosers and Menus
Scene Navigation and Styling with CSS
Introduction to Databases and SQL
Setting Up MySQL or SQLite
Connecting Java Apps with JDBC
CRUD Operations (Create, Read, Update, Delete)
Prepared Statements and Transactions
Data Binding and TableViews
MVC Architecture in Desktop Apps
Business Logic Layer
Handling Large Forms and User Input
Login/Authentication System
Role-based Access and Permissions
Reading/Writing Text and CSV Files
PDF Exporting (e.g., using iText)
Generating and Styling Reports
Working with Images and Multimedia
Exception Handling Best Practices
Debugging Techniques and Logs
Packaging Java Applications (JAR & EXE)
Creating Installers (with Launch4J/Inno Setup)
Version Control with Git
Design and Build a Complete Desktop Application
(e.g., Inventory System, Library Management, Billing System, etc.)
Documentation and Code Review
Presentation and Code Defense
Certificate of Completion
Access to project templates and reusable components
Database scripts and starter files
GitHub code repository setup and walkthrough
One-on-one code review sessions
Certificate and portfolio project at completion