Balancing Theory and Practice in an Introductory Operating Systems Course

  • Bennett KankuziEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 963)


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.


Teaching operating systems Student motivation 


  1. 1.
    Anderson, C.L., Nguyen, M.: A survey of contemporary instructional operating systems for use in undergraduate courses. J. Comput. Sci. Coll. 21(1), 183–190 (2005)Google Scholar
  2. 2.
    Andrus, J., Nieh, J.: Teaching operating systems using Android. In: Proceedings 43rd ACM Technical Symposium on Computer Science Education, pp. 613–618 (2012)Google Scholar
  3. 3.
    Campbell, M.M.: Motivational systems theory and the academic performance of college students. J. Coll. Teach. Learn. 4(7), 11–24 (2007)Google Scholar
  4. 4.
    Christopher, W.A., Procter, S.J., Anderson, T.E.: The Nachos instructional operating system. In: Proceedings USENIX Winter Conference, pp. 481–488 (1993)Google Scholar
  5. 5.
    Cross, J., Denning, P.: Computing curriculum 2001. The Joint Curriculum Task Force IEEE-CS/ACM Report (2001)Google Scholar
  6. 6.
    Devadoss, S., Foltz, J.: Evaluation of factors influencing student class attendance and performance. Am. J. Agric. Econ. 78(3), 499–507 (1996)CrossRefGoogle Scholar
  7. 7.
    Durden, G.C., Ellis, L.V.: The effects of attendance on student learning in principles of economics. Am. Econ. Rev. 85(2), 343–346 (1995)Google Scholar
  8. 8.
    Garmpis, A.: Design and development of a web-based interactive software tool for teaching operating systems. J. Inf. Techn. Educ. Res. 10, 1–17 (2011)Google Scholar
  9. 9.
    Garmpis, A., Gouvatsos, N.: Innovative teaching methods in operating systems: the Linux case. In: Proceedings Conference on Innovative Approches in Education: Design and Network, pp. 155–163 (2012)Google Scholar
  10. 10.
    Giraddi, S., Kalwad, P., Kanakareddi, S.: Teaching operating systems – programming assignments approach. J. Eng. Educ. Transform. 31(3), 68–73 (2018)Google Scholar
  11. 11.
    Hermocilla, J.A.C.: ICS-OS: a kernel programming approach to teaching operating system concepts. Philippine Inf. Techn. J. 2(2), 25–30 (2009)Google Scholar
  12. 12.
    Hewson, M.G., Hewson, P.W.: Effect of instruction using students’ prior knowledge and conceptual change strategies on science learning. J. Res. Sci. Teach. 20(8), 731–743 (1983)CrossRefGoogle Scholar
  13. 13.
    Hewson, P.W.: A case study of conceptual change in special relativity: the influence of prior knowledge in learning. Europ. J. Sci. Educ. 4(1), 61–78 (1982)CrossRefGoogle Scholar
  14. 14.
    Hill, J., Ray, C.K., Blair, J.R., Carver, C.A.: Puzzles and games: addressing different learning styles in teaching operating systems concepts. In: ACM SIGCSE Bulletin, vol. 35, pp. 182–186 (2003)Google Scholar
  15. 15.
    Hovemeyer, D., Hollingsworth, J.K., Bhattacharjee, B.: Running on the bare metal with GeekOS. In: ACM SIGCSE Bulletin, vol. 36, pp. 315–319 (2004)Google Scholar
  16. 16.
    Jones, D., Newman, A.: a simulated operating system with animations. In: Proceeding Computer Based Learning in School Conference paper #28 (2001)Google Scholar
  17. 17.
    Karemera, D., Reuben, L.J., Sillah, M.R.: The effects of academic environment and background characteristics on student satisfaction and performance: the case of South Carolina State University’s school of business. Coll. Stud. J. 37(2), 298–308 (2003)Google Scholar
  18. 18.
    Krathwohl, D.R.: A revision of bloom’s taxonomy: an overview. Theor. Pract. 41(4), 212–218 (2002)CrossRefGoogle Scholar
  19. 19.
    Machanick, P.: Teaching operating systems: just enough abstraction. In: Proceedings SACLA 2016, CCIS 642, pp. 104–111 (2016)Google Scholar
  20. 20.
    Nieh, J., Vaill, C.: Experiences teaching operating systems using virtual platforms and Linux. In: ACM SIGCSE Bulletin, vol. 37, pp. 520–524 (2005)Google Scholar
  21. 21.
    Polze, A., Probert, D.: Teaching operating systems: the windows case. In: ACM SIGCSE Bulletin, vol. 38, pp. 298–302 (2006)Google Scholar
  22. 22.
    Qu, B., Wu, Z.: Design and implementation of tiny educational OS. In: Qian, Z., Cao, L., Su, W., Wang, T., Yang, H. (eds.) Recent Advances in Computer Science and Information Engineering. Lecture Notes in Electrical Engineering, vol. 126. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  23. 23.
    Robbins, S.: A three pronged approach to teaching undergraduate operating systems. ACM SIGOPS Oper. Syst. Rev. 42(6), 93–100 (2008)CrossRefGoogle Scholar
  24. 24.
    Shackelford, R., et al.: Computing curricula 2005: the overview report. ACM SIGCSE Bull. 38, 456–457 (2006)CrossRefGoogle Scholar
  25. 25.
    Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts Essentials. Wiley, Hoboken (2014)Google Scholar
  26. 26.
    Wooten, T.C.: Factors influencing student learning in introductory accounting classes: a comparison of traditional and nontraditional students. Issues Account. Educ. 13(2), 357–373 (1998)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceNorth-West UniversityMmabathoSouth Africa

Personalised recommendations