PrerequisiteThe department welcomes promising students from all disciplines. However, entering students (with a bachelor’s degree in computer science, computer engineering or mathematics are preferred) must have a substantial background in both mathematics and computer science. We consider knowledge in the areas of circuit design, algorithms and data structures, formal languages and automata theory, computer architecture, operating systems, programming languages, and compilers to be essential preparation for our graduate program. Therefore, applicants are expected to demonstrate competence in the content of the following courses or equivalent courses taken in another institution.
CS 141: Intermediate Data Structures and Algorithms
CS 150: The Theory of Automata and Formal Languages
CS 152: Compiler Design
CS 153: Design of Operating Systems
CS 161: Design and Architecture of Computer Systems