Skip to content

Introduction to Computer Systems (ICS)

Welcome to the XJTU-ICS course! This course offers a programmer’s perspective on how computer systems execute programs store data, and communicate with each other.

A key focus of the course is on developing your system programming skills. To achieve this, the course includes 6 hands-on lab assignments, which will help you strengthen your understanding of how systems operate at the code level. These lab assignments make up approximately 50% of your final grade, emphasizing the importance of practical programming in mastering the concepts covered in the course.

Enjoy!

Prerequisites: C Programming

Textbook: Randal E. Bryant and David R. O'Hallaron, Computer Systems: A Programmer's Perspective, Third Edition, Pearson, 2016

Announcements

Announcements for Week 6 📢

Please note the deadline and release date of labs:

  • AttackLab is due this Sunday (2025-03-30 23:59). Don't forget to submit. ⚠

  • CacheLab is planned to released this week. Enjoy! 😄

DON'T CHEAT. Big Brother is watching you!

~ XJTU-ICS Course Staff

Getting Help

  • Piazza
  • QQ group: 1030663999
  • Office Hours
    • Danfeng Shan: 21:30-22:30, Every Tuesday and Thursday
    • Hao Li: TBD

Schedule

Week Date Lecture Instructors Materials Reading Labs
1 2025-02-18 Overview Hao Li && Danfeng Shan Slides 1
1 2025-02-20 Bits, Bytes, & Integers Danfeng Shan Slides 2.1-2.3 datalab out
2 2025-02-25 Machine Prog: Basics Danfeng Shan Slides 3.1-3.3
2 2025-02-27 Machine Prog: Basics Danfeng Shan Slides 3.4-3.5
3 2025-03-04 Machine Prog: Control Danfeng Shan Slides 3.7
3 2025-03-06 Machine Prog: Procedures Danfeng Shan Slides 3.7 bomblab out
3 2025-03-09 No Lecture datalab due
4 2025-03-11 Machine Prog: Data Danfeng Shan Slides 3.8-3.9
4 2025-03-13 Machine Prog: Advanced Danfeng Shan Slides 3.1
5 2025-03-18 Machine Prog: Advanced Danfeng Shan Slides 3.1 attacklab out
5 2025-03-20 The Memory Hierarchy Danfeng Shan Slides 6.1-6.3
5 2025-03-23 No Lecture bomblab due
6 2025-03-25 Cache Memories Danfeng Shan Slides 6.4-6.7
6 2025-03-27 Cache Memories Danfeng Shan Slides 6.4-6.7 cachelab out
6 2025-03-30 No Lecture attacklab due
7 2025-04-01 Machine independent Optimization Hao Li Slides 5.1-5.6
7 2025-04-03 Machine dependent Optimization Hao Li Slides 5.7-5.11 optimlab out
8 2025-04-08 Linking I: Basic Concepts and Procedures Hao Li Slides 7.1-7.7
8 2025-04-10 TBA Hao Li
8 2025-04-13 No Lecture cachelab due
9 2025-04-15 TBA Hao Li
9 2025-04-17 TBA Hao Li linkerlab out
10 2025-04-22 TBA Hao Li
10 2025-04-24 TBA Hao Li optimlab due
11 2025-04-29 TBA Hao Li
11 2025-05-01 No Lecture (Labour Day)
12 2025-05-06 TBA Hao Li linkerlab due
12 2025-05-08 TBA Hao Li
13 2025-05-13 TBA Hao Li
13 2025-05-15 TBA Hao Li
14 2025-05-20 TBA Hao Li
14 2025-05-22 TBA Hao Li
15 2025-05-27 Processor Architecture Danfeng Shan 4.1-4.3
15 2025-05-29 Processor Architecture Danfeng Shan 4.4-4.6
16 2025-06-03 Exam Review Danfeng Shan
16 2025-06-05 Exam Review Danfeng Shan