That story seems questionable because:
1) Most IBM mainframe COBOL programmers are already somewhat familiar with internal architecture even if they're not full-fledged assembler programmers. They already know about registers, and certain other techniques (such as various arithmetics). 2) Back in the 1960s and early 1970s assembler programmers knew little tricks to minimize storage needs and use the fastest instruction(s) to perform a task. Certain instructions ran faster than others and certain data movements were faster than other; programmers back then knew about them.But computers are so fast these days that only in rare highly specialized situations are such assembler techniques necessary today. It would seem strange to teach those things today. It would be like going into heavy detail about No. 5 crossbar to a new group of ESS programmers, there's no point to it.
3) Many people who transitioned between mainframes and newer technologies say it's best to "forget everything you knew about mainframes and start afresh". According, it would seem strange to go backward in teaching. 4) One of the points of a high level language is to be independent of what goes on internally. Non-IBM mainframes were very different. In the new world the underlying platform won't necessarily be an WinTel x86. IBM mainframe is not the same as x86. (If they really want to teach hardware, at least teach the x86 internals.) 5) COBOL developers were _application_ oriented. From your narrative, it sounds like they were being taught systems-software development (eg compilers, browsers, operating systems), which is very different. It'd be like taking a pathologist and making him into a psychiatrist. Both are MDs, but different.This is correct.
I will note one thing. Back in the early 1970s the Bell System recognized the growth and at that time (in publishing writings) began to plan for switches to handle area codes and exchanges of today's configuration.