Array
Array sits in a class list. Dev’s job is marks[0..n-1]. Write that first.
Do Array once by hand. index access O(1). Change one input. Say the new result out loud.
Without Array, a class list gets messy and marks[0..n-1] is hard to trust.
Dev ships Array in a class list. That is the use case worth saying.
If marks[0..n-1] breaks under Array, check off-by-one on the last index first.
After Array, Dev should still remember off-by-one on the last index.
One breath for Array, then marks[0..n-1], then off-by-one on the last index. Sit down.
index → 0 1 2 array → [10, 20, 30]
Board: marks[0..n-1]. Dry-run Array. Name the trap: off-by-one on the last index.