Self assembly is the idea of creating a system whose component parts spontaneously assemble into a structure of interest.
In this talk I will outline our research program aimed at creating self-assembled structures out of very small spheres,
that bind to each other on sticking. The talk will focus on (i) some fundamental mathematical questions in
finite sphere packings (e.g. how do the number of rigid packings grow with N, the number of spheres); (ii) algorithms for self assembly (e.g.