Or you could do both. I worked 15-20 hours a week while I was in school with a local software company learning all those things and doing the academic work. Most of my classes were in the morning and I'd work 3-4 hours in the afternoon/early-evening when all my roommates where playing video games. This lead to great summer jobs and I left college with a BSc and real-world experience. This lead to a higher offer out of school and looks great at the same time.