Developing a pre- and post-course concept inventory to gauge operating systems learning

Operating systems courses often present students with multiple approaches to solve a problem, often with differing trade-offs. While students are more than capable of memorizing the details of these competing approaches, they often struggle to recommend a specific approach and analyze its implications. In particular, we find that students exhibit difficultly in interpreting text-based scenario descriptions in a way that allows them to correctly choose between potential solutions when presented with a high-level, conceptual scenario. In this paper, we describe the development of a pre- and post-course concept inventory, which we utilize to explore students' misconceptions of operating systems and their associated trade-offs. We compare the results of our assessment with in-class peer instruction questions and exam questions to characterize the areas in which students most commonly struggle with operating systems material.

[1]  Jan Vahrenhold,et al.  Detecting and understanding students' misconceptions related to algorithms and data structures , 2012, SIGCSE '12.

[2]  Geoffrey L. Herman,et al.  A preliminary pedagogical comparison study using the digital logic concept inventory , 2010, 2010 IEEE Frontiers in Education Conference (FIE).

[3]  Michael C. Loui,et al.  Identifying important and difficult concepts in introductory computing courses using a delphi process , 2008, SIGCSE '08.

[4]  Thomas E. Anderson,et al.  The Nachos Instructional Operating System , 1993, USENIX Winter.

[5]  R. Hake Interactive-engagement versus traditional methods: A six-thousand-student survey of mechanics test data for introductory physics courses , 1998 .

[6]  Marc Roper,et al.  Investigating the viability of mental models held by novice programmers , 2007, SIGCSE.

[7]  James R. Larus,et al.  Software and the Concurrency Revolution , 2005, ACM Queue.

[8]  Robert McCartney,et al.  Commonsense computing: using student sorting abilities to improve instruction , 2007, SIGCSE.

[9]  Roy D. Pea,et al.  Language-Independent Conceptual “Bugs” in Novice Programming , 1986 .

[10]  Leen-Kiat Soh,et al.  Concept inventories in computer science for the topic discrete mathematics , 2006, ITiCSE-WGR '06.

[11]  Mark A. Holliday Teaching computer systems through common principles , 2011, 2011 Frontiers in Education Conference (FIE).

[12]  Rob Hess,et al.  Linux kernel projects for an undergraduate operating systems course , 2010, SIGCSE.

[13]  T. Reed-Rhoads,et al.  Progress on concept inventory assessment tools , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[14]  J. Novak Concept mapping: A useful tool for science education , 1990 .

[15]  John K. Ousterhout,et al.  Why Threads Are A Bad Idea , 2013 .

[16]  D. Hestenes,et al.  Force concept inventory , 1992 .

[17]  Jeremy Andrus,et al.  Teaching operating systems using android , 2012, SIGCSE '12.

[18]  Richard E. Mayer,et al.  A diagnosis of beginning programmers' misconceptions of BASIC programming statements , 1983, Commun. ACM.

[19]  Michael C. Loui,et al.  Creating the digital logic concept inventory , 2010, SIGCSE.

[20]  Geoffrey L. Herman,et al.  Identifying student misconceptions of programming , 2010, SIGCSE.

[21]  E. Mazur,et al.  Peer Instruction: Ten years of experience and results , 2001 .

[22]  Iain Milne,et al.  Difficulties in Learning and Teaching Programming—Views of Students and Tutors , 2002, Education and Information Technologies.