| Staff email:
                    
                    Course Instructor 
                        Course TAsMark Oskin, 206-293-9456Office Hours by Appt. 
                        Late Work PolicyMatt Dorsett, madman2@cs.washington.edu, M 12:30-1:20Benjamin Du, bendu@cs.washington.edu, T 1:00-1:50Mark Wyse, wysem@cs.washington.edu, W 2:30-3:20Whitney Schmidt, wps5@cs.washington.edu, Th 2:30-3:20All TA office hours will be in CSE 002 | 
            
                | Day 1 slides: here | 
            
                | Module 1: Memory Data, Addressing & Number Representation
                    
                    Lecture Videos 
                        Hardware PreliminariesMemory OrganizationMemory AddressesData and Memory in CArraysBoolean Algebra and Bitwise OperationsEncodingIntegersIntegers in CShiftingFractionsIEEE Floating PointFloating Point OperationsFloats in C | 
            Module 2: Intro to assembly programming Friday 1/17 - Intro
 Monday - Holiday
 Wednesday 1/22 - Discussion
 Friday 1/24 - Advanced
 
 Lecture videos
 
 
ISAArchitecturemov, swapx86-64Address ComputationCondition CodesConditional JumpsLoopsSwitch | | Module 3: Procedures & Stacks Monday 1/27 - Intro
 Wednesday 1/29 - Discussion
 Friday 1/31 - Advanced
 
 Lecture videos
 
 
StacksProcedure Call and ReturnStack-Based LanguagesLinux Stack Frame, Passing ArgumentsRegister-Saving Conventions, Local Variablesx86-64 Calling Conventions Resources
 x64 ABI
 inline assembly guide x86
 "Official inline assembly guide
 guide for x64
 
 | 
| Module 4: Data structures Monday 2/3 - Intro
 Wednesday 2/5 - Intro/Discussion
 Friday 2/7 - Advanced topics
 Videos
 
 
ArraysMultidimensional or Nested ArraysMulti-Level ArraysStructsData Structures and Memory AlignmentBuffer overflows | 
| Module 5: CPUs Friday 2/14 - Intro
 Monday 2/24 - Intro 2
 Wednesday 2/26 - Discussion
 Friday 2/28 - Advanced topics
 Videos
 
 
Cache BasicsLocalityMemory HierarchiesCache Organization 1Cache Organization 2Cache-Aware OptimizationsVirtual Memory OverviewIndirectionVirtual Memory for CachingAddress TranslationVirtual Memory Examples | 
| Module 6: Processes & libc Monday 3/3 - Intro
 Wednesday 3/5 - Intro 2 / Discussion
 Friday 3/7 - Advanced topics
 Videos
 
 
Exceptional Control FlowProcessesProcess CreationProcess ManagementMemory Allocation IntroExamplesImplicit Free ListsExplicit Free ListsGarbage CollectionMemory Allocation Bugs | 
| Module 7: Managed languages Monday 3/10 - Intro
 Wednesday 3/12- - Advanced topics
 Videos
 
 
Java Data RepresentationJava ImplementationJava Virtual Machine | 
| Friday 3/15 - Wrapup and Review | 
            
                | Lecture Slides | 
            
                | Readings 
                        Module 1: Chapters 1 & 2Module 2: Chapter 3.1-6Module 3: Chapter 3.7, 3.13Module 4: Chapter 3.8-12Module 5: Chapter 6.2-5, 9.1-7Module 6: Chapter 8.1-2, 8.4.1-2, 9.9-12Module 7: None | 
            
                | Labs | 
                            
                | Homework | 
            
                | Section Slides | 
            
                | Other Resources |