Systems Programming (User view)

Equips with the skills needed in diverse computing environments.

This systems programming is a comprehensive hands-on course focusing on the user view of operating system application programming interfaces (APIs), protocols, networks, databases, and other libraries. The course emphasizes practical application development, allowing students to build small programs to solidify their understanding. While the primary implementation platform is Linux, the curriculum includes brief comparisons across various operating systems to provide a broader perspective. Students gain hands-on experience with system calls, network communication, and database interactions –
highlighting the reactive nature of networks and similar tools, contrasted with the transformational nature of compilers and related tools. This course equips students with the skills needed to effectively leverage system-level application programming in diverse computing environments.