I wrote a Connect Four game, but I couldn't get the alpha-beta pruning on the AI to work right. At any reasonable depth it's kicking out 400 or more nodes, so I can't trace it through with print lining. I figure it will be easier to write a tic-tac-toe game and debug the alpha-beta pruning code there. So I write the tic-tac-toe game, and I write a couple simple AIs to test the tools I'll need for the board evaluation function. After some false starts there, I start on the alpha-beta pruning AI. I copy over the alpha-beta pruning code from the Connect Four AI, and the first thing I notice is that it's using the wrong evaluation function.
I would have posted this on Facebook, but almost nobody there would understand what I'm talking about.