Introduction to Computer Systems (Spring 2025)

Course Overview

  • This course introduces how computer programs are constructed and executed for first-year honors students, providing a foundation for subsequent systems courses.
  • Time and location: J2-106 (Friday) / Computer Building 529 (Tuesday)
  • Textbook: Computer Systems: A Programmer’s Perspective
  • Teaching assistant and contact: liyuzhi901 at 163.com

Schedule and Lecture Materials

Week Date Lecture Reading Lab
1 Feb. 21 Overview [Slides] Ch1
2 Feb. 25 Representation [Slides] Ch2
2 Feb. 28 (Lab)
DataLab
3 Mar. 7 Machine-Level Programming I : Basics & Controls [Slides] Ch3.1 - Ch3.6
4 Mar. 11
StackLab
4 Mar. 14 Machine-Level Programming II: Procedure [Slides] Ch3.7
5 Mar. 21 Machine-Level Programming III : Data [Slides] Ch3.8 - Ch3.9
6 Mar. 25 Machine-Level Programming IV : Advanced Topics and Lab [Slides]
BombLab
6 Mar. 28 (Lab) Ch5
7 Apr. 4 Program Optimization [Slides] Ch6.1 - Ch6.3
8 Apr. 8 (Lab)
PerformanceLab
8 Apr. 11 Memory Hierarchy [Slides] Ch6.4 - Ch6.6
9~16 (Prof. Zhen Ling’s Lecture)
Introduction to Computer Systems — Spring 2025 Schedule

Assignment Policy (Temporary)

The assignments are the heart of this course. Much of what you learn in this course will be through completing these assignments. (cite: ics-cmu)

  • All labs are due 11:59am on the shown due date.
  • The late penalty is 50% per day.
  • Each student has 2 grace days for the semester.
Borui Li
Borui Li
Ph.D., Assistant Professor

My research interests include embodied AI systems, AI infra for on-device and edge computing, and edge intelligence.