Course Schedule

Readings are from Kernighan and Ritchie (K&R) or Tanenbaum (Tanen). Additional readings may be given occasionally. Links will be added here with additional information about lectures and labs. All dates are subject to change, and are provided as a general guideline. Formal lab meetings are indicated by dates in bold.

Date Topic and/or Event Readings
Sept. 8 Introduction and Overview Tanen Ch. 1
Sept. 11 Binary Data Representations Tanen App. A
Sept. 11/12 Lab 1: Binary Representations and C Practice K&R
Sept. 13 Binary Arithmetic, Signed Representations Tanen App. B
Sept. 15 Signed Arithmetic, Logical Operations
Sept. 18 Floating Point Representations, vonNeumann Architectures, MC68K Organization Handouts
Sept. 18/19 Lab 2: Programming the Palm Pilot
Sept. 20 MC68K Instruction Set, Assembly Programming
Sept. 22 More Assembly Programming, Addressing Modes Tanen Ch. 5.3
Sept. 25 More Assembly Programming
Sept. 25/26 Lab 3: Assembly on the Palm Pilot
Sept. 27 Introduction to Logic, Combinational Circuits Tanen Ch. 3.1, 3.2.2
Sept. 29 Combinational Circuits, Simplification Tanen Ch. 3.2.3
Oct. 2 Multiplexers and Demultiplexers, Half-Adders, Full Adders
Oct. 2/3 Lab 4: Digital Logic Lab I
Oct. 4 Ripple-Carry Adders, Subtractors, Faster Adders, Encoders/Decoders, Exam Out
Oct. 6 No class - Mountain Day!
Oct. 9 No class - Fall Reading Period
Oct. 9/10 No formal lab meeting - Fall Reading Period Lab 5: Assembly Subroutines
Oct. 11 Subroutine Calls in Assembly
Oct. 13 Assembly Subroutines
Oct. 16 Sequential Circuits, Latches and Flip-Flops Tanen Ch. 3.2.4, 3.3.1-3.3.2
Oct. 16/17 Lab 6: Sequential Circuits
Oct. 18 More Latches and Flip-Flops, Counters
Oct. 20 Synchronous Counters, Arrays in Assembly Language
Oct. 23 Saving Registers for Procedure Calls, Building Memory
Oct. 23/24 Lab 7: Assembly Programming with Arrays
Oct. 25 Building Memory Tanen Ch. 3.3.3-3.3.5
Oct. 27 SIMM Layout, Memory Parity and Error Correction
Oct. 30 Memory Error Correction, Computation Circuits
Oct. 30/31 Lab 8: Memory with TTL
Nov. 1 Computation Circuits, Bonus Lab: Computation Circuit
Nov. 3 Microarchitecture: Intro and the MIC1 Tanen 1990 Ch. 4 Handout
Nov. 6 Exam Review
Nov. 6/7 No lab - Exam This Week
Nov. 8 MIC1 Data Path, Exam Out
Nov. 10 Instruction Set Architecture, MIC1 Microprogramming
Nov. 13 MIC1 Microprogramming, Microcode Project Overview
Nov. 13/14 Final Project: The WC34000 Implementation Project
Nov. 15 MIC1 Microprogramming, The WC34000 Computer
Nov. 17 The WC34000 Computer
Nov. 20 RISC vs. CISC Tanen Ch. 2.1.3
Nov. 20/21 No New Lab. Optional lab meeting to learn Subversion
Nov. 22-24 No class - Happy Thanksgiving
Nov. 27 Exam Back, Assembly Examples
Nov. 27/28 No New Lab - Work on Final Project
Nov. 29 Pipelines, Branch Prediction, Register Windows
Dec. 1 Register Windows, Cache Memory Tanen Ch. 4.5.1
Dec. 4 Cache Memory
Dec. 4/5 No New Lab - Work on Final Project
Dec. 6 Virtual Memory
Dec. 8 Current Architectures, Parallelism
Dec. 9-17 24-Hour Take-Home Final Exam, Pick up from the Registrar