I'm a CS student currently in the process of looking for summer internships, specifically because I want to develop apps for Android and/or iOS. When looking over requirements for various opportunities (any software development opportunities, not just those I singled out) it'll list "Experience with x, y, z....". My question: what exactly counts as experience with a particular language or technology? I feel fortunate in that I've had the opportunity to use several languages in my university studies, everything from VB down to MIPS assembly. Yet personally, with few exceptions, I wouldn't consider myself knowledgeable enough in most of the languages I've used to get dropped into a position and told to code x by y date. I may know the basics of the language, the syntax and what sets it apart but not enough to develop functional software without some guidance on where to start, what libraries to use etc.
To use the specific example I'm faced with now: An internship I'm interested lists experience with C and/or C++ as a requirement. I've done some work with C, I know what you can and can't do, I own and have read K&R, understand how pointers work, etc. But I haven't actually written a substantial amount of code in C, I've written a few short programs and modified a few others but I've never written anything big enough where I actually had to manage memory allocation or come up with some abstractions to produce some desired functionality. So while I feel like I have the conceptual understanding, I haven't applied it. Does conceptual understanding count as experience? I'm always eager to learn and broaden my knowledge but I also don't want to over-promise (which seems like the opposite of what you're told to do on job applications).