Ha, you said it man. Looking back I began to realize that this was the biggest benefit of my degree.
Technically, a homeless person could dig in at a terminal in the library and teach themselves anything they needed to learn about computers. However, first they'd need to know what to look for and by God that was difficult before I spent 4 years talking to people who worked with computers all day. I think my time on Reddit actually enriched me there a bit, too.
In today's day and age, it's true that Google will likely lead you in the right direction. However there really is no more efficient way to get a mental lay of the programming land than a quality CS program. Dynamic programming algorithms for example, are something that very few will ever stumble into on their own. You might get lucky when Googling, but it's not the same as having a mental model of the breadth of CS fundamentals.
Sure, but I still think it's more efficient to learn while you work on something real. When you do this there is less waste on certain topics you never encounter, and because you need what you're learning it's better absorbed and understood. It's just this method is less practical for employers since they just want someone already equipped with what they need.
Technically, a homeless person could dig in at a terminal in the library and teach themselves anything they needed to learn about computers. However, first they'd need to know what to look for and by God that was difficult before I spent 4 years talking to people who worked with computers all day. I think my time on Reddit actually enriched me there a bit, too.