20% off with code ERSTIS26

PROGRAMMING II · EXAM · 1:1

Pass Programming II, when OOP suddenly gets serious.

Four to five sessions before the exam. We work through inheritance, abstract classes and interfaces, make generics tangible and practise recursion until you derive it yourself.

Dennis, Senior Java Engineer · OOP Dennis LIVE Senior Java Engineer · OOP responds ≤ 4 h Free first conversation →

Already decided? Straight to a session →

  • Your past paper, not a textbook
  • Java 17 or 21, IntelliJ
  • Cancel up to 12 h before

Live from a Programming II session

Dispatch.java ⎙ shared
// Which method is called?
Animal a = new Dog();
a.sound();  // Dog.sound(), not Animal.sound()
// dynamic dispatch: the runtime type wins
The static type decides what you may call. The dynamic type decides what runs. — Dennis, 7 min ago
EXAM STRUCTURE · TYPICAL TASKS

Three blocks that appear in almost every Programming II exam.

Programming II builds on the basics and turns the difficulty towards OOP design. Typical is an inheritance block, a generics-and-collections block and a recursion block. We drill each on your past papers.

Block 1

Inheritance, interfaces, polymorphism

~40%
Weight
Duration · ~35 min Format · Build a class hierarchy, implement abstract methods, trace dynamic dispatch.

The block that decides your grade. Abstract classes vs interfaces, overriding vs overloading, clean super calls.

Focus
  • inheritance
  • abstract classes
  • interfaces
  • polymorphism
  • super
  • overriding
Block 2

Generics & collections

~30%
Weight
Duration · ~25 min Format · Read and write generic classes and methods, choose the right collection, iterate.

Where you bank safe points once you understand the type system. Bounded generics, List vs Set vs Map, iterators.

Focus
  • generics
  • bounded types
  • List/Set/Map
  • iterator
  • Comparable
  • equals/hashCode
Block 3

Recursion & exceptions

~30%
Weight
Duration · ~30 min Format · Read and write recursive methods, draw the call tree, justify exception handling.

Trace recursion, spot the base case, work through try-catch-finally cleanly. Doable with practice.

Focus
  • recursion
  • call tree
  • base case
  • try/catch/finally
  • checked vs unchecked
Past papers from TUM, RWTH, KIT, the University of Hamburg and many more map onto these three blocks. Send us yours and we calibrate the prep to it.
A REAL TASK

How we approach a polymorphism task.

The Programming II classic: dynamic dispatch. We separate cleanly what the compiler allows from what happens at runtime.

Task

What output does the following code produce? Justify it in terms of the static and dynamic type.

Polymorphism.java
class Animal { String sound() { return "..."; } }
class Dog extends Animal {
  String sound() { return "Woof"; }
}
Animal a = new Dog();
System.out.println(a.sound());
How we solve it
  1. Check the static type

    a has the static type Animal. The compiler only allows methods Animal knows. sound() exists in Animal, so it compiles.

  2. Identify the dynamic type

    At runtime a points to a Dog object. For overridden methods the dynamic type decides which implementation runs.

  3. Justify the output

    Dog overrides sound(), so Dog.sound() is called. The output is Woof. That is dynamic dispatch.

YOUR PATH TO THE EXAM

A realistic 4-week plan. No miracles promised.

Start now and invest 4 to 5 sessions and your chances are good. Less time? We compress. More? We go deeper, into design patterns or functional interfaces.

  1. S1
    Step 1
    Diagnosis and gap analysis

    You share your screen, we go through your latest exercise and exam scope. We see where you really stand, not where you think you do.

  2. S2
    Step 2
    Inheritance and polymorphism

    We build class hierarchies, clear up abstract classes vs interfaces and practise dynamic dispatch on your actual exam material.

  3. S3
    Step 3
    Generics, collections, recursion

    Read and write generic methods, pick the right collection and work recursive tasks through the call tree. You type, I probe.

  4. S4
    Step 4
    Mock exam under time pressure

    You solve your university's mock exam against the clock. We review every task: what is solid, where you get stuck and which task types are likely to come up.

Marcel Schmidtpeter, Gründer und Senior Developer, Study IT
FROM THE FOUNDER

Why Study IT exists.

I built Study IT because I have seen first-hand how computer-science teaching at university falls apart.

Our tutors are working developers, not student side-jobbers.

Marcel Schmidtpeter Gründer und Senior Developer

Reach me directly: marcel.schmidtpeter@study-it.education

YOUR TUTOR FOR PROGRAMMING II

Dennis knows the OOP traps from 11 years of Java.

Inheritance, interfaces, generics and recursion from real projects, not tutorials. He surfaces the typical thinking errors and shows how examiners grade the tasks.

Dennis
Online · replies quickly
Industrie­erfahrung
11 J
Java Engineer
Senior
seit 2015
FIAE
Dennis
Senior Java Software Engineer
„Programmieren versteht man, wenn man weiß, warum eine Lösung funktioniert. Mein Ziel: dass du Code nicht abschreibst, sondern selbst hinkriegst."
Background
  1. Heute Senior Java Software Engineer · Industrie
  2. 2015 bis heute Softwareentwicklung in der Industrie · 2 berufliche Stationen, 11 Jahre kumuliert
  3. 2015 bis 2018 Ausbildung Fachinformatiker Anwendungsentwicklung · Praxisbetrieb · IHK-Abschluss
  • Java
  • Spring
  • C#
  • Python
  • OOP
  • Algorithmen
  • Datenstrukturen
  • Unit Testing
AT A GLANCE
Response time
≤ 4 h
Teaches
Studierende · Azubis · Quereinsteiger
Language
Deutsch (Muttersprache)
Book Dennis, 60 €/h → See full profile → All tutors ↓
PRICING

Clear pricing. No subscription trap.

Pay per session or grab an exam package. The intro call is free: if it is not a fit, you have lost nothing.

With code ERSTIS26 · −20%
Single session · 60 min
47,99 €
59,99 €
With code ERSTIS26 on your first session · until 30.06.2026
60 minutes 1:1
  • Live in our classroom
  • Your code, your pace
  • No minimum count
  • Cancel up to 12 h ahead
Book session →
Stripe · PayPal · instant confirmation
Cancel up to 12 h before, free of charge
First session 47,99 € with code ERSTIS26
In comparison What it costs otherwise
Retake the module (1 sem.)
6 months
extends your degree by a semester
Group cram course
~€600
generic, no focus on your material
Student tutor (TA)
€20 to 30/h
if available, student level
Study IT · 1:1
€59.99/h
senior dev, on your exam, today
FAQ

Questions about the Programming II exam.

How many sessions do I need for Programming II?
Realistically 4 to 5 sessions over 3 to 4 weeks if Programming I is solid. With shaky OOP basics: 6 to 8 sessions. We give you an honest estimate in the intro call.
I don't really get inheritance and polymorphism. Is it salvageable?
Yes. Inheritance feels confusing but follows clear rules: the static type sets what is allowed, the dynamic type what runs. We build hierarchies together and make dynamic dispatch visible on real tasks.
Are generics really exam-relevant?
At most universities yes, at least for reading. You should understand generic classes and methods, place bounded types and choose the right collection. We practise exactly the task types from your past papers.
Do you bring your own tasks or do we use mine?
We work on your past papers and exercise sheets. Where you have none, we bring suitable tasks on inheritance, generics and recursion.
What does the prep cost?
€59.99 per 60-minute 1:1 session. No subscription, no minimum term. The intro call is free; that is where we agree on scope and a plan.
READY?

Let's turn your Programming II exam into a plan.

Free intro call, 30 minutes. We look at your material and tell you honestly how many sessions you need.