Schedule, Readings, and Assignments

Date Topic Assignments
Wed  Aug 30

Course Overview

  What we consider computers

Read: CS:APP pp. xix - xxv and Chapter 1
Linux Command Line Tutorial
Fri  Sep 01

Abstraction vs. Reality

 
Read: King, Chapters 2-7 (skim through)
Focus on Chapter 3 (scanf and printf)
Mon  Sep 04

Working with C Programs


Read:  King Chapter 7
HW 0
+ files - Due in class Sept 11
Wed  Sep 06

Modularity and ADTs
  GCC Exercise

Data Abstraction in C
Test Program
Fri  Sep 08

Programming Examples
 
Read:  King Chapter 9
Mon  Sep 11

Pointer Variables and Addresses

  Low-Level Aspects of C

Read:  King Chapter 11-12
HW 1 + files- Due Sept 20
Wed  Sep 13
Arrays and C-Strings
  Hints on Debugging C

Read:  King Chapters 8, 13
Fri  Sep 15

Pointers and Structs
 
Read:  King Chapter 16
Mon  Sep 18

Bits and Bytes

Read:  CSAPP Sections 2.1-2.2
Wed  Sep 20

Representing Unsigned Integers

HW 2 - Due Sept 29
Fri  Sep 22
Representing Signed Integers -LAB
 
Read: CSAPP Section 2.3
Mon  Sep 25

Computer Arithmetic

....
Wed  Sep 27

Signed and Unsigned Multiplication
 
HW 3 - Due Oct 06
Fri  Sep 29

Signed and Unsigned Division

....
Mon  Oct 02

Floating Point Representation

 
Read:  CSAPP Section 2.4-end
Wed  Oct 04

FP Representation - Exercise
 
Format Example
Fri  Oct 06

Floating Point Arithmetic
 
HW 3 Solutions
Mon  Oct 09
Floating Point Exercise
 Exam Review
Take-home Exam Out
Wed  Oct 11

Intel x86-64 Processor Basics

 IA-32 Assembly Language

Read:  CSAPP Section 3.1-3.3
Take-home Exam Due
Fri  Oct 13

Intel x86-64 Addressing Modes
   Midterm Evaluations
Read:  CSAPP Section 3.4-3.5
Mon   Oct 16
Fall Break No Class
Wed  Oct 18

Intel x86-64 Control Instructions

ReadContinue Section 3.6
HW 4 - Due Nov 06
Fri  Oct 20

Compiling Conditional Branches
 
.
Mon
 Oct 23

Compiling while loops
 
Read: CSAPP Section 3.7
Wed  Oct 25
More Loops - LAB
 
.
Fri  Oct 27

Procedure Calls and Parameter Passing

Read: CSAPP Section 3.8-3.9
Mon  Oct 30
Accessing Local Variables
 
.
Wed  Nov 01
Data Structure Access
 
Read: CSAPP Section 3.10
Fri  Nov 03

Data Alignment
 
Homecoming Lecture, 2:00
Mon  Nov 06

Pointer and Array Bounds Errors
 
HW 5 - Due Nov 20
Wed  Nov 08

Security Exploits

  Vulnerablilities in MySQL passwords
Read: CSAPP Section 3.14
Fri  Nov 10

Logic Circuit Design
  The EDVAC Report
.
Mon  Nov 13

One-bit ALU Design

.
Wed  Nov 15
One-bit ALU Design Continues
 
.
Fri  Nov 17
Extended ALU Design
 
Read: CSAPP Section 4.1 - 4.4
Mon  Nov 20

Y86 Architecture
and Logic Design

Y86 Tools, Manual, and Code
Wed  Nov 22
Thanksgiving Break - no class

Fri  Nov 24 Thanksgiving Break - no class
Mon  Nov 27 Thanksgiving Break - no class
Wed  Nov 29
Y86 Sequential Implementation

Converting to Y86
Fri  Dec 01

Processing Pipelines

Reading: CSAPP Section 4.5|
Take Home Exam Out - due Dec. 04
Mon  Dec 04
Y86 Pipelined Implementation

HW 6 - Due Dec 13 by 4:30pm
Wed  Dec 06

Memory Hierarchy
 
Reading: CSAPP 6.1 - 6.3
Fri  Dec 08
Localization and Caching

Reading: CSAPP 6.4
Mon  Dec 11
Caching
, with examples

Hitting the Memory Wall
Sun also gets it
Wed  Dec 13

Multiple Processor Cores
  Multicore / Multiprocessors

Final Review
Sun
 Dec 17
Final Exam @ 7:00 PM

.
Related, sorta

Magnetic Movie from Semiconductor on Vimeo.


View from the ISS at Night from Knate Myers on Vimeo