Java Basic to Advance
Introduction to Java and Environment Setup
- Setting up Java and VS Code environment
- Java syntax basics, Variables, data types, Simple I/O
- Mini Project: Simple calculator
Control Structures
- If-else statements, switch-case
- Loops: for, while, do-while
- Mini Project: Guess the number game
Functions and Methods
- Defining and using methods, Parameters, return values
- Method overloading
- Mini Project: Unit converter (temperature, distance, weight)
Arrays and Strings
- Single-dimensional and multi-dimensional arrays
- String manipulation: Substring, replace, etc.
- Project: Contact management system
Object-Oriented Programming (OOP) Basics
- Classes, objects, constructors
- Encapsulation, getters, setters
- Project: Student management system
Inheritance and Polymorphism
- Inheritance basics
- Method overriding and polymorphism
- Project: Vehicle class with Car and Bike
Abstract Classes and Interfaces
- Abstract methods and classes
- Implementing interfaces
- Project: Banking system (savings, checking accounts)
Exception Handling
- Try-catch, throw, custom exceptions
- Project: File reader application with error handling
File I/O
- Reading from and writing to files in Java
- Project: Note-taking application
Collections Framework
- ArrayList, HashMap, Iterators
- Project: To-do list manager
Generics and Lambda Expressions
- Generics and lambda functions
- Project: Sorting tool using generics and lambda
Recursion and Advanced Algorithms
- Recursion basics
- Sorting and searching algorithms (Bubble sort, binary search)
- Project: Game leaderboard for player scores
GUI Development with Swing
- Introduction to Java Swing (buttons, text fields, labels)
- Project: Simple calculator with Swing
Event Handling in GUI
- Event-driven programming (ActionListener, etc.)
- Project: Login form with event handling
Layouts and Advanced GUI Components
- Layouts: BorderLayout, FlowLayout, GridLayout
- Project: Multi-panel desktop application
Multithreading Basics
- Introduction to threads and concurrency
- Project: Multi-threaded file downloader
Concurrency and Synchronization
- Synchronizing threads
- Project: Thread-safe concurrent queue
Networking in Java
- Socket programming, Client-server applications
- Project: Chat application
Final Project
- Comprehensive final project covering major Java concepts
- Presentation and code review