How do you go about getting a relavent internship? / personal development advice.
I just listened to the most recent SO podcast, and one thing mentioned, that I'd already realised, was the importance of internships.

My question is: how do you find/get hired on a decent internship?  I'm not an A* student so this already makes it difficult and I've applied and been rejected from some of the big obvious places: banks/IBM/etc.  (to be fair I probably wouldn't really even want a career in a bank but it seemed an obvious place to start).

Quick background; I'm in the second year of a Comp Sci degree at a good university in the UK.  The first year went ok but I didn't do brilliantly.  My A Levels (qualifications before university) are two great / one poor and I already spent a year, after school/before university, learning/doing web development for at a digital agency in London. 

I still think I need to do more to differentiate myself from everyone else who will get a 2.1 in CS.

I'm most interested in web application-type work but I don't know how to go about finding companies.  Most smaller companies don't even advertise internships so it's a bit of a long shot half of the time anyway.

Is there any value in doing a few weeks or a months work experience?  I don't think I could afford doing any longer than that.

I wouldn't want to go back to where I worked before because I think I've already learnt everything I can from there, and also, with the credit crunch I think I'd be lucky to find them with enough work to support me.

If I can't get an internship and have to spend my summer working in a bar, what else can I do in my free time to help me stand out?  Contribute to an open source project?  And if so how do I find one I'm passionate enough about and is interesting enough for me to want to contribute to.  Should I just work on a project of my own?

If I'm having to ask these questions does that already put me in a bad position?
How do you go about getting a relavent internship? / personal development advice.
===

I just listened to the most recent SO podcast, and one thing mentioned, that I'd already realised, was the importance of internships.

My question is: how do you find/get hired on a decent internship?  I'm not an A* student so this already makes it difficult and I've applied and been rejected from some of the big obvious places: banks/IBM/etc.  (to be fair I probably wouldn't really even want a career in a bank but it seemed an obvious place to start).

Quick background; I'm in the second year of a Comp Sci degree at a good university in the UK.  The first year went ok but I didn't do brilliantly.  My A Levels (qualifications before university) are two great / one poor and I already spent a year, after school/before university, learning/doing web development for at a digital agency in London. 

I still think I need to do more to differentiate myself from everyone else who will get a 2.1 in CS.

I'm most interested in web application-type work but I don't know how to go about finding companies.  Most smaller companies don't even advertise internships so it's a bit of a long shot half of the time anyway.

Is there any value in doing a few weeks or a months work experience?  I don't think I could afford doing any longer than that.

I wouldn't want to go back to where I worked before because I think I've already learnt everything I can from there, and also, with the credit crunch I think I'd be lucky to find them with enough work to support me.

If I can't get an internship and have to spend my summer working in a bar, what else can I do in my free time to help me stand out?  Contribute to an open source project?  And if so how do I find one I'm passionate enough about and is interesting enough for me to want to contribute to.  Should I just work on a project of my own?

If I'm having to ask these questions does that already put me in a bad position?