Stephen A. Edwards Columbia University Crown
CSEE W3827
Fundamentals of Computer Systems
Summer 2021

Lectures

Class meets Mondays and Wednesdays, 4:10 - 6:40 PM, May 3 - June 14, online.

Staff

Name Email Office hours Location
Prof. Stephen A. Edwards sedwards@cs.columbia.edu Sa, Su 5-7 PM Online
Asa Troxel Kosto atk2142@columbia.edu T, W 12-2 Online
Burcu Cetin bc2714@columbia.edu T 2-4, Su 1-3 Online
Max Helman mhh2148@columbia.edu T, Th 5-7 Online
Eumin Hong eh2890@columbia.edu Su, T, Th, F 4-5 Online
Maya Venkatraman mv2731@columbia.edu W 9-11P, Th 11A-1P Online
Kennedy Salamat kas2319@columbia.edu Tu, Th 7-9P Online
Brian Paick bsp2121@columbia.edu M 9-11P, Th 2-4 Online
George Litvinov gl2517@columbia.edu M, W 9-11A Online
Ari Carter ac4647@columbia.edu Online
Vassilis Benopoulos vb2503@columbia.edu Sa, Su 3-5 Online

Overview

This course examines how the 1s and 0s that form the foundation of digital computing are organized, structured, and manipulated to produce full-fledged computer systems. In bridging this gap, the course will cover many subjects beginning with binary logic, combinatorial and sequential circuit design, memory structures, instruction set architectures, and, ultimately, basic processor design.

Prerequisites

An introductory programming course, such as COMS 1004 or 1007. You need to understand the basics of imperative, sequential programming to understand the assembly language programming we will discuss.

Schedule

Date Lecture Notes Reading Due
Mon May 3 Representing Numbers
(annotated)
pdf
pdf
1.4

Wed May 5 Boolean Logic
(annotated)
pdf
pdf
1.5,2.1-2.7

Mon May 10 Combinational Logic
(annotated)
pdf
pdf
2.8,2.9,5.2

Wed May 12 Sequential Logic
(annotated)
pdf
pdf
3.1-3.3,3.5

Sun May 16 pdf HW 1
Mon May 17 Finite State Machines
(annotated)
(annotated)
(annotated)
pdf
pdf
pdf
pdf
3.4



Wed May 19 Transistors
Memory Elements
pdf
pdf

5.5
Mon May 24 pdf HW 2
Mon May 24 The MIPS Instruction Set
(annotated)
The SPIM Simulator
pdf
pdf
pdf
6.1-6.7


Wed May 26 MIPS Microarchitecture
(annotated)
pdf
pdf
7.1-7.3

Mon May 31 Memorial Day Holiday
Tue Jun 1 pdf hw3.zip
Wed Jun 2 Pipelining MIPS
(annotated)
pdf
pdf
7.5

Mon Jun 7 Caches
pdf
8.3
Wed Jun 9 (annotated)
pdf

Sun Jun 13 pdf HW 4
Mon Jun 14 Final Review
pdf

Fri Jun 18 24-hr take-home exam

The Digital Circuit Simulator

We will be using the Digital Circuit Simulator which is an open-source Java program. To run it, download and unpack the Digital.zip file, then launch Digital.jar. The documentation is quite good.

The Inkscape SVG Editor

You will edit SVG homework files using the open-source Inkscape program. Please install it on your computer (Windows, Mac OS, and Linux all supported).

MIPS Resources

Optional Text

David Harris and Sarah Harris.
Digital Design and Computer Architecture.
Morgan-Kaufmann, Second Edition, 2012.

A perfect fit for our class, half of this book is devoted to classical digital logic design; the other half to processor architecture centered on the practical, but teachable, MIPS processor.

Cover of Digital Design and Computer Architecture

Homework

Grading

40% Homeworks
60% Final

Academic Honesty Policy

You may discuss homework problems with your classmates, but you must write up your solution independently and understand it. Students turning in copied homeworks will be referred to the dean. See the Columbia CS department academic policies for more details.

Other

Valid HTML 4.01Valid CSS