Schedule (click lecture names for slides)

8/27 Introduction
8/29 Binary, Hexadecimal, and Arbitrariness
9/5 MIPS: Programs, Instructions, and Registers
9/10 MIPS: Memory and Addresses
9/12 MIPS: Arrays, Control flow, and Loops
9/17 MIPS: Conditionals and Functions
9/19 MIPS: More Functions and the Stack
9/24 MIPS: Pseudo-ops, Debugging, etc.
9/26 Arithmetic: Bitwise operations and Bitfields
10/1 Arithmetic: Addition, Signed Numbers, and Overflow
10/3 Arithmetic: Multiplication and Division
10/8 Arithmetic: More Division and Floats
10/16 Exam 1
10/17 Logic: Gates and Wires
10/22 Logic: Arithmetic and Decisions
10/24 Logic: Minimization
10/29 Logic: Sequential Logic, Registers, and Clocking
10/31 Logic: FSMs, Multiplication, and Division
11/5 CPU: Intro
11/7 CPU: The Register File and ALU
11/12 CPU: Controlling the PC
11/14 CPU: Interconnect, Control, and Decoding
11/19 CPU: Performance
11/26 CPU: Multicycle and Microcode
11/28 CPU: Pipelining and Superscalar CPUs
12/3 Exam review
12/5 Exam 2
12/9 proj3 due by 11:59pm