I teach Computer Systems and Assembly language using fill-in-the-blank worksheets that I’ve designed. Research has shown that students who manually write out notes are more likely to retain information presented in class over students who type notes. Having these worksheets allows students to handwrite notes and follow along in class, without getting overwhelmed with feeling like they need to write everything. I include examples for students to work out both during lecture with their classmates, and outside of class.

#### How do I find the answers?

Spoiler alert! Here are instructions on how to view the answers.

#### Introduction

history of computing, computing levels of abstraction

#### Integer Numbering Systems

unary, grouping, positional, decimal, octal, hexadecimal, binary

#### Combinational Logic

MOSFET transistors, PMOS, NMOS, inverter, and, or, nand, nor, xor, xnor, Venn diagrams

#### CMOS

complementary metal oxide semiconductor field effect transistor circuits, logic gates from transistors

#### Boolean Algebra

boolean identities, DeMorgan’s Law

#### Blank Diagrams

worksheet to make up your own examples, includes blank Venn Diagrams, SOP PLAs, POS PLAs

#### Sequential Logic

SR latch, active high, active low, D latch, D flip flop

#### Data Representation

signed numbers, sign magnitude, two’s complement, bias / excess notation, floating point, fixed point

#### Arithmetic and Logical Operations

carry out, overflow, bitwise, reduction, shifts, rotate

#### Fractional Binary

#### Von Neumann Model

Von Neumann Architecture, processing unit, control unit, input, output, memory, address space, addressibility

#### MIPS Instructions

general purpose registers, assembler directives, data directives, labels, instruction format, instruction types, operate instructions, data movement (loads and stores), control flow instructions, little endian, big endian, memory alignment, pseudo instructions, instruction encoding

#### Memory Representation in MARS

MARS memory representation

#### Addressing Modes

register direct, immediate, register indirect, base + offset (displacement), PC relative, pseudo direct

#### Stacks and Subroutines

stack, jump instructions, return address, subroutines

#### Midterm Review

I designed this fill-in-the-blank study guide as a midterm review. It covers topics including numbering systems, logic gates, CMOS circuits, binary, Boolean logic and algebra, negative number representation, sequential logic, memory, addressability, and MIPS.

This is a living Google document. The most up-to-date version can be found here.