Alternating minimization is a popular heuristic to solve a number of (non-convex) optimization problems. Despite its empirical success, our understanding of this procedure has been quite limited. In this talk, we will show the correctness of alternating minimization for learning sparsely-used dictionaries. The problem of learning sparsely-used dictionaries (a.k.a. sparse coding) is, given a collection of signals, to find a basis where each signal admits a sparse representation; it has many applications, such as image compression, denoising and classification. Our result consists of two parts: 1. designing a clustering based algorithm to obtain an approximate solution, and 2. refining the approximate solution using alternating minimization.