CS350 — Systems Programming
5 CR This course provides an introduction to system-level software development. Students will learn low-level programming in languages like C and assembly, explore operating systems, delve into security measures, and optimize system performance. The course provides hands-on experience in designing device drivers and mastering parallel programming. Apply low-level programming languages such as C or assembly to develop system software and perform hardware-level tasks. Analyze and optimize the performance of system software, identifying bottlenecks and efficiency improvements. Design and implement system-level software components, including device drivers, file systems, and memory management. Implement concurrency control mechanisms and synchronization techniques for multi-threaded and parallel programming. Find out when this course is offered
Prerequisites: CS300