> I took Chinese history, Asian american film, music history, art history and so on. All of these courses were pretty much usless to me from an economic stand point.

I majored in Math and CS and took a smattering of other courses (one course away from a minor in each of Religion, Philosophy, and Economics).

The CS courses were by far the most useless. Perhaps 50% of the material I had taught myself before started undergraduate: everything up to and including data-structures as well as the pragmatic aspects of databases, OOP, and Networking courses. Another 40% I could've taught myself without much guidance (non-theoretical PL, non-optimizing compilers, and a non-proof-based algorithms course). The other 10% was project-based or independent study where the forcing function to work with people who were both above and below my skill level was the most valuable aspect of the coursework. (pre-college internships and freelancing gave me lots of experience working with others, but almost all of them were far above my skill level or else were completely non-technical).

The Mathematics coursework was by far the most useful. The lower-level content courses (Calculus and Linear Algebra) are essential for accessing most of the interesting parts of the software industry (self-driving, robotics, research software engineer, etc.). Also, the proof-based coursework is full of useful thought patterns. Most of the difficult/economically important problems I've solved in my life were all relatively trivial extensions of proof techniques or theorems from my undergraduate Analysis, Algebra, and Logic coursework.

The humanities courses sit right in-between CS and Mathematics in terms of usefulness. The value of regular practice writing and communicating, with a professional feedback mechanism, was extremely valuable. I don't often use the content knowledge at work, but the writing skills are extremely useful. Learning to write well without regular professional feedback is difficult.

The content knowledge from my humanities courses was not immediately useful in an economic sense. However, that well-roundedness did get me an amazing spouse and extremely interesting friend group, though. I'm not sure how to put a dollar value on either of those things.

So economically, Math > humanities > CS. CS is more economically valuable but the CS education isn't more valuable because the core content knowledge that's necessary to get a well-paying job doesn't require formal course-work. Basic programming, SQL, and web frameworks are definitely accessible to passionate middle schoolers.

In career dimensions beyond net worth (i.e., interesting work), Math > CS > humanities.

In non-career dimensions, humanities >= Math > CS. My marriage and friends are mostly a product of the humanities aspect of my education and are each easily worth the $20k I paid for undergraduate.

YMMV.

> I think we need to create two tiers of higher-education

FWIW there are at least 4 tiers:

1. Vocational: Community College and most for-profit universities/educational programs (including bootcamps)

2. Advanced Vocational BA/BS: "industry-tracked" degrees at traditional universities. E.g., many universities have both a CS degree and an SE degree. The physics/engineering split is comparable. Theoretical technical courses are replaced with pragmatic technical courses and the more pure humanities courses are replaced with business/econ/industry-specific communications coursework.

3. Traditional BA/BS

4. Traditional BA/BS at elite academic institutions (e.g., top 10 CS programs tend to have bachelors degrees that are different in kind from small branch campuses of most state university systems)