System Programming (Fall, 2017)

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., 2010.

Course Grading
Exam: 60%
Project, homework and etc.: 40%
* Subject to change
* Person who is absent more than 3 times will get F.

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

Notice


Schedule
Topics Materials / Homework
Course introduction (Syllabus)
Computer science is ...
Course Overview
Digital Systems
Representing and Manipulating Integers
Representing and Manipulating Floating Points
Byte Ordering
Machine-level Representation of Programs
Introduction to IA-32
Assembly I Basic Operations
Assembly II Control Flow
10/26, Exam.1 (14:00, Room 6-b15)
Assembly III Procedures
Assembly IV Complex Data Types
Buffer Overflow
Linking
Optimization
* Credit: Most of slides for this lecture are based on materials provided by the textbook publisher and Prof. Jinsoo Kim.