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
 
.
Fri  Sep 29

Signed and Unsigned Division

HW 3 - Due Oct 06
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
Read:  CSAPP Section 3.1-3.3
Wed  Oct 11

Intel x86-64 Processor Basics

 IA-32 Assembly Language

Read:  CSAPP Section 3.4-3.5
Fri  Oct 13

Intel x86-64 Addressing Modes
  x86-64 Cheat Sheet
Take-home Exam Out
Mon  Oct 16

Intel x86-64 Control Instructions

Take-home Exam Due
Wed  Oct 18

Compiling Conditional Branches
 
Read Section 3.6
Fri
 Oct 20

Compiling while loops
 
Read: CSAPP Section 3.7
Mon   Oct 23
Fall Break No Class
Wed  Oct 25
More Loops - LAB
 
HW 4 - Due Oct 30
Fri  Oct 27

Procedure Calls and Parameter Passing

Read: CSAPP Section 3.8-3.9
Mon  Oct 30
Accessing Local Variables
 
HW 5 - Due Nov 06
Wed  Nov 01 Compiling while loops Read: CSAPP Section 3.7
Fri  Nov 03

In-class exercise
 
Homecoming Lecture, 2:00
Mon  Nov 06

For Loops
 
HW 6 - Due Nov 13
Wed  Nov 08

Procedure Calls and Parameter Passing

Read: CSAPP Section 3.8-3.9
Fri  Nov 10

Data Structure Access

Read: CSAPP Section 3.10
Mon  Nov 13

Pointer and Array Bounds Errors

HW 7 - Due Nov 20
Wed  Nov 15
Security Exploits

  HeartBleed Bug
Read: CSAPP Section 3.14
Fri  Nov 17
Logic Circuit Design
  The EDVAC Report
Read: CSAPP Sections 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 X - 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