Many computer science departments are entering into what might be termed 3rd generation teaching of computer science. The first generation of computer science teaching was done in primarily an open shop, hands-on environment. The machines were slow, the operating systems were simple or nonexistent, and debugging quite often depended on reading the state of the machine when it died. One author, for example, fondly recalls his experience on a drum memory machine that used paper tape/flexowriter I/O. The machine had a speaker attached to the accumulator register so that one could hear his program run! It was possible to process very few student programs per day.
/lp/association-for-computing-machinery/teaching-microprogramming-a-firmware-laboratory-iOZvz0FsNm