I don't see why CS can't “take a problem and produce a suitable solution.” Understanding the essential underlying theory (complexity theory, etc.) is essential to solve these problems.
Furthermore, not all Computer Science degrees are purely theoretical course where all you do is esoteric logics and category theory. If anything, I think there's too little theory in the UK's CS courses these days.