Course Outlines
- Java Basics
- History and evolution of Java
- Setting up the development environment (JDK, IDEs like Eclipse, database, etc.)
- Writing and running a simple Java program
- Java syntax and structure (classes, methods, and main method)
Variables and Data Types
- Primitive data types
- Variables and constants
- Type casting and type conversion
Operators and Expressions
- Arithmetic, relational, and logical operators
- Operator precedence
- Expressions and statements
Control Flow Statements
- Conditional statements (if, else, switch)
- Looping constructs (for, while, do-while)
- Break and continue statements
Introduction to OOP Concepts
- Classes and objects
- Fields and methods
- Constructors
Encapsulation and Access Modifiers
- Private, protected, public, and default access
- Packages and member access
- Importing packages
- Getters and setters
Inheritance
- Superclasses and subclasses
- Method overriding
- The super keyword
Polymorphism
- Method overloading
- Runtime polymorphism (dynamic method dispatch)
- Abstract classes and interfaces
Exception Handling
- Types of exceptions
- Try-catch block
- Throwing exceptions
- Creating custom exceptions
Collections Framework
- Introduction to collections (List, Set, Map)
- ArrayList, LinkedList, HashSet, and HashMap
- Iterators and enhanced for loop
Generics
- Introduction to generics
- Generic classes and methods
- Bounded types and wildcards
Lambda Expressions and Functional Programming
- Introduction to lambda expressions
- Functional interfaces
- Streams API and method references
Java Input/Output (I/O)
- Byte streams and character streams
- File I/O operations
- BufferedReader, BufferedWriter, FileReader, and FileWriter
Serialization and Deserialization
- Serializing objects
- Deserializing objects
- Transient keyword
Multithreading and Concurrency
- Introduction to threads
- Creating and starting threads (Runnable and Thread classes)
- Thread lifecycle and states
Synchronization and Concurrency Utilities
- Synchronized methods and blocks
- Locks and ReentrantLocks
- Executors framework
- Concurrent collections (ConcurrentHashMap, CopyOnWriteArrayList)
Networking in Java
- Sockets and server sockets
- TCP and UDP communication
- URL and URLConnection classes
Java Database Connectivity (JDBC)
- Introduction to JDBC
- Connecting to a database
- Executing SQL queries and updates
- Handling ResultSet
New Features in Java 21
- Introduction to new features in Java 21
- Enhanced pattern matching
- Records and sealed classes
- Improvements in the concurrency API
Programme scope, delivery arrangements and suitability are confirmed during enquiry.