Introduction to
Computer Systems
Welcome to the Fall 2020 session of CSCI356!
Please register online for a lecture section, a discussion session, and the quiz timeslot. And grab a copy of our textbook, Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron (3rd edition, Pearson, 2015).

Course Overview

This course covers information representations, x86 assembly, buffer overflow attacks, memory hierarchies, caches, virtual memory, out-of-order execution, along with compilation and system software concepts such as linking and heap management.

The goal is to improve students' ability to understand what a computer does to execute a program, with the intent to improve their abilities as programmers.

This course will also serve as a basis for CSCI 350 (Operating Systems), CSCI 450 (Computer Networks), and CSCI 457 (Computer Systems Organization).

Important Dates

  • First Lecture: Tue, Aug 17, 2020
  • Midterm I: Tue, Sep 29, 2020
  • Midterm II: Tue, Oct 20, 2020
  • Final: Sat, Nov 21, 2020