Balancing Theory and Practice in an Introductory Operating Systems Course

Abstract

Operating systems is one core course of many computing curricula. However, many students find the course difficult and boring as they cannot practically relate to the inner workings of an operating system. This paper presents an approach which was used in delivering an undergraduate second year introductory operating systems course with the aim of balancing theory and practice in order to keep students motivated in the course. The students, however, did not have sufficient programming background to undertake kernel-level programming projects. The approach, therefore, involved complementing theory lessons with a series of practical tasks spread throughout the whole period of delivery of the course. An evaluation of the course showed that the performance of students taught using this approach was significantly higher than those taught theoretical operating system concepts only. Through a survey, students also expressed strong satisfaction that the approach contributed to a positive learning environment as the students also specifically found the course relevant and well balanced in theory and practice.