  Let $G$ be an additive group of order $v$. A $k$-element subset $D$ of $G$ is
called a $(v, k, \lambda, t)$-almost difference set if the expressions
$gh^{-1}$, for $g$ and $h$ in $D$, represent $t$ of the non-identity elements
in $G$ exactly $\lambda$ times and every other non-identity element $\lambda+1$
times. Almost difference sets are highly sought after as they can be used to
produce functions with optimal nonlinearity, cyclic codes, and sequences with
three-level autocorrelation. This paper reviews the recent work that has been
done on almost difference sets and related topics. In this survey, we try to
communicate the known existence and nonexistence results concerning almost
difference sets. Further, we establish the link between certain almost
difference sets and binary sequences with three-level autocorrelation. Lastly,
we provide a thorough treatment of the tools currently being used to solve this
problem. In particular, we review many of the construction methods being used
to date, providing illustrative proofs and many examples.
