Week 1

 Jan 22: Introduction, Admin, Hardware trends, Moore law

Chapter 1

Jan 25:  Intro to C
Chapter 1

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
Chapter 2.3

Feb  21: Computer Arithmetic 

Chapter 2.3

Project 1 Due; PROJECT 2 HANDED OUT

Week 6

Feb 26:  Assembly (registers)
Chapter 3.1 to 3.4 

March  1: Assembly (addressing + alu)
Chapter 3.4

 

Week 7

Mar 5:  Assembly arithmetic and logic operations
Chapter 3.5

 

Marc 8: Assembly control
Chapter 3.6

Week8

Mar 12: Assembly procedures

Chapter 3.7
 

Mar 15: Assembly  array allocation and pointers

Chapter 3.8
Project 2 due; PROJECT 3 HANDED OUT

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
Chapter 4.2
 

Week11

April 9: CPU design
Chapter 4.3

Apr 12: CPU Design
Chapter 4.3   

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

BACK