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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
Andrus, J., Nieh, J.: Teaching operating systems using Android. In: Proceedings 43rd ACM Technical Symposium on Computer Science Education, pp. 613–618 (2012)
Campbell, M.M.: Motivational systems theory and the academic performance of college students. J. Coll. Teach. Learn. 4(7), 11–24 (2007)
Christopher, W.A., Procter, S.J., Anderson, T.E.: The Nachos instructional operating system. In: Proceedings USENIX Winter Conference, pp. 481–488 (1993)
Cross, J., Denning, P.: Computing curriculum 2001. The Joint Curriculum Task Force IEEE-CS/ACM Report (2001)
Devadoss, S., Foltz, J.: Evaluation of factors influencing student class attendance and performance. Am. J. Agric. Econ. 78(3), 499–507 (1996)
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)
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)
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)
Giraddi, S., Kalwad, P., Kanakareddi, S.: Teaching operating systems – programming assignments approach. J. Eng. Educ. Transform. 31(3), 68–73 (2018)
Hermocilla, J.A.C.: ICS-OS: a kernel programming approach to teaching operating system concepts. Philippine Inf. Techn. J. 2(2), 25–30 (2009)
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)
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)
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)
Hovemeyer, D., Hollingsworth, J.K., Bhattacharjee, B.: Running on the bare metal with GeekOS. In: ACM SIGCSE Bulletin, vol. 36, pp. 315–319 (2004)
Jones, D., Newman, A.: RCOS.java: a simulated operating system with animations. In: Proceeding Computer Based Learning in School Conference paper #28 (2001)
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)
Krathwohl, D.R.: A revision of bloom’s taxonomy: an overview. Theor. Pract. 41(4), 212–218 (2002)
Machanick, P.: Teaching operating systems: just enough abstraction. In: Proceedings SACLA 2016, CCIS 642, pp. 104–111 (2016)
Nieh, J., Vaill, C.: Experiences teaching operating systems using virtual platforms and Linux. In: ACM SIGCSE Bulletin, vol. 37, pp. 520–524 (2005)
Polze, A., Probert, D.: Teaching operating systems: the windows case. In: ACM SIGCSE Bulletin, vol. 38, pp. 298–302 (2006)
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)
Robbins, S.: A three pronged approach to teaching undergraduate operating systems. ACM SIGOPS Oper. Syst. Rev. 42(6), 93–100 (2008)
Shackelford, R., et al.: Computing curricula 2005: the overview report. ACM SIGCSE Bull. 38, 456–457 (2006)
Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts Essentials. Wiley, Hoboken (2014)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Kankuzi, B. (2019). Balancing Theory and Practice in an Introductory Operating Systems Course. In: Kabanda, S., Suleman, H., Gruner, S. (eds) ICT Education. SACLA 2018. Communications in Computer and Information Science, vol 963. Springer, Cham. https://doi.org/10.1007/978-3-030-05813-5_24
Download citation
DOI: https://doi.org/10.1007/978-3-030-05813-5_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-05812-8
Online ISBN: 978-3-030-05813-5
eBook Packages: Computer ScienceComputer Science (R0)