Some As and all Bs or better in business, engineering, and science courses at most recent school; higher grades expected from less selective institutions. The minimum prerequisite background for admission to the MS program consists of: Languages: Deep working knowledge of C and familiarity with object-oriented concepts and working with some object-oriented languages such as Java or C++. Data structures and mathematics: Understanding and working knowledge of pointers, lists, stacks, queues, trees, arrays, and recursion; induction, order of magnitude growth, probability and elementary combinatorics, and set notation. Working familiarity with Windows and Unix. Knowledge of assembly language (e.g. Intel or Motorola), sufficient to understand self-modifying code. Work experience: At least one-year full-time experience in a demanding position.