All course plans

Programming · Selected curriculum

Java Programming – from basics to advanced

Build Java skills through logic, object-oriented design, collections, testing and a practical application you can explain and maintain.

0 / 84 videos uploaded
Follow the complete lesson sequence below. Enrollment opens when the recordings and assessments are ready.

Your 12-week learning path

Week 1 Java foundations

Six 40-minute teaching sessions and a 60-minute Sunday recap. 15 questions each teaching day · No negative marking. No test on Sunday.

  1. Monday: How Java programs run: JDK, JVM and bytecode
  2. Tuesday: Install a JDK and run a main method
  3. Wednesday: Variables, primitive types and literals
  4. Thursday: Operators, conversions and expressions
  5. Friday: Read input and format output
  6. Saturday: Build a simple bill calculator
  7. Sunday: Recap and guided review of these six lessons
Week 2 Control flow and methods

Six 40-minute teaching sessions and a 60-minute Sunday recap. 15 questions each teaching day · No negative marking. No test on Sunday.

  1. Monday: Boolean conditions and if statements
  2. Tuesday: Choose among alternatives with switch
  3. Wednesday: Repeat work with for and while
  4. Thursday: Nested loops, break and continue
  5. Friday: Methods, parameters and return values
  6. Saturday: Build a menu-driven number toolkit
  7. Sunday: Recap and guided review of these six lessons
Week 3 Arrays and strings

Six 40-minute teaching sessions and a 60-minute Sunday recap. 15 questions each teaching day · No negative marking. No test on Sunday.

  1. Monday: Create, traverse and update arrays
  2. Tuesday: Use two-dimensional arrays
  3. Wednesday: Search and sort a small dataset
  4. Thursday: Work with immutable String values
  5. Friday: Use StringBuilder and validate input
  6. Saturday: Build a student-marks analyser
  7. Sunday: Recap and guided review of these six lessons
Week 4 Classes and objects

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Model a problem with classes and objects
  2. Tuesday: Constructors and constructor overloading
  3. Wednesday: Access control and encapsulation
  4. Thursday: Static fields, constants and methods
  5. Friday: Packages and a multi-file project
  6. Saturday: Build an inventory model
  7. Sunday: Recap and guided review of these six lessons
Week 5 Object-oriented design

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Inheritance and method overriding
  2. Tuesday: Polymorphism and dynamic dispatch
  3. Wednesday: Abstract classes
  4. Thursday: Interfaces and default methods
  5. Friday: Composition and dependency boundaries
  6. Saturday: Refactor the inventory model with interfaces
  7. Sunday: Recap and guided review of these six lessons
Week 6 Exceptions and files

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Read and explain exception traces
  2. Tuesday: Handle checked and unchecked exceptions
  3. Wednesday: Write a focused custom exception
  4. Thursday: Use try-with-resources
  5. Friday: Read and write files with java.nio
  6. Saturday: Build a file-backed contact book
  7. Sunday: Recap and guided review of these six lessons
Week 7 Collections and generics

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Use List and ArrayList
  2. Tuesday: Use Set and compare equality
  3. Wednesday: Store records in Map
  4. Thursday: Choose queues and deques
  5. Friday: Create generic classes and methods
  6. Saturday: Build a collection-based library catalogue
  7. Sunday: Recap and guided review of these six lessons
Week 8 Modern everyday Java

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Use enums and records
  2. Tuesday: Work with dates and times
  3. Wednesday: Write lambdas and functional interfaces
  4. Thursday: Transform data with streams
  5. Friday: Reduce, group and sort stream results
  6. Saturday: Handle absent results with Optional
  7. Sunday: Recap and guided review of these six lessons
Week 9 Testing and build tools

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Build and manage dependencies with Maven
  2. Tuesday: Write JUnit tests
  3. Wednesday: Test edge cases and expected exceptions
  4. Thursday: Isolate external collaborators in tests
  5. Friday: Use logging and configuration
  6. Saturday: Refactor the catalogue with a passing test suite
  7. Sunday: Recap and guided review of these six lessons
Week 10 Databases and HTTP

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Understand relational tables and SQL
  2. Tuesday: Connect with JDBC and prepared statements
  3. Wednesday: Use transactions and close resources
  4. Thursday: Understand HTTP requests and responses
  5. Friday: Call an API with the Java HTTP client
  6. Saturday: Build a database-backed reporting feature
  7. Sunday: Recap and guided review of these six lessons
Week 11 Concurrency and application structure

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Understand threads and shared state
  2. Tuesday: Run tasks with executors
  3. Wednesday: Coordinate access and avoid common races
  4. Thursday: Compose asynchronous work with CompletableFuture
  5. Friday: Separate model, service and persistence layers
  6. Saturday: Build and test the capstone application
  7. Sunday: Recap and guided review of these six lessons
Week 12 Apply and advance

Six 40-minute teaching sessions and a 60-minute Sunday recap. 30 questions each teaching day · −⅓ per incorrect answer. No test on Sunday.

  1. Monday: Review common coding patterns
  2. Tuesday: Debug an unfamiliar Java program
  3. Wednesday: Understand memory, garbage collection and profiling
  4. Thursday: Validate input and protect application secrets
  5. Friday: Complete a timed coding rehearsal
  6. Saturday: Present the capstone and prepare for the final assessment
  7. Sunday: Recap and guided review of these six lessons