Example project ideas for CS179.
Sudoku
Create a CSP-based sudoku solver, either for full-size sudoku (example) or 6x6 sudoku (example) if your code is slow. The key to a good sudoku solver is to perform arc-consistency, ruling out invalid values for each square as you go, and to use a dynamic variable ordering during search, ordering by the most constrained variable at each step.