Computer Programming I and II, or participation in Imperative and Object-Oriented Programming Methodology, Computer Architecture I.
The course covers how an operating system typically is designed and interacts with both hardware and software. Central is the concept of process, as well as memory management, both for security and management of file systems.