Students are expected to have completed a program of study equivalent to that required by the B.S. in computer science. Applicants from other disciplines are required to have coursework (or equivalent experience) in intermediate programming (C++ and Java), data structures, automata theory, computer systems fundamentals, and algorithms.