Agreed. We had a summer intern who is a CS major. There were a multitude of things that he had little to no experience in that are fundamental pieces of software engineering (things like version control, deployment environments, bug tracking, testing, DRY, etc). He was a smart guy so he picked things up, but would be great to have an academic grounding for this. I saw something similar at the grad level: http://ecee.colorado.edu/~swengctf/ but haven't heard of any undergrad programs.
Programs similar to Hack Reactor and Flat Iron are trying to solve this problem as we speak.
http://hackreactor.com/
http://flatironschool.com/