  The pattern avoidance problem seeks to construct a set with large fractal
dimension that avoids a prescribed pattern, such as three term arithmetic
progressions, or more general patterns, such as finding a set whose Cartesian
product avoids the zero set of a given function. Previous work on the subject
has considered patterns described by polynomials, or functions satisfying
certain regularity conditions. We provide an exposition of some results in this
setting, as well as considering new strategies to avoid what we call `rough
patterns'. This thesis contains an expanded description of a method described
in a previous paper by the author and his collaborators Malabika Pramanik and
Joshua Zahl, as well as new results in the rough pattern avoidance setting.
There are several problems that fit into the pattern of rough pattern
avoidance. For instance, we prove that for any set $X$ with lower Minkowski
dimension $s$, there exists a set $Y$ with Hausdorff dimension $1-s$ such that
for any rational numbers $a_1, \dots, a_N$, the set $a_1 Y + \dots + a_N Y$ is
disjoint from $X$, or intersects with $X$ solely at the origin. As a second
application, we construct subsets of Lipschitz curves with dimension $1/2$ not
containing the vertices of any isosceles triangle.
