Using an operating systems class to strengthen students' knowledge of c++
Publication Title
SIGCSE 2020 - Proceedings of the 51st ACM Technical Symposium on Computer Science Education
ISBN
9781450367936
Document Type
Conference Proceeding
Abstract
Operating systems is the last required course in our undergraduate Computer Science major. Although our students have had two semesters of programming in C++, one in assembler, and a semester of data structures using the C++ Standard Template Library, many of them have weak mastery of some important programming topics. In addition, they have had minimal exposure to using these constructs with real world data structures. In this paper we describe how we have used the assignments in a Linux-based Operating Systems course to remedy these deficiencies while teaching a full semester of OS content. Assignments include retrieving data via standard API calls and from /proc; process management, including fork, wait and system; building a microshell with fork/exec and pipe/dup; semaphore handling; and building an OS simulator. We have rewritten these assignments to provide additional practice with data type conversion, pointers and memory management, file handling, classes and subclasses, and the use of vectors, maps and other data structures in the STL.
First Page
947
Last Page
953
Publication Date
2-26-2020
DOI
10.1145/3328778.3366936
Keywords
C++ programming, Data structures, Operating systems
Recommended Citation
Freedman, Reva, "Using an operating systems class to strengthen students' knowledge of c++" (2020). NIU Bibliography. 143.
https://huskiecommons.lib.niu.edu/niubib/143
Department
Department of Computer Science