In Curriculum Module: Inheritance and Polymorphism with Sudoku (http://apcentral.collegeboard.com/apc/public/repository/Sudoku_Kick.pdf), Richard Kick presents Sudoku as a unit to teach computer science object oriented foundational principles to AP students.
This project has code, meant for instructors, to help them teach using this module. I have made some alterations to conform to the way I am teaching this material at The League of Amazing programmers.
The master branch represents the initial code. Each additional branch represents the project following the completion of the associated exercise. The strategy branch is intended for students who have completed the unit to build additional strategies