Introduction to
Computer Systems
Welcome to the Spring 2021 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

  • Midterm I: Fri, Mar 5, 2021
  • Midterm II: Fri, Apr 2, 2021
  • Final: Mon, May 10, 2021