CSCI 2410 Systems Programming

Instructor Jie Zhou
Email jie.zhou@gwu.edu
Office SEH 4590
Lectures Tue & Thur 2–3:15 p.m. at SEH 1300, 1400, & 1450
Labs Wed 2:10–3:25 p.m. & Fri 9–10:15 a.m. at TOMP 405
Office Hours TBD
TA TBD
TA Office Hours TBD

Description

Most software, such as messaging, shopping, and banking applications, directly faces regular users. This software is high-level: users are not expected to understand how computer work in order to use it. But high-level software cannot stand on its own. It ultimately runs on hardware and it relies on low-level software, such as operating systems, cryptographic libraries, and web servers, which provide foundational services needed to manage resources and interact with hardware. Developing such low-level software is called systems programming. This course focuses on the fundamentals of systems programming using the C programming language.

Learning Goals

Upon completion of this course, students are expected to:

Fundamentally, students will understand that processes are manipulable data, that processes control and manage other processes, and that applications are composed out of libraries and processes.

This course is based on material provided by Sibin Mohan and Gabriel Parmer, taught at the George Washington University.

All teaching materials in this class, including slides, homework, assessments, and quizzes, are copyrighted by the George Washington University. Reproduction or redistribution is not permissible without explicit permission, such as uploading any part of these materials to public or private websites without explicit consent from the instructor or the copyright holder. Violating this copyright policy will be considered an academic integrity violation.