Mathematical Computer Science is designed to equip graduates with the skills needed to meet the changing and challenging field of computers.

Students with interest and backgrounds in both mathematics and computer science should find this program particularly attractive, and are encouraged to pursue a master’s degree in this track. Students can also enroll in the program in their junior or senior undergraduate years to pursue a dual degree. Undergraduate juniors and seniors currently pursuing the B.S. track in computer science are especially encouraged to apply.

The track is designed to give a very broad yet rigorous training in diverse areas where mathematics provides powerful applications in computer science, such as combinatorial optimization, encryption, signal processing, and parallel supercomputing. Students obtaining master’s degree in this track will be provided with a complete set of employment skills in the most attractive areas of modern computer science.

The program is self-contained and accommodates both full-time and part-time students, with all courses scheduled in the evenings. The graduate courses in mathematical computer science will be taught by both mathematics (M) and computer science (CS) faculty.

The minimum requirement to complete the track is to take the 8 required courses and 2 elective courses. Applicants must be proficient in the computer language C, or C++.

Required Courses

56:645:533-534 Introduction to the Theory of Computation I,II (3,3)
56:645:535-536 Algebra for Computer Scientists I,II (3,3)
56:645:537 Computer Algorithms (3)
56:645:538 Combinatorial Optimization (3)
56:645:571-572 Computational Mathematics I,II (3,3)

Elective Courses

56:645:540 Computational Number Theory and Cryptography (3)
56:645:541 Introduction to Computational Geometry (3)
56:645:542 Parallel Supercomputing (3)
56:645:556 Visualizing Mathematics by Computer (3)
56:645:557 Signal Processing (3)
56:645:558 Theory and Computation in Probability and Queuing Theory (3)
56:645:560 Industrial Mathematics (3)
56:645:561 Optimization Theory (3)
56:645:562 Mathematical Modeling (3)
56:645:563 Statistical Reasoning (3)