Synchron-ITS: An Interactive Tutoring System to Teach Process Synchronization and Shared Memory Concepts in an Operating Systems Course

Manoj Kumar Putchala, Adam R. Bryant · 2016

Operating Systems (OS) is a course in undergraduate computer science curricula to teach students concepts relating to the environment on which their applications run. In practice, OS software is very complicated, and the internal processes and mechanisms are often difficult for students to grasp, particularly those that still struggle with programming. Many OS courses are taught by describing high-level abstractions of structures and algorithms from a textbook, and then providing homework or project assignments that, in the interest of being tractable for the student, may be disconnected from the way an operating system actually performs its tasks. These methods only present a theoretical display of essential concepts which lack concrete examples to anchor the concepts. What many students need is a way to connect the low-level details of an operating system's implementation with the high-level abstractions provided in the class, all while being accessible to people who are still improving newly acquired programming skills. To bridge the gap between OS theory and implementation, we propose an interactive tutoring system to present the concepts involved with process synchronization and shared memory management. In this paper, first, we discuss the research performed to frame the requirements for the tool development. Second, we describe the design architecture, concepts involved and features of the tool. Third, we outline the test plan, user experiments and future improvements planned for this system.

Read the paper · More papers on PaperTik