Week 1 |
Jan 22: Introduction, Admin,
Hardware trends, Moore law Chapter 1 |
Jan 25: Intro to C |
Week 2 |
Jan 29: Control Structure |
Feb 1: Pointers PROJECT 1 HANDED
OUT |
Week 3 |
Feb 5: Arrays |
Feb 8 Dynamic Memory Management,
File I/O |
Week 4 |
Feb 12: Data representation 2.1 and 2.2 |
Feb 15: Data representation/floating point 2.4 |
Week 5 |
Feb 19: Computer Arithmetic |
Feb 21: Computer
Arithmetic Chapter 2.3 Project 1
Due; PROJECT
2 HANDED OUT |
Week 6 |
Feb 26: Assembly (registers) |
March 1: Assembly
(addressing + alu)
|
Week 7 |
Mar 5: Assembly arithmetic and
logic operations |
Marc 8: Assembly control |
Week8 |
Mar 12: Assembly procedures Chapter 3.7 |
Mar 15: Assembly array allocation and pointers Chapter 3.8 |
Week 9 |
Mar 26: Digital logic Chapter 4.2 |
Mar 29:
Mid term I |
Week 10 |
April 2: Digital logic Chapter 4.2 |
April 5: Digital Logic |
Week11 |
April 9: CPU design |
Apr 12: CPU Design Project 3 due; PROJECT 4 HANDED OUT |
Week 12 |
Apr 16: CPU design Chapter 4.3 |
Apr 19 Cache design Chapter 6.3 |
Week 13 |
April 23 Cache design Chapter 6.4 |
April 26: Cache design Chapter 6.4 |
Week 14 |
April 30 :
Pipelining Chapter 4.4 |
May 3: Pipeline
implementations Chapter 4.5 |
|
|
|
Final Exam: May 14 TUESDAY 8 AM to 11 AM in class
Text Book:
1. Computer Systems (A Programmer Perspective) by R E Bryant and David R O'Hallaron (required)
2. The C Programming Language by Kerninghan and Richtie
Reference text: Computer Organization and design by Patterson and Hennessey