skip to main content
10.1145/1734263.1734427acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Teaching operating systems using virtual appliances and distributed version control

Published:10 March 2010Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. W. Christopher, S. Proctor, and T. Anderson. The Nachos Instructional Operating System. http://cs.berkeley.edu/~tea/nachos/nachos.ps.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Nieh and Özgür Can Leonard. Examining VMware. Dr. Dobb's Journal, pages 70--76, Aug. 2000.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. Pfaff, A. Romano, and G. Back. The Pintos Instructional Operating System Kernel. In Proceedings of SIGCSE 2009, Chattanooga, TN, Mar. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Tanenbaum. A UNIX Clone with Source Code for Operating Systems Courses. Operating Systems Review, 21(1):20--29, Jan. 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Teaching operating systems using virtual appliances and distributed version control

          Recommendations

          Reviews

          Elliot Jaffe

          This practical experience report is based on systems courses at Columbia University. The authors explain that dedicated computing resources, such as course server farms and time-sharing systems, are no longer necessary for many practical computer science courses. As they note, most students have very capable laptops that run virtualization services, such as VMware, reasonably well. Courses at Columbia provide basic minimal images that students can download and install on their own machines. The students can then modify the images. While virtual images allow each student to work at home, there remains the challenge of submitting these changes to the course administrators. A Git distributed version control system is used to collect the changes. Each student creates a branch, and all of the updates are permanently logged. The administrators can view submission logs to determine when each update was submitted, which allows them to ignore any changes made after the submission deadline. Interestingly, even with all of these tools, the courses found it necessary to use live demonstrations as the final proof that students had actually performed the exercises and understood the material. In addition, the use of the students' laptops for the demonstrations reduced the load on the graders, because each project did not need to be recompiled and installed on the graders' systems. Read this paper if you run a systems course, programming or otherwise. The use of virtualized images is a major improvement over dedicated managed hardware and software systems. Online Computing Reviews Service

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            SIGCSE '10: Proceedings of the 41st ACM technical symposium on Computer science education
            March 2010
            618 pages
            ISBN:9781450300063
            DOI:10.1145/1734263

            Copyright © 2010 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 10 March 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate1,595of4,542submissions,35%

            Upcoming Conference

            SIGCSE Virtual 2024

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader