Schedule and outline
Representing and Manipulating Information
August 25 (4 lectures)
Reading:
Chapter 2
Topics:
- Bits, etc.
- Integer representations
- Integer arithmetic
- Floating point
Assignment:
Machine-Level Representation of Programs
September 8 (6 lectures)
Reading:
Chapter 3
Topics:
- Assembly language and machine code
- Registers and data movement
- Arithmetic and logical operations
- Control
- Procedures
- Arrays, structures, and unions
- Using gdb
Assignments:
Helpful links
The Memory Hierarchy
September 29 (4 lectures)
Reading:
Chapter 6
Topics:
- Disks, memory, and locality
- Memory hierarchy
- Direct-mapped vs. set-associative vs. fully-associative caches
- Writing cache-friendly code
Helpful links
Midterm Exam
- Midterm exam on October 13
- Midterm grades posted here
Exceptional Control Flow
October 20 (5 lectures)
Reading:
Chapter 8
Topics:
- Exceptions and faults
- Processes
- System calls
- Process control
- Signals
- Nonlocal jumps
Assignment:
Helpful Links:
Virtual Memory
November 5 (4 lectures)
Reading:
Chapter 10
Topics:
- Virtual addressing
- Page tables, page faults
- Uses of virtual memory
- Address translation
- Memory mapping
- Malloc and free
- Garbage collection
Assignment:
Network Programming
November 24 (4 lectures)
Reading:
Chapter 12
Topics:
- The client-server model
- Internet addresses and connections
- The sockets interface
- Web servers
Assignment:
- Assignment 6: Networking lab (grading)
Final Exam
- Review on December 10
- Final exam on Thursday, December 17 at 8:00 am
- Final exam grades posted here



