The study of Operating Systems and Systems Programming provides invaluable software engineering experience and crucial conceptual understanding that make it an essential component of an undergraduate computer science curriculum. It is also imperative that classroom course material and infrastructure keep pace with rapidly evolving technology. A "modern" course will provide an accurate software engineering experience and prevent the study of outdated concepts. With the recent increase in size and popularity of computer science courses, all course material must also be appropriately scalable. In order to create such a "modern" systems course, we redesigned UC Berkeley's CS 162, a 300 student Introduction to Operating Systems & Systems Programming course. In this paper we detail our unique curriculum layout, our advanced infrastructure support for students, and future work on extending our infrastructure for other large computer science courses
[1]
Carlos Maziero,et al.
Some Experiences in Using Virtual Machines for Teaching Computer Networks
,
2006,
Education for the 21st Century.
[2]
Joseph Lawrance,et al.
Git on the cloud in the classroom
,
2013,
SIGCSE '13.
[3]
Ville Isomöttönen,et al.
Challenges and Confusions in Learning Version Control with Git
,
2014,
ICTERI.
[4]
John Kelleher.
Employing git in the classroom
,
2014,
2014 World Congress on Computer Applications and Information Systems (WCCAIS).
[5]
Joel C. Adams,et al.
Configuring a multi-course lab for system-level projects
,
2005,
SIGCSE '05.
[6]
Anthony Romano,et al.
The pintos instructional operating system kernel
,
2009,
SIGCSE '09.
[7]
Thomas Anderson,et al.
Operating Systems: Principles and Practice
,
2012
.