Syllabus - this is a tentative schedule and may well change significantly. Please check regularly.



Reading (From the Main textbook)


September 3
Course Overview  
September 5
Introduction to 
Computer Organization and Software Hierarchy
Ch. 1
Intro slides
September 10
Data Representation: Conversion between Number Systems, Character Codes
Ch. 2
September 12
Boolean Algebra, Bit-level & Logical Operations in C
September 17
Boolean logic continued, Integer & Floating Point Numbers
Slides on data representation
September 19
Computer Arithmetic: Addition & Subtraction in C
Slides on logic
September 24
Computer Arithmetic continued, various C operations

Slides on floating point
Notes on floating point
Example code

PA0  and PS1 due (11:59pm via gsubmit)
September 26
Instructions: Intel Instruction Set Architecture (ISA)
Ch. 3
PA1 writeup and tarball
October 1
Instructions continued: arithmetic, data transfer, addressing modes, etc

Slides on x86 ISA basics
October 3
Review for Exam 1

Practice exam guide
PS1 solution
October 8
Exam 1
PA1 due (gsubmit 11:59pm)

October 10
Control Flow & Data Structures: control instructions
Ch. 3 PS2
October 15
No Class

Monday Schedule
October 17
Slides on control flow instructions;
Slides on assembly representation of procedures
October 22
  PA2 early release
October 24
Data Structures continued
  PS2 Due
October 29
Assembly versus Machine Language

PS2 solution
October 31
Program Translation
  Slides on assembly representation of data structures (multi-dimensional arrays, structs, etc)
November 5
Review for Exam 2

Slides on miscellaneous assembly instruction topics

Sample exam
Assembly handout for exam
November 7
Exam 2
November 12
Program Optimization, Linking & Loading: Linking & Loading
Ch. 5 & 7
PA2 due
Notes on optimization
November 14
Program Optimization
Programming Assignment discussion (dynamic memory allocation)
November 19
Memory: Memory Hierarchy, Locality Ch. 6
Notes on dynamic memory allocation
November 21
Caches: Direct Mapped and Performance, Multi-level Caches
Notes on memory
November 26
Operating Systems, Virtual Memory: Pages and Page Tables
November 28
No Class Ch. 8 & 9
December 3

Notes on virtual memory
December 5
Input/Output: Memory-mapped vs Port-based I/O, Direct Memory Access (DMA), Interrupts, ...
Ch. 6
Notes on I/O
December 10
  Solution to PS3
Last Day of Classes
PA3 due (11:59 pm via gsubmit)
Practice final exam information