Tentative schedule for CIS 351

Note: Follow this link for additional information about each video including

Week Date Topics Reading Milestones
1 Mon. 12 Jan. Course Overview
Introduction
Truth Tables
Circuit Overview
How to build logic gates
Use of Binary
 
Hexadecimal and Base Conversions
Video 0: Overview
Sections 1.1 - 1.5
Video 1 (CL1, CL3a)
 
Video 2 (HW1)
Video 3 (NR1c,d)
Video 4 (NR1)
Video 5 (NR3, NR4)
Flippy bit A hexadecimal game
Tom Lehrer's "New Math"
Assign First Day Survey
Assign In-Class 1: Conversions
Assign In-Class 2: Truth Tables and PLAs
Assign Homework 1: Relays
Assign Homework 2: Introduction to Digital Logic
 
 
 
Assign More Conversion Practice
Wed. 14 Jan. Truth tables / "Big Hammer"
Failure of Big Hammer to Scale
Combinatorial Circuits
Other Gates
Boolean Expressions
 
Video 6 Section 2.4
Video 7 Sections 2.1, 2.4, and 2.5 (CL3b)
Video 8 Sections 1.5.5 and 1.5.6
Video 9 Section 2.2 (CL3c,d)
Due First Day Survey
Assign In-Class 3: Combinatorial Circuits
Assign Homework 3: JLS Setup
Fri. 16 Jan. Functional Completeness
Busses / Bitwise logic operations
Video 10
Section 2.9
Assign In-Class 4: Functional Completeness
Assign In-Class 5: Busses and Bitwise Operations
Due Homework 1: Relays
2 Mon. 19 Jan. No Class
Wed. 21 Jan. Adders
Propagation Delay
Time of Circuits
Circuit Size
Video 11 Section 5.2
Video 12 Section 1.6 (CL4)
Video 13 Section 2.9
Video 14
Assign In-Class 6: Adder
Assign In-Class 7: Propagation Delay
Due Homework 2: Introduction to Digital Logic
Assign Homework 3: JLS Setup
Assign Project 1: Build an Adder
Fri. 23 Jan. Quiz 1: NR3, NR4, CL2
3 Mon. 26 Jan. Carry Lookahead Adder Video 15a,
Video 15b, Section 5.2 (ADD3cl)
Due Homework 3: JLS Setup
Wed. 28 Jan. Carry Lookahead Adder
 
Carry Select Adder
"Hybrid" adders / size/time tradeoff
Diminishing returns
Video 15a,
Video 15b, Section 5.2 (ADD3cl)
Video 16 (ADD3cs)
 
 
Assign In-Class 9: AdvancedAdders
Fri. 30 Jan. Signed Integers / Two's Complement
Signed Addition
Quiz 2:
Video 18 Section 1.4.6 (NR2)
Video 19 (ADD4)
CL3, CL4, [NR3, NR4, CL2]
Assign In-Class 8: Two's Complement
4 Mon. 2 Feb. Mulitplexors
2-to-1 mux is functionally complete
Video 22 (CL5)
 
Assign Project 2: Build a Subtractor and SLT
Wed. 4 Feb. ALUs
Complex Combinatorial Circuits
Latches
Video 22 (CL5)
 
Video 23 Sections 3.1, 3.2, 3.3 (SL1)
Assign In-Class 10: Circuit with Choices
Due Project 1: Build an Adder
Fri. 6 Feb. Clocks and Clocked Latches
Quiz 3:
Video 24 (SL2)
Clocked D Latch
NR2, ADD4 [CL4]
Assign In-Class 11: SR-Latch
Assign Project 3: Build an ALU
5 Mon. 9 Feb. Exam 1
Wed. 11 Feb. Flip-Flops
Sequential Circuits
Video 25 Section 3.2.3 (SL2)
Video 26 Sections 3.4, 3.5, and 3.6 (SL4, SL6)
Assign In-Class 12: Flip Flop Timing
Assign Homework 4: Sequential Circuits
Fri. 13 Feb. Flip-Flops
Sequential Circuits
Quiz 4:
Video 25 Section 3.2.3 (SL2)
Video 26 Sections 3.4, 3.5, and 3.6 (SL4, SL6)
CL5 [NR2, ADD4]
6 Mon. 16 Feb. Finite state Machines
Intro to CPU Design, Words, and Registers
Video 27
Video 28 Sections 7.1 and 7.3.1
Wed. 18 Feb. Machine languge and MIPS R-type
Fetch/Execute cycle
Video 29 Section 6.3
Video 30 Sections 7.1.3 and 7.3.1
Assign Homework 5: Assembly Introduction
Assign Homework 6: Microarchitecture
Fri. 20 Feb. Generating and Loading Machine Code
Quiz 5:
Video 31
[CL5, NR2, ADD4]
Due Homework 4: Sequential Circuits
7 Mon. 23 Feb. Assembly Basics
Intro to MIPS Assembly
Video33
Video 34 Sections 6.1, 6.2, 6.3, and 6.4.1
Assign In-Class 13: Assembly Intro
Due Project 2: Build a Subtractor and SLT
Wed. 25 Feb. I-Type instructions
Design principles
Video 32 Sections 6.5 and 6.7.1
Video 36 Sections 6.3.2, 7.3.2 and 7.3.3
Assign Homework 7: Writing Assembly
Fri. 27 Feb. Jump
Branch
Quiz 6:
Video 37 Sections 6.3.3, 6.4.2, and 7.3
Video 38 Sections 6.4.2, 6.4.3, and 6.4.4
SL2, SL4 [CL5]
8 Mon. 2 Mar. Exam 2 Due Project 3: Build an ALU
Wed. 4 Mar. Branch
Writing assembly with branches
Video 38 Sections 6.4.2, 6.4.3, and 6.4.4
 
Assign In-Class 14: Branches
Fri. 6 Mar. Quiz 7: [SL2, SL4] Due Homework 5: Assembly Introduction
9 Mon. 16 Mar. TBD
Wed. 18 Mar. Design principles
Load and Store
Sections 6.3.2, 7.3.2 and 7.3.3
Section 6.4.5
Fri. 20 Mar. using .data in Assembly
Load Store implementation
Writing assembly with loops and memory
 
 
Section 6.4.5
Assign In-Class 15: Loops
10 Mon. 23 Mar. Control Wires Single Cycle Control Wires Assign In-Class 16: Control Wires
Wed. 25 Mar. Function calls
Clobbered Registers
Using "s" registers
Heap and Stack
Quiz 8:
Video 39 Section 6.4.6
Video 40
Video 41
Section 6.4.6
AL2, AL3 AL5 [ SL4, SL6]
Due Homework 6: Microarchitecture
Assign Homework 8: Stack and Functions
Fri. 27 Mar.
11 Mon. 30 Mar. Single Cycle Performance
CISC vs. RISC
Sections 7.2 and 7.3.4 Assign Homework 9: Cache
Due Homework 7: Writing Assembly
Wed. 1 Apr. RAM
SRAM Implementation
DRAM Implementation
SRAM vs. DRAM
Memory layout
Quiz 9:
Section 8.1
Section 8.3
AL4, SS3, [ AL2, AL3, AL5]
Fri. 3 Apr. Memory Heirarchy
Motivation for caches
 
Direct Mapped Cache
Cache Block Size
Video 45 Section 8.1
Memory Heirarchy
Video 46 Section 8.3
Video 47
Due Homework 8: Stack and Functions
12 Mon. 6 Apr. Exam 3
Wed. 8 Apr. Set Associative caches
Cache replacement policy
LRU and Pseudo-LRU
Video 49 Section 8.3
Video 50
Video 51
Fri. 10 Apr. LRU and Pseudo-LRU
Split/Unified cache
Write Through / Write Back cache
Quiz 10:
Video 51
 
 
SS4, SS5, [AL4, SS3]
13 Mon. 13 Apr. Pipelining
Data Hazards
Intro to Pipelining
Step through pipelined program
 
Due Homework 9: Cache
Wed. 15 Apr. Pipelining
Data Hazards
Control Hazards
Pipeline speedup / Limitations
Quiz 11:
Intro to Pipelining
Step through pipelined program
 
 
M2, M3, M4, [SS5]
Assign Homework 10: Pipeline Implementation
Assign Homework 11: Pipeline Performance
Fri. 17 Apr.
14 Mon. 20 Apr. More Single Cycle Performance
Superscalar
Quiz 12:
Sections 7.2 and 7.3.4
Wed. 22 Apr. Interrupts
Karnaugh Maps
 
Quiz 13:
K-Map Introduction
4-variable K-map
P1, P2 [M2, M3, M4]
Due Homework 10: Pipeline Implementation
Due Homework 11: Pipeline Performance
Fri. 24 Apr.
15 Mon. 27 Apr. Final Exam: 4:00 p.m.

Assignment List

Due Name Details
Wed. 14 Jan. First Day Survey Please email me a .pdf or slide a printout under my door.
Fri. 16 Jan. Homework 1: Relays
Wed. 21 Jan. Homework 2: Introduction to Digital Logic
Mon. 26 Jan. Homework 3: JLS Setup
Wed. 4 Feb. Project 1: Build an Adder
Fri. 20 Feb. Homework 4: Sequential Circuits
Mon. 23 Feb. Project 2: Build a Subtractor and SLT
Mon. 2 Mar. Project 3: Build an ALU
Fri. 6 Mar. Homework 5: Assembly Introduction
Wed. 25 Mar. Homework 6: Microarchitecture
Mon. 30 Mar. Homework 7: Writing Assembly
Fri. 3 Apr. Homework 8: Stack and Functions
Mon. 13 Apr. Homework 9: Cache
Wed. 22 Apr. Homework 10: Pipeline Implementation
Wed. 22 Apr. Homework 11: Pipeline Performance Not due for credit

Labs

Date Name Details

Updated Monday, 2 March 2026, 10:56 AM

W3c Validation