← Back to Home

Introduction to Systems Software

CS 0449. Fall 2023 (Term 2241)

Systems is a branch of computer science that focuses on the design, implementation, and analysis of complex software, hardware, and their interaction. In this course, we will explore the issues of programming a real computer system by examining the abstractions, interfaces, and design decisions that influence the way that software runs.
Pointers, XKCD 138

About this Page

This page will provide information regarding the things I go over in recitation. Check back for updates regularly, especially if you miss a recitation. For other course materials including lecture slides and lab/project handouts, please see the course website.

Contact Information

Shinwoo Kim
E-mail: shinwookim@pitt.eduHappy to meet by appointment. Just send me an E-mail!
Home Page: https://pitt.edu/~shk148/
Office: Fall 2023 Office HoursExtra help is available via the CS department’s Peer Tutoring program. Sign up for an appointment on Navigate.

Recitations

My recitation sections accompany professor Luis Oliveira’s lecture section 1135 which meets Tuesdays and Thursdays 2:30–3:45pm in the 1501 Wesley W. Posvar Hall. We will meet every Friday at 4:00 PM in 501 Information Science Building unless announced otherwise.

You may attend only the recitation section you are signed up for unless you have received permission from the course instructor.

Schedule & Handouts

Additional Resources
Recommended Books/Resources on Computer Systems
Recommended Books/Resources on C Programming
The Development of the C Language
Pitt Course Recommendations

How do computers read code? (Video)
Slab Allocators (Video)
The C Programming Language: Brian Kernighan (Video)
The Unix Operating System (Video)

Command Line Help (Web)
GDB Cheatsheet (PDF)
Vim-Adventure: A New Way To Learn Vim (Web)

Date Topic Handouts
09/01/2023 Introduction + Lab0 Slides
Handout
09/08/2023 Bitwise Ops, I/O, Lab 1 Slides
Handout
09/15/2023 Intermediate C Programming + Lab 2 Slides
Handout
09/22/2023 Multi-file development Slides
Tutorial
09/29/2023 Pointer Lab + Project 1 Discussion Slides
Handout
10/06/2023
Fall Break
Queue Lab Slides
Handout
10/13/2023 Mid-Term Review Study Guide
10/20/2023 Assembly Slides
10/27/2023 Valgrind and Memory Leaks Handout
11/03/2023 Project 3 Discussion Slides
11/10/2023 Process Lab Slides
11/17/2023 Project 4 Discussion Slides
12/01/2023 Synchronization & Concurrency Slides
12/08/2023 Final Exam Review Course Recommendations