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.edu
Happy 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 |