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