3: Functionality- Enigma Class with encrypt and decrypt methods successfully implemented. Encrypt/decrypt command line interfaces successfully implemented
3: Object Oriented Programming- Project is broken into logical components consisting of at least 4 classes that have single responsibilities. No more than 2 methods are longer than 7 lines. No class is longer than 100 lines. While there may be 1 or 2 lapses, variable and method names clearly communicate purpose.
3: Test Driven Development- Every method is tested at both the unit and integration level. git history demonstrates students are writing tests before implementation code. Test coverage metrics show coverage at 95% or greater.
3: Version Control - At least 30 commits. At least 10 pull requests. No more than 3 commits include multiple pieces of functionality.