I had this reaction to a number of graduate computing courses, the feeling that given five minutes on the problem (parallelism comes to mind) anyone would have thought of that approach!
In retrospect, it's clear how much that mentality undervalues what was being taught in the course. Yeah, the initial approach might be obvious, but so are plenty more initial approaches. What made it through to the course and was put down in the textbook are the few initial approaches that actually worked.
/Textbooks should have a long list of attempted approaches that seemed great and weren't, but no one publishes failures.