C S 324
Download as PDF
Systems Programming
Computer ScienceCollege of Computational, Mathematical, & Physical Sciences
Course Description
Systems programming principles and concepts, including Linux systems programming, multiprocessing, concurrency, exceptional control flow, caching, sockets, protocols, and non-blocking I/O.
When Taught
Fall and Winter
Min
3
Fixed/Max
3
Fixed
3
Fixed
0
Title
Master Linux Systems Programming
Learning Outcome
Utilize Linux APIs and command-line tools to develop software that interacts directly with the operating system. This technical fluency is intellectually enlarging, as it provides students with a comprehensive understanding of the intricate layers between hardware and software.
Title
Implement Multiprocessing and Concurrency
Learning Outcome
Write programs that manage multiple processes and concurrent execution flows. Mastering the coordination of these simultaneous actions is character building, requiring the patience and precision to handle the complexities of "exceptional control flow" with total accuracy.
Title
Optimize Performance through Caching
Learning Outcome
Analyze the impact of caching on system performance and implement strategies to minimize latency. Students will view this optimization of computational resources as a form of stewardship, ensuring their work is a model of professional excellence and efficiency.
Title
Utilize Network Sockets and I/O
Learning Outcome
Develop network-based applications using sockets and non-blocking I/O to facilitate communication between distributed systems. This ability to connect disparate systems is spiritually strengthening, as it prepares students to build tools that foster global communication and service.
Title
Analyze and Refine Systems
Learning Outcome
Perform deep analysis of system-level behavior and refine code to meet rigorous performance standards. This iterative process of discovery and correction encourages lifelong learning, providing students with the investigative mindset needed to master new technologies as they emerge.