I liked the write up, it's very clean and understandable. Though I feel the point about practice should be more emphasized. Solving complex cs/math programming problems makes you better as cs/math problems. No matter what techniques you know, without intuition (which comes from practice) you cannot really use those techniques effectively.