Schedule

This schedule is tentative and subject to change. Slides will be posted after lectures.

NOTE: These slides are not meant to substitute for lectures.

We will use Byrant and O'Hallaron, Computer Systems: A Programmer's Perspective, 3/ed as the textbook for this class. Additional resources for this book and other course references:

References for each lecture are in the slides.

Date Topic
Wed Aug 28, 2019

Introduction

Mon Sep 02, 2019

No class (Labour Day)

Wed Sep 04, 2019

Bits and Integers

Mon Sep 09, 2019

Bitsets and Bitfields, Integer Arithmetic

Wed Sep 11, 2019

Integer Arithmetic, Real Numbers

Mon Sep 16, 2019

Floating Point

Wed Sep 18, 2019

Addresses and Instructions

Mon Sep 23, 2019

Assembly Language

Wed Sep 25, 2019

Functions

Mon Sep 30, 2019

Pointers and Arrays

Wed Oct 02, 2019

More Pointers and Arrays

Mon Oct 07, 2019

Review Class (Slides in Blackboard Announcement)

Wed Oct 09, 2019

Midterm

Mon Oct 14, 2019

No class (Fall break)

Wed Oct 16, 2019

Processor Pipeline

Mon Oct 21, 2019

The Processor Pipeline and Performance

Wed Oct 23, 2019

Caches and the Memory Hierarchy

Mon Oct 28, 2019

I/O, OS and Virtualization

Wed Oct 30, 2019

Virtual Memory

Mon Nov 04, 2019

Linking and Loading (Prof. Michael Scott)

Wed Nov 06, 2019

Using Virtual Memory

Mon Nov 11, 2019

Privilege Levels, System Calls and Processes

Wed Nov 13, 2019

Concurrency and Inter-process Communication

Mon Nov 18, 2019

Threading and Parallelism

Wed Nov 20, 2019

Networking

Mon Nov 25, 2019

Systems of Tomorrow

Wed Nov 27, 2019

No class (Thanksgiving)

Mon Dec 02, 2019

Introduction to accelerators

Wed Dec 04, 2019

Wrap-up

Mon Dec 09, 2019

Review Session 1 (In blackboard)

Wed Dec 11, 2019

Review Session 2 (In blackboard)

Mon Dec 16, 2019 8:30AM

Final exam