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

______________

Material

________

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

Lectures

________

          

Course Staff

___________

Dr. Agha Ali Raza

Danyal Maqbool

Taimur Sarmad

Haashim Mirza

Abdul Rafay

         

Acknowledgements

__________________

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.