←All towers

Raahaao Code: Java

Core Java from your first class to collections, streams and tests.

9+ hours of lessons · 2 projects · €35

Helps you prepare for: IT Specialist – Java (Certiport)

Or get it in a monthly plan from €3.46 a week (billed €15 monthly) →

You need an account to open any lessons. Without one you can browse the towers and prices.

Pay in

What you'll learn, floor by floor

  1. 1

    First programs (Beginner)

    • How Java runs
    • Variables and types
    • Input and output
  2. 2

    Logic (Beginner)

    • Decisions
    • Loops
    • Methods
  3. 3

    Objects (Intermediate)

    • Classes and objects
    • Inheritance and polymorphism
    • Interfaces and records
  4. 4

    Collections (Intermediate)

    • Arrays and ArrayList
    • Maps and Sets
    • Generics and exceptions
  5. 5

    Pro (Job-ready)

    • Lambdas and streams
    • Testing your code
    • Concurrency basics
    • Building real projects

The two rooftop projects

Bank account system

Build a small command-driven bank system that reads a scripted session from standard input. You will model accounts and their operations with classes, keep money as whole cents, and handle withdrawals that exceed an account balance with a custom exception.

  • The program reads commands from standard input until quit and opens named accounts with sequential IDs starting at 1.
  • Deposits add a positive number of cents to the selected account and report the updated balance.
  • Withdrawals subtract cents when funds are available and use InsufficientFundsException when they are not.
  • Transfers move cents between two accounts and do not change either balance if the source lacks funds.
  • Statements show the account ID, account name, and balance in cents.
  • Invalid amounts and unknown account IDs produce clear error lines without stopping the session.
  • The solution models accounts and the bank with Account and Bank classes, and stores balances as whole cents.

Blackjack

Build a one-player Blackjack round against a dealer. Use Card, Deck and Hand classes to model the game, and make the shuffled deck repeatable from a seed so you can trace and debug each round.

  • Card represents a playing card with a rank and suit, and displays it in the format fixed in the brief
  • Deck creates a standard 52-card deck and shuffles it deterministically from the supplied seed using the brief LCG
  • Hand computes its Blackjack total with aces counted as 1 or 11 without busting when possible
  • The player and dealer are each dealt two cards from the seeded deck, alternating player then dealer
  • The hit command deals one card to the player and ends the round immediately if the player busts
  • The stand command makes the dealer hit while the dealer total is below 17
  • The final result is Blackjack, Bust, Win, Lose or Push according to the rules in the brief
  • The program prints the final player hand, dealer hand and result in the exact format in the brief

Questions

Do I need to install anything?

No. Everything runs in your browser. For the projects you can also work on your own computer and upload your files.

Can I skip what I already know?

Yes. Once you own a tower, each floor has a skip test: score 8 out of 10 and that floor opens.

What is the refund policy?

Refunds within 5 days of purchase. After 5 days, no refunds or returns.

Do I keep access?

Yes. A tower you buy is yours, with no subscription.

Refund policy