DATE TOPIC(S)/READING DUE TODAY
     
Jan 26 Course introduction
Von Neumann architecture
Control unit/fetch-decode-execute cycle
x86 processor architecture
READ: (1) AoA V1 2.7, (2) Von Neumann architecture, (3) Control unit, (4) Instruction cycle, (5) x86
Book Learning Challenge #1
Jan 28 Instruction sets and instruction formats
High Level Assembly (HLA)
Common instructions, data storage, Input/Output (I/O)
READ: (1) AoA V1 2.3, V1 2.4, V1 2.5, V1 2.6
Programming Challenge #1
Feb 2 Data representation: decimal
Data representation: binary
Data representation: hexadecimal
READ: (1) AoA V1 3.2, V1 3.3
Book Learning Challenge #2
Feb 4 HLA control structures
HLA data types
HLA stdin.getX routines
READ: (1) AoA V1 2.9, V1 2.10
Programming Challenge #2
Feb 9 Data representation (continued)
Register overlay
READ: (1) AoA V1 2.7, V1 2.10, V1 3.2, V1 3.3, V1 3.4
Book Learning Challenge #3
Feb 11 Data type vs. data storage
Register overlay
READ: (1) AoA V1 2.7, V1 2.10, V1 3.2, V1 3.3, V1 3.4
Programming Challenge #3
Feb 16 PRESIDENT'S DAY
Feb 18 Exceptions/interrupts and robust user input handling
Subroutines/HLA procedures
READ: (1) AoA V1 2.9, V1 2.10, V3 8.2
Programming Challenge #4
Feb 23 x86 arithmetic instructions: add, sub, mul
READ: (1) AoA V1 2.7, V1 2.8, V3 10.2
Book Learning Challenge #4
Feb 25 x86 arithmetic expressions: add, sub, mul
READ: (1) AoA V3 10.3
Midterm #1 [goes live]
Programming Challenge #5
Mar 2 x86 signed arithmetic: mul and imul
READ: (1) AoA V3 10.2
Midterm #1 [due at start of class]
Book Learning Challenge #5
Mar 4 OPEN LAB DAY  
Mar 9 x86 arithmetic instructions: div and mod
READ: (1) AoA V3 10.2
Book Learning Challenge #6
Mar 11 x86 arithmetic expressions: div and mod
READ: (1) AoA V3 10.3
Programming Challenge #6
Mar 13 Programming Project #1
Mar 16 SPRING BREAK
Mar 18 SPRING BREAK
Mar 23 x86 stack
READ: (1) AoA V2 2.7
Book Learning Challenge #7
Mar 25 push and pop
READ: (1) AoA V2 2.7
Programming Challenge #7
Mar 30 bitwise logic
READ: (1) AoA V1 3.7, binary addition
Book Learning Challenge #8
Apr 1 shl, shr, ror, rol
READ: (1) AoA V1 3.11
Midterm #2 [goes live]
Programming Challenge #8
Apr 6 NO CLASS TODAY  
Apr 8 bitwise logic instructions: and, or, xor, not
READ: (1) AoA V1 3.7
Midterm #2 [due at start of class]
Programming Challenge #9
Apr 13 two's complement
binary addition
READ: (1) AoA V1 3.2
Book Learning Challenge #9
Apr 15 x86 addressing modes: direct and indirect addressing
READ: (1) AoA V2 2.2, V2 2.10
Programming Challenge #10
Apr 20 Arrays in HLA
x86 addressing modes: indexed addressing
READ: (1) AoA V2 2.2, V3 4.2, V3 4.3
Book Learning Challenge #10
Apr 22 Arrays in HLA
x86 addressing modes: indexed addressing
READ: (1) AoA V2 2.2, V3 4.2, V3 4.3
Programming Challenge #11
Apr 27 x86 addressing modes: scaled indexed addressing
READ: (1) AoA V2 2.2
Book Learning Challenge #11
Apr 29 x86 addressing modes: scaled indexed addressing
READ: (1) AoA V2 2.2
Programming Challenge #12
May 4 x86 addressing modes: review
group work on Programming Project 2
READ: (1) AoA V2 2.2
 
May 6 Low-Level Control: decisions
READ: (1) AoA V3 10.2, V4 2.2, V4 2.3, V4 2.4, V4 2.5, V4 2.6, V4 2.7, V4 2.8
Midterm #3 [goes live]
Programming Challenge #13
May 11 Dynamic memory management and HLA pointers
READ: (1) AoA V2 2.8, V3 1.7
Midterm #3 [due at start of class]
Book Learning Challenge #12
May 13 mem.alloc, mem.free, HLA pointers
READ: (1) AoA V2 2.8, V3 1.7
Programming Challenge #14
May 18 Low-Level Control: loops
READ: (1) AoA V3 10.2, V4 2.2, V4 2.3, V4 2.4, V4 2.5, V4 2.6, V4 2.11, V4 2.12
Book Learning Challenge #13
May 20 Low-level decisions, loops, cmp, unconditional and conditional jumps
READ: (1) AoA V3 10.2, V4 2.2, V4 2.3, V4 2.4, V4 2.5, V4 2.6, V4 2.7, V4 2.8, V4 2.11, V4 2.12
Programming Challenge #15
May 22 Programming Project #2
Friday, May 29, 8:00 - 10:00 am, CHC 232 Final challenge