GES6137-01 System Programming (Spring 2025)
Lectures: Monday 8:30-10 PM @ D502
Lectures-labs-credits: 3-0-3
Instructor: William J. Song (Office: Engineering Building #3, C410, Email: wjhsong {\at} yonsei {\dot} ac {\dot} kr, Phone: 02-2123-2864)
Prerequisites:
- Introduction to C/C++ Programming or equivalent
- EEE2020 Data Structures and Algorithms in C/C++
Class objectives: This course covers the basic principles of computer operations and programming techniques that interact directly with system resources. Class objectives are as follows.
- Understanding the basic concepts of computer systems and operations
- Exploring system programming techniques, including memory management, process handling, system calls, etc.
Class rules:
- Honest and ethical behaviors are expected at all times. Any attempt at cheating will be severely penalized, and incidents will be reported to the university administration for further action – No excuses will be accepted. It will be a one-strike out.
- Asking partial credits for assignments will be considered a cheating attempt, and any student doing so will lose all scores.
Textbook:
- Computer Systems: A Programmer’s Perspective, 3rd Edition, by Randal Bryant and David O’Hallaron (Link to Amazon)
Grading:
- Attendance: 15%
- Class participation: 5%
- Midterm: 40%
- Final: 40%
Course plans: (subject to change)
Weeks | Dates | Lectures | Notes |
1 | (no class) | ||
2 | 03/10 | Data representation | |
3 | 03/17 | Machine-level representation of programs | |
4 | 03/24 | Machine-level representation of programs | |
5 | 03/31 | Computer architecture | |
6 | 04/07 | Program optimization | |
7 | 04/14 | Memory hierarchy | |
8 | 04/21 | Midterm | |
9 | 04/28 | compiling and linking | |
10 | (no class) | ||
11 | 05/12 | Exception handling | |
12 | 05/19 | Virtual memory | |
13 | 05/26 | System I/O | |
14 | 06/02 | Network programming | |
15 | 06/09 | Multi-thread programming | |
16 | 06/16 | Final |