Is it better to know software tools, or know theory? A college diploma will teach you practical skills, while a University degree will provide the general theory. I believe it is not too much to ask for both. That is how Dr. Hausi Muller, my advisor at the University of Victoria teaches us, and in the real world this has work out pretty good for us so far.
There is an excellent book by Joseph Hellerstein "Feedback Control of Computing Systems", which I consider a bible, to using theory as applied for software systems. As software education progresses, I personally hope to see more of these concepts applied with software engineering degrees.