>
You shouldn't force memorization. It should come naturally as you use certain things many times. If you use 7*6 often, you will remember it. If not, you will forget it. That should be totally fine. Why should it matter if you memorized 7*6 or you had to go the long way and say 7*5 is 35 so add 7 to 35 and you'll get 7*6?As it turns out, though intuitively appealing, this idea is wrong.
You can't learn to touch-type by programming. You have to focus some effort on specifically the touch-typing aspect of things. Half an hour a day of directed practice at touch-typing for a month will improve your typing speed more than ten hours a day of programming for a year. Similarly with multiplication tables: if you devote the necessary effort to memorizing the 28 or so necessary facts and speeding up recall on them, your speed at long multiplication increases dramatically. In my childhood I refused. When confronted with a multiplication problem, I would get medieval on it: mediation and duplation! This was a bad strategy.
In fact, I've often wondered if committing more lookup tables to memory might help more. Consider the Briggsian logarithms:
log₁₀ 1.1 = .0414
log₁₀ 1.2 = .0792
log₁₀ 1.3 = .1139
log₁₀ 1.4 = .1461
log₁₀ 1.5 = .1761
log₁₀ 1.6 = .2041
log₁₀ 1.7 = .2304
log₁₀ 1.8 = .2553
log₁₀ 1.9 = .2788
log₁₀ 2.0 = .3010
log₁₀ 3.0 = .4771
log₁₀ 4.0 = .6021
log₁₀ 5.0 = .6990
log₁₀ 6.0 = .7782
log₁₀ 7.0 = .8451
log₁₀ 8.0 = .9031
log₁₀ 9.0 = .9542
Consider the problem of computing the horizontal scan frequency of a minimal viable text terminal CRT. It refreshes at 60 Hz, contains 24 lines of text of 8 scanlines each, and has a 10% VBI, so the problem is multiplying 60 · 24 · 8 · 1.09. In Magic Logarithm Land, we just have to add the logarithms. We can mentally interpolate log₁₀ 24 as 1.30 + .4 · (.48 - .30) = 1.38 and log₁₀ 1.09 = .9 · .04 = .04, so we have 1.78 + 1.38 + .90 + .04 = 4.10, which is between 4.08 and 4.11, so the answer is about 12800 Hz. The exact answer with the multiplicands as given is 12556.8, so that's less than 2% error, as it usually is when rounding to two places. Even that is excessive precision given the fuzziness implicit in the VBI figure.
I can't actually do this mentally, partly because I haven't memorized even the list of 17 logarithms listed above, so instead what I end up doing is something like, well, 24 · 8 is about 25 · 8, which is 200, and ×60 gives 600 + 600 = 12000, and then we add 10% for 13200, and then we'll be about 5% high because of rounding up the 24 and the 1.09, which also gives 12700 or 12800. But I can't help thinking that mentally adding 78 + 38 + 90 + 4 would be easier!
Memorizing a quarter-square table for the integers up to 100 would also help with this kind of thing.
Agreed, though, that a typing test for programmers or a times-table test for mathematicians would be counterproductive.