Teaching operating systems as how computers work

The "Computer Systems" course at Northeastern University is an MS-level core course which attempts to teach students how computers work, through a behavioral approach to the concepts involved in operating systems and their interface to the hardware. As an operating system is typically the first reactive system which students encounter in their studies, the goal of the class is to develop an understanding of the tools and reasoning which are involved in understanding and working with the internals of such a system, whether it be a conventional operating system or (as is more commonly found in industry) a consumer product, networking device, or other embedded system. This course is currently in its third year with enthusiastic responses from students, especially those who have been able to apply its lessons in co-operative work assignments, and an undergraduate class teaching substantially the same material is currently underway.