Date |
Due |
Topic |
Reading |
Wed, Sept 6 |
|
Course Overview |
|
Part I: Digital Logic |
Fri, Sept 8 |
|
Introduction to Computing Systems |
Ch. 1 |
|
Mon, Sept 11 |
|
Bits, Data Types, and Operations |
Ch. 2-2.5 |
Wed, Sept 13 |
|
Ch. 2.6-2.7 |
Fri, Sept 15 |
HW1: Data Types |
Digital Logic Structures: Transistors and Gates |
Ch. 3-3.2 |
|
Mon, Sept 18 |
|
Digital Logic Structures: Combinational Logic |
Ch. 3.3 |
Wed, Sept 20 |
|
Digital Logic Structures: Memory |
Ch. 3.4-3.5 |
Fri, Sept 22 |
HW2: Digital Logic |
Digital Logic Structures: Sequential Logic |
Ch. 3.6-3.7 |
|
Mon, Sept 25 |
|
Digital Logic Structures: Examples |
|
Wed, Sept 27 |
|
No Class |
|
Fri, Sept 29 |
|
Instruction Execution Model |
|
|
Mon, Oct 2 |
|
LC-3: A Simple Computer |
Ch. 5-5.2 |
Wed, Oct 4 |
HW3: State Machines |
Ch. 5.3-5.4 |
Fri, Oct 6* |
|
Ch. 5.5-5.6 |
|
Mon, Oct 9 |
|
LC-3: A Simple Computer (continued) |
|
Part II: Assembly Programming |
Wed, Oct 11 |
HW4: LC-3 |
Programming as Problem Solving, Debugging |
Ch. 6 |
Fri, Oct 13 |
|
[Technical difficulties] |
Ch. 7
|
|
Mon, Oct 16 |
|
Assembly Language |
|
Wed, Oct 18 |
|
Midterm |
|
Fri, Oct 20 |
|
Assembly Language, continued |
Ch. 8-8.3 |
|
Mon, Oct 23 |
|
No class - Fall Break |
|
Wed, Oct 25 |
HW5: Assembly |
Input/Output |
Ch. 8.4-8.6 |
Fri, Oct 27 |
|
Traps and Subroutines |
Ch. 9-9.1 |
|
Mon, Oct 30 |
|
Subroutines |
Ch. 9.2, 14.3 |
Wed, Nov 1 |
|
Ch. 10 |
Fri, Nov 3 |
HW6: Snake, part 1 |
|
|
Mon, Nov 6 |
|
Interrupts |
|
Part III: The C Programming Language |
Wed, Nov 8 |
|
Introduction to C Programming |
Ch. 11 |
Fri, Nov 10 |
|
Variables and Operators |
Ch. 12 |
|
Mon, Nov 13 |
HW7: Snake, part 2 |
Control Structures |
Ch. 13 |
Wed, Nov 15 |
|
Functions |
Ch. 14 |
Fri, Nov 17 |
|
Pointers |
Ch. 16-16.2 |
|
Mon, Nov 20 |
|
Arrays |
Ch. 16.3-16.4 |
Wed, Nov 22 |
HW8: Disassembler |
Insecurity: Smashing the Stack |
|
Fri, Nov 24 |
|
No class - Thanksgiving Break |
|
|
Mon, Nov 27 |
|
Data Structures in C: Structs |
Ch. 19-19.3 |
Wed, Nov 29 |
|
Data Structures in C: Dynamic Allocation |
Ch. 19.4-19.6 |
Fri, Dec 1 |
|
Data Structures in C: Examples |
|
|
Mon, Dec 4 |
|
Memory Management |
|
Wed, Dec 6 |
HW9: Assembler |
Review/Evaluations |
|
Fri, Dec 8 |
|
Computer Architecture |
|
|
Wed, Dec 20 |
|
Final Exam (9am-11:00am) |
|