First off, geometry. My suggestion would be to get a few building toys, e.g. tiles in different shapes that lock together, or simply a set of magnetic stick and balls. Try to create some flat geometric patterns, like hexagons or stars. After that, move on to 3D shapes. A cube may be simple, but can you you find the other four platonic solids (or three if you don't have access to pentagons)? Why are there only 5 of them? Can you make a football (hint: truncated icosahedron)? Or use a grid of tetrahedrons to illustrate why diamonds are so strong...

When it comes to pure dark magic, number theory is definitely the game. IHNA had quite a few good ones, but there are so many more, and finding a good book/site with such tricks would be nice, but unfortunately I don't have any specific recommendations at the moment. A few minor ones to get started:

- To quickly tell if something is divisible by 2 or 5 is pretty simple, but figuring out if a long number is divisible by 3 (or 9) can be quite fun (in case someone isn't aware of it, simply check if the sum of all the digits in that number is divisible by 3 (or 9))! Play around with this a bit, and you'll discover quite a lot of neat little "improvements". Is the sum to large? Just sum the digits of that sum and check again! Try summing up pairs of digits (e.g. for 134503, sum 13+45+03). Try ignoring any 3 (or 6, 9, or 0) you encounter. Replace any other number with 1 if it is one higher than any of those numbers (i.e. 1, 4, 7), or -1 for those that are one lower (i.e. 2, 5, 8), and you're on track to describing what modulo is!
- Take any number of objects (e.g. lego pieces, marbles, candies...) and try to order them into a rectangle. How many different rectangles can you make? Congratulations, you've basically understood prime factorization!
- Learn how to do simple sums fast like Gauss did! (Incidentally, that link may have quite a lot of interesting reading, now that I look at it...)
- To approximate square roots, first note that 10*10=100. This means that it is easy to see that 900=3*10 * 3*10=302, and that 640000=8*10*10 * 8*10*10=8002. Add this to the fact that (n+1)2,=n2+2n+1, e.g. that 641601=640000+1600+1=8012, and that (n*10)2=n2+200n+100, e.g. that 800100=640000+160000+100=8102, and so on. With a bit of practices, you can "guess" at least a few of the most significant digits of the square root of of just about any number before anyone can enter it into their calculator (at least if you can see if there are an odd or even number of digits )!

I thoroughly enjoy logic puzzles, which is a great way to improve your logic skills. You can find sudokus everywhere, and while it is interesting to dig into the deeper connections required to solve the hard ones, I often find it more fun to test a new system and try to figure out how it works! Sites like Conceptis, Nikoli, and Puzzle Team has a lot of options to try out, digitally or on paper. Some of these variants even result in pretty (*ahem*) pictures, so you get some sort of reward for it too! =)

I also enjoy Alex Bellos' math puzzles in the Guardian, but these can be a bit hard for a seven year old (I don't always solve them, though I usually blame a lack of time ;P ), and some of them delve a bit too deep into various fields. But I think that trying to figure out some of these together can be quite a fun experience, especially if you are willing to let your kid take take lead and simply provide him with the tools he may need to figure it out (and don't be afraid to check the comments or even the solution if you get stuck)...

My most heartfelt recommendation is programming, which (given my background in computer science) is something that I consider to be simply applied mathematics. It improves your logic skills and encourages you to think algorithmically, and may lead you deeper into one swamp or another depending on what you want to do with it (e.g. you'll learn a bit about linear algebra if you want to try your hands at 3D graphics).

- There are quite a lot of pure games that has programming as a main (or at least major) mechanic. Unfortunately, I don't have any good sources on good games for seven year olds, but it can start from purely graphical representations like Human Resource Machines or Infinifactory to minor coding elements like Automachef up to basically advanced coding like TIS-100.
- On a related note, Minecraft. You can do fantastic things with redstone! And if you want to try some real coding, you can write mods in Java .
- There are also programming languages specifically aimed at kids with nice graphical representation, like Scratch or Blockly. GameMaker allows you to make simple games, with an option to enter code for more advanced features. Or, if you have plenty of money to spare, you can always buy a Lego Mindstorms...

Finally, I just want to say few things about the educational values of board games. Any basic dice game offers some lessons about counting (and adding), but dice and cards are good for getting into probability as IHNA was into. But almost every game has quite a few more aspects that are relevant for teaching, from the counting you base your moves on in Ingenious, to affecting probability with deck building in Dominion, to mentally running advances search heuristics in Ricochet Robots, and to pure programming in Robo Rally (or just trying to figure out what will give you more in the slightly chaotic Ganz Schön Clever)...