Spring 2017


Figure out where class is
Get books

Monday

Course Concept
Introductions:
Input for Unix Account "quiz"
Music: Cantaloop (Flip Fantasia)

Wednesday

Read 1.1 - 1.5
Abstraction isn't the entire story (Slides)
Get To Know You
Music: Derek Webb: Zeros and Ones (Remix)

Friday

Read 1.6 - 1.10
What the computer is really doing (Slides)
Video tutorial of task in class
Music: Moby: Are you Lost in the World Like Me?

Tuesday

Read Linux Text
Computer Architecture (Slides)
Introduction to Linux/SSH/Account (Slides)
Music: DC Talk: Free at Last

Wednesday

Read K&R Ch 1-3
Types, Arrays, Structs, Pointers (Slides)
Music: Lost Dogs: Up in the Morning

Friday

Read K&R Ch 4-5
The C language (Slides)
Faith and Learning:

Monday

Read 2.1
Information Storage (Slides)
Lab I: Datalab Released
Music: They Might Be Giants: Women and Men

Wednesday

Read 2.2
Integer Representations (Slides)
Music: 8 bit weapon: Bits with Byte

Friday

Read 2.3
Casting and Converstion and Integer Arithmetic (Slides)
Music: 8 bit weapon: Bits with Byte

Monday

Read 2.4-5
Integer Arithmetic (Slides)

Wednesday

Read 3.1-3.2
Floating Point Representation (Slides)

Friday

Read 3.3-3.4
x86 History (Slides)

Monday

Read 3.5-3.6
Intro to Machine Code (Slides)
Lab I: Datalab Due

Wednesday

Read 3.7-3.8
Arithmetic and Logical Operations (Slides)
Music: 8 bit weapon: The Art of Video Games Anthem

Friday

Read 3.9-3.10
Control (Slides)

Monday

Read 3.11-3.12
Control (cont) (Slides)
Lab II: Bomblab Released, gdb cheat sheet
Music: Lisa Loeb: I control the sun

Wednesday

Control continued
In class disassembly work

Friday

Procedures and Array Allocation (Slides)

Monday

Wednesday

Data Allocation (Slides)

Friday

Structs and Floating Point (Slides)

Monday

Wednesday

Floating Point/Pointers/Arrays (pt 2)
Lab II: Bomblab Due

Friday

Buffer Overflow Attacks (Slides)

Monday

Read 5.1 - 5.7
Program Optimization Pt 1 (Slides)

Wednesday

Read 5.8-5.15
The Memory Hierarchy

Friday

Midterm Exam Ch 1,2,3


Monday

Array Skeleton Example: (code)
Complete the two missing functions to simulate a two-dimensional array with one-dimensional array.
Exam 1 Redux (Slides)

Wednesday

Optimizaton Skeleton: (code)
Guided Learning Sheet: (pdf)

Friday

Optimizaton Skeleton: (code)
Guided Learning Sheet: (pdf)

Monday

Wednesday

Optimizaton Skeleton: (code)
Guided Learning Sheet: (pdf)
Read 5.1-5.7

Friday

Loop Unrolling: (Slides)
Optimizaton Skeleton: (code)
Guided Learning Sheet: (pdf)
Read 5.8-5.15

Monday

Read 6.1-6.4
The Memory Hierarchy: (Slides)

Wednesday

Guided Learning Sheet: (pdf)

Friday

Read 6.5-6.7
Cache Performance: (Slides)
Lab III: Malloc Lab Released

Monday

Read 9.1-9.3
Virtual Memory Concepts:(Slides)
Guided Learning Sheet: (pdf)

Wednesday

Read 9.4-9.7
Virtual Memory Concepts:(Slides)
Guided Learning Sheet: (pdf)

Friday


Monday

Wednesday

Read 9.8-9.9
Dynamic Memory Allocator:(Slides)
Guided Learning Sheet: (pdf)

Friday

Read 9.10-9.12
Dynamic Memory Allocator:(Slides)
Guided Learning Sheet: (pdf)

Monday

Read 7.1-7.7
Linking 101 :(Slides)

Wednesday

Class Wrap-Up, Evaluations :(Slides)
Lab III: Malloc Lab Due

Friday


Monday

Final Exam: 12:00 - 2:00 pm

Tuesday

Wednesday

Thursday

Friday


What else can I take from this professor?

How about Apple Development for Creative Entrepreneurs? in May Term 2017