The MCS curiculum fosters the development of logical and analytical thinking and is designed to provide a basic foundation for students who seek careers in the forefront of computing. Emphasis is given to the mathematical theory of computer science and computational methods. The program concentrates on both the practical and theoretical aspects of computer science such as numerical computing, super computing, programming languages, algorithms, complexity, coding theory, combinatorics and graph theory.