Don't expect them to be completely useless (they shouldn't be).
Expect them to be able to code well (asking about how to use the array-based collection-of-choice in your language-of-choice (i.e. List in c#, Vector/ArrayList in Java, etc.) is a good start), but expect them to have little experience of things like Version Control, business requirement documentation and QA.
I joined my first company as a summer intern, being given a task that sounded reasonably complex (implementing a csv parsing module for a certain data import). They expected this task to take me right up to the end of my 6-month internship, and I happily finished it in a week.
I understand that most people think that you don't learn anything useful at University, however, you will probably find that the people applying for internships are likely to be guys who excelled at programming and have real drive to get stuff done.
So, ask them about coding. Ask them about what they've coded before that they were proud of. Ask them what they want to get out of the internship (skills-wise).
Hopefully you'll end up with a quality, if inexperienced, worker that you can use for a constructive aim that's beneficial for both you and the intern!