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

Cited By

View all
  • (2025)ezFS: A Pedagogical Linux File SystemProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701884(861-867)Online publication date: 12-Feb-2025
  • (2025)KernelVM: Teaching Linux Kernel Programming through a Browser-Based Virtual MachineProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701831(1204-1210)Online publication date: 12-Feb-2025
  • (2025)Embedding Executable Code in Programming Slideshows: Design Considerations and Field Tests for Interactive Code PlaygroundsProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701788(53-59)Online publication date: 12-Feb-2025
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 March 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computer science education
  2. open-source software
  3. operating systems
  4. version control
  5. virtual machines
  6. virtualization

Qualifiers

  • Research-article

Conference

SIGCSE10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)ezFS: A Pedagogical Linux File SystemProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701884(861-867)Online publication date: 12-Feb-2025
  • (2025)KernelVM: Teaching Linux Kernel Programming through a Browser-Based Virtual MachineProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701831(1204-1210)Online publication date: 12-Feb-2025
  • (2025)Embedding Executable Code in Programming Slideshows: Design Considerations and Field Tests for Interactive Code PlaygroundsProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701788(53-59)Online publication date: 12-Feb-2025
  • (2024)Containerizing CS50: Standardizing Students' Programming EnvironmentsProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653567(534-540)Online publication date: 3-Jul-2024
  • (2023)Traceability by Design: Design of an Interactive System to Improve the Automatic Generation of Git Traces During a Learning ActivityResponsive and Sustainable Educational Futures10.1007/978-3-031-42682-7_50(611-617)Online publication date: 28-Aug-2023
  • (2022)Tracking Large Class Projects in Real-Time Using Fine-Grained Source ControlProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499389(565-570)Online publication date: 22-Feb-2022
  • (2022)If in Doubt, Try ThreeProceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 110.1145/3478431.3499371(362-368)Online publication date: 22-Feb-2022
  • (2020)A forefront to machine translation technology: deployment on the cloud as a service to enhance QoS parametersSoft Computing10.1007/s00500-020-04923-7Online publication date: 28-Apr-2020
  • (2020)CLIK: Cloud‐based Linux kernel practice environment and judgment systemComputer Applications in Engineering Education10.1002/cae.2228928:5(1137-1153)Online publication date: 18-Jun-2020
  • (2019)Adopting Git/Github within TeachingProceedings of the ACM Conference on Global Computing Education10.1145/3300115.3309518(143-149)Online publication date: 9-May-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media