In this talk, I will give an overview of the theory of matroids. These are mathematical objects which capture the combinatorial essence of linear independence. Besides providing some basic definitions of this theory, I will discuss several examples of matroids and explain some connections with optimization. Also, in this talk, I will introduce matroid polytopes, which provide a geometric framework for studying matroids. If time permits, I will discuss some new proofs to known results that I developed with one of my students during a research program this summer.