This course covers theoretical and practical aspects of operating systems, including an overview of system software, time-sharing and multiprogramming operating systems. Students also learn about network operating systems and the internet, virtual memory management, interprocess communication and synchronization, file organization, and case studies.