Schubert polynomials were introduced by Lascoux and Schutzenberger in 1982, and since have played a very important role in combinatorics and geometry. After defining Schubert polynomials, I will discuss how they can be neatly expressed using the combinatorics of pipe dreams and wiring diagrams using the nil-Hecke algebra. After deducing some identities from these techniques, I will talk about their relation to Schur polynomials via Grassmanian permutations. Time permitting, I will introduce Schubert varieties, which were one of the original geometric motivations for defining Schubert polynomials.