views:

233

answers:

2

I have been interviewing quite a few recent comp sci grads for hire at my development firm, and I'm continually puzzled regarding exactly what they should know before when graduating, since different schools emphasize different topics. What are some of the "must-haves" for new graduating comp sci students? I'll start with a firm understanding of recursion, including its proper uses and dangers. I use that example not because it's used all that much, but b/c every comp sci program emphasizes it, and if they haven't "got it" by graduation they probably won't last very long doing this for a living.

Per recommendation, making this a community wiki. Addressing some of the criticism around this question, I've seen a lot of discussion around "what should I know before graduating?" This question revolves around "how do I know if a recent grad will make a great engineer?"

+4  A: 

With college hires I focus on basic problem solving skills (e.g. algorithmic or data structures questions that can be answered in any language they feel comfortable in), logic (e.g. can they figure out why something happened, or failing that build a simple truth table to eliminate everything but a single case), general knowledge of comp sci (what's a join? what's a matrix? what's a pixel?), and questions about projects they've done (both in-class, but preferably on their own because they were excited about something).

The must-haves for me is they must be smart, they must be interested in and passionate about programming and the technology area we're working in, they must be able to code simple functions in a rational way, and they must show capacity for learning, taking criticism, and that they got something out of their four years of education.

jeffamaphone
+1 "How would you go about solving this problem?" Problem solving is a fuzzy skill, but one that is sorely lacking in the industry. Much like at SO, people are more willing to help if you can lay out a trail of the stuff you've already tried.
GalacticCowboy