| Section | Objectives |
| Topic 1: Programming Abstractly through Interfaces | - List and ArrayList usage, lambda expressions
- Interface creation and implementation
|
| Topic 2: Reusing Implementations through Inheritance | - Abstract classes and polymorphism
- Subclass and superclass creation and usage
|
| Topic 3: Exception Handling | - Throwing and handling exceptions
- Exception types and try-catch blocks
|
| Topic 4: Creating a Simple Java Program | - Package declaration and import
- Compiling and running from command line
- Creating executable Java programs with a main class
|
| Topic 5: Module System | - Compiling and running module projects
- Modular JDK and module declaration
|
| Topic 6: Applying Encapsulation | - Access modifiers and encapsulation principles
|
| Topic 7: Operators and Control Structures | - Usage of operators and parenthesis to override precedence
- Loops (do/while, while, for, enhanced for), break/continue
- Decision constructs (if/else, switch)
|
| Topic 8: Working with Java Primitive Data Types and Strings | - Variable declaration and initialization, casting/promotions
- Variable scope and local variable type inference
- String and StringBuilder operations
|
| Topic 9: Working with Java Arrays | - One-dimensional array declaration, instantiation and use
- Two-dimensional array declaration, instantiation and use
|
| Topic 10: Describing and Using Objects and Classes | - Class definition and object field read/write
- Reference types declaration and object lifecycle
|
| Topic 11: Understanding Java Technology and Environment | - Java technology and development environment
- Key features of the Java language
|
| Topic 12: Creating and Using Methods | - Method overloading and static usage
- Methods and constructors with args and return values
|