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 |