A 3.2 average in undergraduate computer science courses involving programming and software engineering, architecture and systems, algorithms and theory, and written communication skills (as demonstrated by a "B" or better in a communication course).