This pretty much mirrors my experience in college. From 98-00 I took Computer Science (and did well) but eventually switched to MIS. Why? Because I spent two years making terminal-based C++ apps and became so frustrated at not being able to make real-world programs that I just gave up. It was so frustrating to be watching the first web bubble develop and yet be in class learning and writing something that seemed so completely different.
I don't know if it was my fault or their fault for not being able to bridge the gap between theory/learning and practical skills. Probably some of both. If my courses had somehow seemed more relevant or at least had a few web-based projects where I could see the real-world application of what I was learning, my career path would probably be very different today.
Same here. I started out as a CS major but got my degree in CIS b/c the courses and material were much more real world, and fun. I was doing practical programming in my first course, learning about web apps, creating databases, and I even learned about hardware and how to build my first computer (not in a low level engineering sense, but piecing them together like modern day enthusiasts do). For someone coming from a music background with little to no heavy experience in computers prior that time in my life, CIS resonated with me much more at the time.
However, I always found myself missing the math aspects of CS, and to this day I regret not having the lower level foundation that CS offers over CIS/MIS. In hindsight, I would've stuck w/CS.
I don't know if it was my fault or their fault for not being able to bridge the gap between theory/learning and practical skills. Probably some of both. If my courses had somehow seemed more relevant or at least had a few web-based projects where I could see the real-world application of what I was learning, my career path would probably be very different today.