Unit
Module 1. Values, Variables & Expressions
output, variables, primitive types (int/double/boolean), arithmetic (integer division, %, casting), strings and concatenation, comparisons and logic.
Start practicing
Unit
Module 2. Selection & Iteration
if/else if/else, building conditions, while and for loops, counters and accumulation, nested loops, traversing a string character by character.
Start practicing
Unit
Module 3. Methods
declaring and calling methods, parameters and arguments, return values and return types, void, variable scope, breaking a problem into methods, overloading.
Start practicing
Unit
Module 4. Classes & Objects
writing a class: fields, constructors, methods; creating objects with new, this, encapsulation (private with getters/setters), static fields and methods, toString.
Start practicing
Unit
Module 5. Arrays & Lists
one-dimensional arrays (creation, indexing, length, traversal), common algorithms (sum, max, search, count), ArrayList (add/remove/traverse), two-dimensional arrays and nested traversal.
Start practicing
Unit
Module 6. Input, Files & Error Handling
reading input with Scanner, reading from files, basic exceptions / try-catch, simple input validation.
Start practicing
Unit
Module 7. Inheritance & Polymorphism
extends and inherited methods, super, overriding with @Override, superclass references, dynamic dispatch, arrays of mixed subclasses.
Start practicing
Unit
Module 8. Interfaces & Abstract Classes
interfaces as contracts, implements, abstract classes with shared code, choosing between them, implementing several interfaces at once.
Start practicing
Unit
Module 9. Generics
why generics exist, writing Box and Pair, generic methods, bounded types (>), wildcards (? extends, ? super, PECS).
Start practicing
Unit
Module 10. Collections
HashMap (key-value pairs, safe lookup, iteration), HashSet (uniqueness, deduplication), combined patterns (frequency maps, intersection, difference).
Start practicing
Unit
Module 11. Modern Java
enums (constants with data), switch expressions (arrow labels, grouped labels, yield), lambdas and streams (filter, count, mapToInt, sum).
Start practicing