Skip to Main Content
An operating system course draws from a well-defined fundamental theory, but one needs to consider how more recent advances, not necessarily in the theory itself, can be applied to improve the course and the general body of knowledge of the student. The goal of This work is to show how recent software engineering developments can be introduced to such a course to not only satisfy the theory requirements, but also make the theory more understandable. In particular, This work focuses on how students can effectively learn the Unified Modeling Language, the object-oriented methodology, and the Java programming language in the context of an operating systems course. The goal is to form a systematic software engineering process for operating system design and implementation.