(Due) | ||||||
| 1 | 8/29 | L1 | Computer system abstractions, computer system basics | |||
| 8/31 | D1 | Meet your TA, unix, binary/hex numbers | P&P Chapter 1, 2.1-2.2 | |||
| 2 | 9/5 | L2 | Basic electronics and transistors, N, P transistors, inverter design | HW#1 | ||
| 9/7 | D2 | Gates from transistors | P&P 3.1-3.2, Reader pp. 1-10 (Uyemura 15-32), pp. 27-30 (Weste and Eshraghian 5-10) | |||
| 3 | 9/10 | L3 | Boolean algebra and relation to circuits, combinational circuits | Reader pp. 11-25 (Uyemura 32-63), pp. 30-42 (Weste and Eshraghian 11-21, 40-51) | ||
| 9/12 | L4 | Datapath elements (bitwise gates, multiplexors, sign extenders, encoders, decoders, adders) | P&P 3.3 | |||
| 9/14 | D3 | Fun with datapath elements, 2's complement review | HW#2 | HW#1 | ||
| 4 | 9/17 | L5 | Latches, flip-flops, and synchronous design | P&P 3.4-3.6 | ||
| 9/19 | L6 | Storage circuits and memory design | ||||
| 9/21 | D4 | Flip-flop examples, memory, addressibility | Reader 147-164 (Maccabe 4.1-4.4) | HW#2 | ||
| 5 | 9/24 | L7 | LC-3 elements, registers, and the ADD instruction | P&P 3.7, 5.1 | ||
| 9/26 | L8 | State machines and control logic | HW#3 | |||
| 9/28 | D5 | Other data type representations (floating point, ASCII), exam review | P&P 2.7, Reader 61-76, 199-258 (Maccabe 1.2-1.4, Chapter 7, Chapter 8) | |||
| 6 | 10/1 | Exam 1 | ||||
| 10/3 | L9 | von Neumann computers, LC-3 ISA overview, LC-3 memory organization | P&P Chapter 4, Reader 133-143 (Maccabe Chapter 3.2) | |||
| 10/5 | D6 | LC-3 datapath examples using LC-3 instructions | P&P Appendix A | HW#3 | ||
| 7 | 10/8 | L10 | Computation and memory instructions | P&P 5.2-5.3 | ||
| 10/10 | L11 | Control flow | P&P 5.4-5.6 | HW#4 | ||
| 10/12 | D7 | LC-3 instruction review, TRAP instruction, I/O programming | ||||
| 8 | 10/15 | L12 | Register transfer level (RTL) code | P&P Appendix C.1-C.3 | ||
| 10/17 | L13 | LC-3 Control logic, state diagrams | P&P Appendix C.4-C.6 | |||
| 10/19 | D8 | RTL and control examples | HW#4 | |||
| 9 | 10/22 | L14 | Introduction to I/O, I/O programming | P&P Chapter 8 | ||
| 10/24 | L15 | Interrupts, LC-3 timer interrupts and interrupt control logic | ||||
| 10/26 | D9 | Assembly language programming | P&P 7.1-7.3 | HW#5, extra file | ||
| 10/29 | L | |||||
| 10/31 | L | |||||
| 11/2 | D | HW#5 | ||||
| 10 | 11/5 | L16 | TRIPS and subroutines | P&P Chapter 9 | ||
| 11/7 | Exam 2 | |||||
| 11/9 | D10 | Exam Recap | ||||
| 11/12 | L17 | The run-time stack | Chapter 10 | |||
| 11 | 11/14 | L18 | Linking, loading, binary formats, and dynamic memory allocation | P&P Chapter 7.4 |   | |
| 11/16 | D11 | Exam recap | ||||
| 12 | 11/19 | L19 | The C programming language, ariables and operators | P&P Chapters 11 and 12, Appendix D | ||
| 11/21 | L20 | Control structures and functions | P&P Chapters 13, 14 | |||
| 13 | 11/26 | L21 | Pointers and arrays, recursion | P&P Chapters 15, 16 | HW#6, extra files |
|
| 11/28 | L22 | I/O in C, data structures | P&P Chapters 18 and 19 | |||
| 11/30 | D12 | Debugging in C | P&P Chapter 17 | |||
| 14 | 12/3 | Exam 3 | ||||
| 14 | 12/5 | L23 | Data structures and dynamic memory allocation | |||
| 12/7 | D13 | Exam recap | HW#6 | |||
| F | 12/15 | Final Exam | Saturday, 9am - 12 pm |