CSC 362-01: System Programming

Fall 2021
Department of Computer Science
UNC Greensboro
Class Meetings: Tues/Thurs 11:00-12:15, Online (Zoom link in Canvas)

Instructor

Steve Tate
E-mail:
Office: Petty 157
Office Hours: Tues/Thurs 1:45-3: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).

Fall 2021 Note

This semester, CSC 362 has separate on-line and face-to-face sections. This web page is for section 1 (CSC 362-01), the on-line section. See Genie for information on section 2 if you are looking for the face-to-face section.

This online section has certain computing equipment requirements as well as policies and procedures for class attendance and office hours. See the syllabus for more information.