System software (Fall, 2025)

Course Description
In this course, we will study the lower concepts of computer systems through assembly programming. Especially, from the perspective of programmer, we will focus on assembly programming language and how a computer launches applications and stores information.

Course Texts
Randal E. Bryant and David R. O'Hallaron. Computer Systems: A Programmer's Perspective. Prentice Hall Inc.

Course Grading
Exam: 90%
Homework and etc.: 10%
* Subject to change
* Person who is absent more than 3 times will get D.

Professor
Prof. Jo, Heeseung (For more details... refer here)

Notice
조교 오픈채팅방 1분반
중간고사 - 10/22 수 16시 S4-1 101, 106호

Schedule
Topics Materials / Homework
Course Overview (Syllabus) Dev-Cpp 5.9.2 TDM-GCC 4.8.1 Setup.exe
Computer Architecture Review
Introduction
Representing and Manipulating Integers hw1 (Due date: 9/16 23:00)
Homework1 results 1분반
Representing and Manipulating Floating Points hw2 (Due date: 10/2 23:00)
제출
Byte Ordering
Machine-level Representation of Programs
Introduction to IA-32
Assembly I Basic Operations
Assembly II Control Flow
Exam.1, 10/22 수, 16시, S4-1 101, 106호
Assembly III Procedures
Assembly IV Complex Data Types
Buffer Overflow
Linking
* Credit: Most of slides for this lecture are based on materials provided by the textbook publisher and Prof. Jinsoo Kim.