I wish more freelancers took a class in business accounting so they'd have an idea of how to do it and what a good (or bad) contract looks like... or understand the value of their time. There are far too many that decide to become "freelancers" and yet have no idea on how to do the basic business items that come with being a freelancer.
I wish more programmers took a class that had a public speaking component. Reading powerpoint slides as a team presentation is boring. The work environment isn't just "I write code" but also a transferring of knowledge from one person to the rest of the team.
I wish more programmers took some classes in history, or physical sciences - things outside the major. I've had more than a water cooler conversations where a person doesn't understand how the length of the day impacts the temperature, or is surprised at the similarity of events today and those of thirty some-odd years ago. This concerns me, not for the skills of work, but rather the understanding of the world outside of the office.
To these things, English composition, human communication, contemporary economy, arts and culture, political science and history... oh, those are are excellent class titles to help fill out those I wish items.
Going to a university in the UK I was free to study the subject I was interested in and wanted to understand. I was able to fully immerse.
My schooling prepared me for the rest.
Looking back now, I actually regret only doing STEM papers. I got stuck in a bubble of dealing with the same people (or the same types of people) in all my classes, and really got no breadth to my degree.
I'm not saying that people should be forced to take arts papers for a science degree, but in retrospect I think that I should've taken some.
Universities in the US have entrance requirements for classes completed in high school. They do the same thing English universities do when admiring American students--they require specific general education classes were completed in high school.
Because of this even though the US doesn't have national standards, virtually ever university bound student will have already completed the same general education classes that students from countries with 3 year universities would have. Universities her don't force students to take English, math, and history classes because some substantial population of college bound high school students haven't taken them.
If it is just the idea of having to take a load of liberal arts classes that perturbs your son and not the low level courses like chip design, logic, algorithms and data structures, calc and stats, one alternative to consider is to study internationally. English universities, for example, offer a bachelors in computer science in three years. Unlike a "8- to 16-week full-day immersive courses that focus solely on technology" they have a curriculum almost exactly the same a US computer science course minus the 3 English classes, 3 history and political sciences classes, 2 economic courses and an art course that a college like Kennesaw has a graduation requirement: Kennesaw State Curriculum (http://ccse.kennesaw.edu/cs/docs/BSCS_2016-2017.docx). To compare look at the University of Bristol's Curriculum:[https://www.bris.ac.uk/unit-programme-catalogue/RouteStructu...]
I know this is not an option for everybody - many people need to stay close to home for personal or financial reasons, but is definitely something to look into. With regards to finances, English university for international students even with 1 year less of study still cost a lot. However, I am pretty sure that the course structure is similar at most European universities some of witch offer really low fees to international students.