The teacher would bring a single tower (486 based I think), plug it into monitor and keyboard, and the whole class would take 15 minute slots at it.
We would prepare our exercises in MS-DOS, with Turbo C 2.0, using mocks for the UNIX APIs.
Then use those 15 minutes to replace the mocks with the real deal, and have a go at it.
Failing the exercise, it was back to MS-DOS / Turbo C, while trying to figure out with pen and paper what might have gone wrong.
Then people complain nowadays when their build takes longer than 1 second.