Regarding internships - they can be very difficult to get. When I was in school, I was at a top school, so everyone was a top student. I was probably average for my school, which meant I could never get an internship because there were always 20 people better than me for any position and everyone applied. Instead, I spent summers working on the University's network which gave me a lot of real-world experience. Unfortunately, most employers didn't find it worthwhile (despite the fact that our network was significantly larger and more heterogenous than theirs), so while it didn't look great on a resume, it actually helped enormously in actually doing the work I eventually got. After my first job, it was easier to find places to hire me because I was "proven." But I really would have liked to have gotten an internship. Nobody was interested in me, though. I hope the OP has better luck (or skill) than me!