Compressed sensing refers to the recovery of high-dimensional but low-complexity objects from a limited number of measurements. Examples are the recovery of high-dimensional vectors with just a few nonzero components (but at unknown locations), and the "completion" of high-dimensional but low-rank matrices from measuring just a few components. In this talk I will focus on the vector recovery problem, and survey both well-established techniques as well as some recent work from my group. The talk will include both the underlying theory as well as illustrative examples. Some challenging problems for future research will also be indicated.