Artificial Intelligence Programming course project: Solving Sudoku puzzles using Progressive Stochastic Search