The applicant must also have mathematical preparation equivalent to that obtained from courses in Calculus through Differential Equations; knowledge of computer science and computer engineering, including logic design, computer architecture, data structure, operating systems, and analysis of algorithms. The majority of students accepted to the major possess an undergraduate degree in Computer Science, Computer Engineering, Electrical Engineering, or Mathematics; however, students who hold an undergraduate degree in a related field are encouraged to apply.