Java Syllabus
Course Duration: 90 Hrs

- Introduction to Java
Covers the basics of Java, its platform independence, and setting up the development environment (JDK, IDEs). - Data Types and Variables
Teaches primitive data types, variables, constants, and their declaration with scope and initialization. - Operators in Java
Discusses arithmetic, logical, relational, bitwise, and assignment operators with practical usage examples. - Control Statements
Covers conditional statements like if, else, switch and loops (for, while, do-while) for control flow. - Arrays and Strings
Introduces arrays (single/multi-dimensional) and string handling using the String class and its methods. - Object-Oriented Programming (OOP) Concepts
Explains classes, objects, and the core principles of OOP—encapsulation, inheritance, polymorphism, and abstraction. - Constructors in Java
Describes how to use constructors to initialize objects, including default and parameterized constructors. - Inheritance
Teaches class inheritance to reuse code and introduces super and this keywords for referencing. - Polymorphism and Overloading
Covers method overloading and overriding, allowing functions to behave differently based on input or subclass. - Abstraction and Interfaces
Explains abstract classes, methods, and interfaces to build loosely coupled designs. - Encapsulation
Covers data hiding with private members and how to use getters and setters to access them. - Java Packages and Access Modifiers
Teaches how to organize code using packages and control access levels with public, private, protected, and default access. - Exception Handling
Explains try, catch, finally, throw, and throws for managing runtime errors gracefully. - Multithreading and Concurrency
Covers creating threads, the Runnable interface, and thread synchronization for concurrent programming. - Java Collections Framework
Introduces lists, sets, maps, and queues, and teaches when to use each collection type. - Generics in Java
Explains how to write reusable code with type-safe generics and generic methods. - File Handling in Java
Covers reading from and writing to files using the File class, along with BufferedReader and BufferedWriter. - Java I/O Streams
Explains input and output streams for handling byte and character data, including serialization. - Java Networking
Introduces the basics of networking with Java, including sockets and URL connections for client-server communication. - Database Connectivity with JDBC
Covers Java Database Connectivity (JDBC) to connect and interact with relational databases using SQL queries. - Lambda Expressions
Teaches the use of lambda expressions for concise functional programming in Java 8 and beyond. - Functional Interfaces and Streams API
Explores the Streams API and functional interfaces like Predicate and Consumer for data manipulation. - Annotations in Java
Introduces annotations and how they provide metadata for code, with examples like @Override and custom annotations. - Java 8 Features
Covers new features introduced in Java 8, such as default methods, optional class, and date/time API. - JavaFX for GUI Development
Introduces the JavaFX library for building desktop applications with graphical interfaces. - Collections vs Arrays
Compares the usage of arrays and collections, focusing on flexibility and memory efficiency. - Reflection API
Explains how to use reflection to inspect classes, methods, and fields at runtime. - Serialization and Deserialization
Teaches how to serialize objects into byte streams and deserialize them back into objects. - Java Memory Management
Covers garbage collection, stack vs heap memory, and the lifecycle of objects in Java. - Inner Classes and Nested Classes
Explores the usage of inner, static nested, and anonymous classes in Java. - Enums in Java
Explains enumerations for defining constants with additional methods and attributes. - Java Assertions
Teaches how to use assertions to validate assumptions during development. - Regular Expressions (Regex)
Covers pattern matching using Java’s Pattern and Matcher - Java Security
Introduces cryptography, encryption, and decryption using Java’s security libraries. - Java Design Patterns
Explores common design patterns like Singleton, Factory, and Observer used in Java applications. - Java Modules (Java 9+)
Covers modular programming with the introduction of modules in Java 9 for better code organization. - Java Native Interface (JNI)
Teaches how to use JNI for calling native code written in languages like C/C++ from Java. - Building RESTful APIs with Java
Explains how to develop RESTful services using frameworks like Spring Boot. - Unit Testing with JUnit
Introduces unit testing using JUnit to ensure code correctness with automated tests. - Capstone Project
Students will apply all concepts by building a complete Java application or system.