This document discusses affine array accesses in compiler design. It defines an affine access as one where the array index is expressed as an affine expression of loop indexes and constants. Affine accesses can be represented as a matrix-vector calculation that maps the iteration space to data space. Examples are given of affine accesses and how they can be written as tuples representing the mapping between indexes and array elements. Non-affine accesses are also discussed, such as those involving sparse matrices. Exercises are provided to represent given array accesses as affine tuples.