I have to be honest with you, I find your experience to be contrary to mine. I went to university to get a degree in Computer Science, but I dropped out because the course work was full of stuff that did not have anything to do with computer science. Furthermore, you will find that in many countries, a Computer Science degree is the same as a Software Engineering degree.
I have met many computer science majors who are incapable of writing software to save their lives, let alone design complex systems.
I also think that if you get hands on experience first, you learn to appreciate the science later on and therefore learn it with more gusto.