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