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


Date

Topic

Reading (From the Main textbook)

Notes

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
PA0
September 12
Boolean Algebra, Bit-level & Logical Operations in C
 
PS1
       
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
Procedures
 
Slides on control flow instructions;
Slides on assembly representation of procedures
       
October 22
Arrays
  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)
  PA3
       
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
PS3
November 28
No Class Ch. 8 & 9
Thanksgiving
       
December 3
Exceptions

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
Wrapup/Review
  Solution to PS3
Last Day of Classes
PA3 due (11:59 pm via gsubmit)
Practice final exam information