Using an operating systems class to strengthen students' knowledge of c++
SIGCSE 2020 - Proceedings of the 51st ACM Technical Symposium on Computer Science Education
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.
C++ programming, Data structures, Operating systems
Freedman, Reva, "Using an operating systems class to strengthen students' knowledge of c++" (2020). NIU Bibliography. 143.
Department of Computer Science