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, banking applications, are directly facing regular users. This software is high-level: users are not expected to understand how computer works in order to use it. But high-level software cannot stand by 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, student 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, redistribution is not permissible without explicit permission, such as uploading any or part of these materials to public or private websites without the instructor’s explicit consent or the copyright holder. Violating this copyright policy will be considered an academic integrity violation.