Recognized as the crown jewel of system software, Operating System (OS) is notoriously challenging to teach and learn, given its abstract concepts, broad scope, and the imperative for hands-on experience. How to cater to the keen interest in OS among students across all universities while providing a rich system software engineering experience? Engaging the OS community on campus plays a pivotal role in enhancing undergraduate education. Our institution has implemented a novel approach over the past nine years through the miniOS pilot class initiative. This program allows students enrolled in the OS course to opt into an additional, practical component where they engage in developing the OS kernel using miniOS, our teaching platform. Participants dedicate their spare time to a series of labs aimed at incrementally introducing them to miniOS, collaborate on a project to add a new functional module to miniOS, and ultimately present their work in a formal defense. This hands-on experience supplements the theoretical coursework, with the notable advantage that pilot class participants are exempt from the traditional final exam. Instead, their grade is determined by their contributions to the pilot class, with distinguished projects being integrated into the evolving miniOS kernel—a witness to the collective effort of each class. Since its inception in 2015, the miniOS pilot class has nurtured 182 undergraduates and 22 graduate students, contributing significantly to the OS community engagement on campus. Through this initiative, we have gleaned six key insights and six lessons, which we are eager to share with the broader educational community.
Read full abstract