An online compiler is most useful when students use it as a testing tool, not as a replacement for reasoning. The best workflow is predict first, run second, then explain any mismatch.
Drill 1: predict loop output
int total = 0;
for (int i = 1; i <= 5; i++)
{
total += i * 2;
}
System.out.println(total);
Before running, students should write the values of i and total. Running confirms the trace.
Drill 2: edge-case tests
For a method that finds a maximum, test a normal array, a one-element array, an array with negative values, and an array where the maximum appears at the end. These cases reveal assumptions.
Drill 3: print intermediate state
When an ArrayList loop fails, print the list and index after each removal. Students can see shifting behavior instead of guessing.
What not to do
- Do not run code repeatedly without forming a hypothesis.
- Do not paste huge programs when a tiny test case would isolate the bug.
- Do not ignore compiler errors; read the first meaningful error carefully.
