Fundamentals of Computer Systems

Course Description


We discuss how computers operate at fairly low level of abstraction and then discuss how computer systems build as layers and layers of abstraction. After taking this course, you will know the components of a computer and how do they fit together. How computers do arithmetic and how does the code you write actually execute? How does a program in a high level language like C get translated into a form the machine can execute? How can you write code likely to execute efficiently? How is information stored and accessed? How does your program access existing "libraries"? 

Course Objectives


Learning Outcomes


By the end of the course, students should be able to:


Course Outline




Computer Systems, A Programmer's Perspective by Randal E. Bryant and David O'Hallaron, Prentice Hall, 2016 (Third Edition) 




Course Staff


Dr. Agha Ali Raza

Danyal Maqbool

Taimur Sarmad

Haashim Mirza

Abdul Rafay




We would like to express our gratitude towards Randy Bryant's and Dave O' Hallaron's course Introduction to Computer Systems (ICS), offered at CMU School of Computer Science as their amazing educational slides motivated and simplified several complex explanations in this course.