CSC 362-01: System Programming

Spring 2023
Department of Computer Science
UNC Greensboro
Class Meetings: Tues/Thurs 5:30-6:45, Petty 313

Instructor

Steve Tate
E-mail:
Office: Petty 157
Office Hours: Tues/Thurs 3:45-5:15 (or by appointment)
         Office hours in person or through Zoom – see Canvas for Zoom link or email for more information

Overview

Catalog description: System programming with emphasis on processes, memory management, multithreaded programming, synchronization and deadlocks, interprocess communication, parallel and distributed computing, networking, files systems, security, signals, and virtualization containers.

Longer Description: This class is a programming-focused class, exploring how programs interact with the operating system and use system and related services. As far as programming level, you can consider it as sitting between CSC 261 (hardware and assembly language) and CSC 130/230 (higher-level programming without hard connection to the underlying system). The class will use C for programming in a Linux environment, interacting with the system through Linux system calls, the standard C library, and support libraries such as pthreads. The class is heavy on specifics and concrete details, and light on theory/generality which will be covered in a later class (CSC 462 -- Principles of Operating Systems).