Yes, I share your concern: how to program well -though a teachable topic- is hardly taught. The situation is similar to that in mathematics, where the explicit curriculum is confined to mathematical results; how to do mathematics is something the student must absorb by osmosis, so to speak. One reason for preferring symbol-manipulating, calculating arguments is that their design is much better teachable than the design of verbal/pictorial arguments. Large-scale introduction of courses on such calculational methodology, however, would encounter unsurmoutable political problems.
Edsger Dijkstra… what society overwhelmingly asks for is snake oil. Of course, the snake oil has the most impressive names — otherwise you would be selling nothing — like “Structured Analysis and Design”, “Software Engineering”, “Maturity Models”, “Management Information Systems”, “Integrated Project Support Environments” “Object Orientation” and “Business Process Re-engineering”.
Edsger DijkstraIndustry suffers from the managerial dogma that for the sake of stability and continuity, the company should be independent of the competence of individual employees.
Edsger DijkstraBeware of "the real world". A speaker's apeal to it is always an invitation not to challenge his tacit assumptions.
Edsger DijkstraIf debugging is the process of removing software bugs, then programming must be the process of putting them in.
Edsger Dijkstra