Introduction to Java
• History of Java
• Features of Java (WORA, OOP, Robust, Secure)
• JDK, JRE, JVM – Differences
• Installing Java
• Setting up PATH
• Writing first Java program
• Java program compilation cycle
• Bytecode & JVM
Java Fundamentals
• Identifiers, Keywords
• Variables & Data Types
• Constants & Literals
• Type Casting & Conversion
• Operators in Java
• Input using Scanner
• Output using [Link]
• Java Coding Conventions
Control Flow Statements
• if, if-else, nested-if
• switch-case
• Loops: for, while, do-while
• break, continue
• Enhanced for loop
• Flowcharts
Arrays & Strings
• Single-dimensional arrays
• Multi-dimensional arrays
• Array operations
• String class
• StringBuffer & StringBuilder
• String methods
• Character class
• Mutable & immutable strings
Object-Oriented Programming – Core Concepts
• Classes & Objects
• Constructors
• Methods
• Method Overloading
• Static & Instance members
• this keyword
• Garbage collection
• Final keyword
Inheritance & Polymorphism
• Need for inheritance
• Types: Single, Multilevel, Hierarchical
• super keyword
• Method overriding
• Dynamic method dispatch
• Polymorphism (compile-time & runtime)
Abstraction & Encapsulation
• Abstract classes
• Abstract methods
• Interfaces
• Multiple inheritance using interfaces
• Access modifiers: public, private, protected
• Packages
• Encapsulation using getters/setters
Exception Handling
• Introduction to exceptions
• try, catch, finally
• throw & throws
• Types of exceptions
• User-defined exceptions
• Common built-in exceptions
• Exception hierarchy
Java Input/Output (I/O)
• File handling basics
• Byte streams & character streams
• FileInputStream, FileOutputStream
• FileReader, FileWriter
• Buffered streams
• Serialization & Deserialization
Java Collections Framework
• Introduction to collections
• List, Set, Map interfaces
• ArrayList, LinkedList
• HashSet, TreeSet
• HashMap, TreeMap
• Iterators
Multithreading & Concurrency
• Thread lifecycle
• Extending Thread vs Runnable
• Thread methods
• Synchronization
• Inter-thread communication
• Practical examples
Practice Programs (Extensive)
• Basic programs (even/odd, prime, patterns)
• Array programs
• String manipulation programs
• OOP exercise programs
• File-handling programs
• Menu-driven applications