Avoiding getting lost in the calculations So this might come off as a silly question, but how can one avoid getting lost in the calculations? 
I have found that if a problem requires 2 pages of calculations or more to solve, it's more likely than not that I'll make a mistake at some point during the process and will have to spend considerable amount of time trying to find out what went wrong. This negatively impacts my problem solving ability, because the time that could be spent on the actual gist of the problem is being wasted on searching for misplaced signs etc. instead. Has anyone faced this problem and are there any systematic approaches to resolving it? 
In programming teachers often stress out the importance of good coding practices. I wonder if there are analogous "good math practices".
 A: First of all, know that this is a very common problem (it's not just you!). At some point in our mathematical education, we start to be responsible for seriously multi-step solutions, and we just can't keep the whole thing in our head at once. That is a feature (not a bug) of advanced mathematics—the ability to make very complicated deductions using a collection of steps, each one of which is relatively straightforward (at least in hindsight).
For the problem you describe in the body of your post (basically, making "math typos"): avoiding, or quickly detecting and correcting, this type of error is a skill that can be improved, like all other skills (mathematical or otherwise), with deliberate attention and practice. Some small part of your mind can be given the "editorial" task of reality-checking every line of calculation that you do, both to see if there were typos, and also to see if the current equation (or whatever) still seems reasonable (for example, you know the eventual solution must be positive but some step is giving a negative answer).
Breaking a calculation up into smaller subgoals can help with this as well. If you have a complicated solution, and one part of that solution is using the quadratic formula (say), then you can mentally cordon off that specific part of the solution and check it for errors, independent of the rest of the calculation. Breaking a solution down into chunks also makes it easier to remember the overall plan of attack (which might be another problem you're alluding to, in the title of your post).
In terms of parallels with good coding practice, the first idea is like debugging or writing bug-free code to begin with; the second idea is more like algorithm or data-structure design. Both are important, and both get better with experience.
Unfortunately there's no magic formula for avoiding all errors (just like there's no magic formula for avoiding all errors when speaking a foreign language). Continue to pay attention to the types of errors you make and how you found and fixed them (or, what you could have told your past self that would have resulted in finding/fixing an error). Treat error detection as a specific skill that you want to practice, just as much as the new mathematical content.
