As Agile software development principles and practices gain widespread adoption there is a growing need to ensure that graduating students have a basic understanding of core technical practices such as test-driven development and refactoring. In this session we will discuss how I embrace the Agile principles of simple design, low tech tools, and evolutionary development to teach Java in a test-first manner, giving students a foundation in unit testing and refactoring while learning the Java language.