Courses
CSC446 Systems Programming
[3–0, 3 cr.]
This course provides students with a basic understanding of the issues involved in writing system programs such as compilers, linkers, loaders and debuggers. Topics include POSIX System-Call API, system processes, system I/O and inter-process communication, system permissions, files, directories, signals, threads, sockets, terminal, etc. Students are introduced to the C programming language. The course includes the design of a small computer system with focus on process, memory virtualization, and concurrency.
Prerequisites: CSC326 Operating Systems