The first (and only) program I ever made in Visual Basic was a game called Squares. I was in high school at the time, and didn't even know C, so I just wanted to make something simple and interactive.
In Squares, you have an 8 by 8 grid like a chess board. Players take turns putting their pieces on the board. When their pieces make a square, they get points equal to the area of the square. The game is tricky because squares can be rotated at any angle and are often hard to see. It's quite fun.. I made a simple hotseat version in canvas a while ago to test out canvas (Rendering shadows is slow!). Let me know if any of you are interested and I can show you the game.. if there is enough interest I could make it multiplayer online.
On a 2x2 board, there would only be one possible square. On a 3x3 board, you can make 6 squares.
So the question is, how many can you make on an 8x8 board? How about an NxN board? Or better yet.. an NxM board?? Anyone? :) It actually works out to be a nice clean answer.