ABSTRACT
Students learn more through hands-on project experience for computer science courses such as operating systems, but providing the infrastructure support for a large class to learn by doing can be hard. To address this issue, we introduce a new approach to managing and grading operating system homework assignments based on virtual appliances, a distributed version control system, and live demonstrations. Our solution is easy to deploy and use with students' personal computers, and obviates the need to provide a computer laboratory for teaching purposes. It supports the most demanding course projects, such as those that involve operating system kernel development, and can be used by both on-campus and remote distance learning students even with intermittent network connectivity. Our experiences deploying and using this solution to teach operating systems at Columbia University show that it is easier to use, more flexible, and more pedagogically effective than other approaches.
- J. C. Adams and W. D. Laverell. Configuring a Multicourse Lab for System-Level Projects. In Proceedings of SIGCSE 2005, St. Louis, MO, Feb. 2005. Google ScholarDigital Library
- W. Christopher, S. Proctor, and T. Anderson. The Nachos Instructional Operating System. http://cs.berkeley.edu/~tea/nachos/nachos.ps.Google Scholar
- D. A. Holland, A. T. Lim, and M. I. Seltzer. A New Instructional Operating System. In Proceedings of SIGCSE 2002, pages 111--115, Feb. 2002. Google ScholarDigital Library
- J. Nieh and Özgür Can Leonard. Examining VMware. Dr. Dobb's Journal, pages 70--76, Aug. 2000.Google Scholar
- J. Nieh and C. Vaill. Experiences Teaching Operating Systems Using Virtual Platforms and Linux. In Proceedings of SIGCSE 2005, St. Louis, MO, Feb. 2005. Google ScholarDigital Library
- B. Pfaff, A. Romano, and G. Back. The Pintos Instructional Operating System Kernel. In Proceedings of SIGCSE 2009, Chattanooga, TN, Mar. 2009. Google ScholarDigital Library
- K. L. Reid and G. V. Wilson. Learning by Doing: Introducing Version Control as a Way to Manage Student Assignments. In Proceedings of SIGCSE 2005, St. Louis, MO, Feb. 2005. Google ScholarDigital Library
- A. Tanenbaum. A UNIX Clone with Source Code for Operating Systems Courses. Operating Systems Review, 21(1):20--29, Jan. 1987. Google ScholarDigital Library
Index Terms
- Teaching operating systems using virtual appliances and distributed version control
Recommendations
Teaching operating systems using android
SIGCSE '12: Proceedings of the 43rd ACM technical symposium on Computer Science EducationThe computing landscape is shifting towards mobile devices. To learn about operating systems, it is increasingly important for students to gain hands-on kernel programming experience in these environments, which are quite different from traditional ...
Experiences teaching operating systems using virtual platforms and linux
SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science educationOperating system courses teach students much more when they provide hands-on kernel-level project experience with a real operating system. However, enabling a large class of students to do kernel development can be difficult. To address this problem, we ...
Experiences teaching operating systems using virtual platforms and Linux
Operating system courses teach students much more when they provide hands-on kernel-level project experience with a real operating system. However, enabling a large class of students to do kernel development can be difficult. To address this problem, we ...
Comments