Applications for admission to the traditional M.S./Ph.D. program are accepted from students with undergraduate majors in many different fields, including computer science, mathematics, engineering, psychology, linguistics, economics, physics, philosophy and business. Minimally, the student should have had some programming experience (including courses in data structures and machine organization) and should have had a year of college-level mathematics at the level of calculus or above. Strong students can sometimes be admitted to graduate work in CS without having had programming experience or mathematics courses as described, but they will have to make up the deficiencies.
The department does not distinguish between traditional M.S. and Ph.D. students at admission time. Several of our Ph.D. graduates started out as M.S. students and later on decided to switch to the Ph.D.track. Students on the Ph.D. track are encouraged to obtain an M.S. along the way.