The best way to learn concepts is to first forget them and then reconstruct the facts based on previous knowledge. Spaced repetition actively hinders this process by trying to ensure that you don't forget. It is great for shallow knowledge like language, but if you are doing it for maths or programming you are just hurting yourself. That type of training is how you get people who can talk like a champ but can't even solve fizzbuzz.