First and foremost, see if the student has got a desire to learn. According to me puzzles/ English based exams are just pointless. I could probably accept testing a person's English skills, but that should not be based on a "test". It should be based on how they communicate their ideas. Asking them to solve puzzles is just a hogwash.
To see their desire to learn, you could question them in various grounds. Assuming that their resume is true, look for a person who has a good skill set. Interview that student along with 2/3 people who are well-versed in those skill sets (for example C++/ C#/ Java). Normally in India, I have seen students just add C / C++ to their resume irrespective of how confident they are. To test whether they are pretty confident in C/C++, test them in its basics like pointers/related data structures. Probably you could also ask them solve simple problems, or debug a faulty piece of code etc.
Personally, I don't think that the student should be from computer science (neither am I). If they are from CS test them in their basics - like automata, algorithms,discrete structures, computer networks etc. etc. If they are not from CS, you could still test them in data structures, as this course is pretty much common across departments. Even if they are not from CS, based on their resume, you could ask questions related to their area of interest. And, don't just go by their grades. They are not indicators to their programming knowledge.