Beyond the basic set of computer science courses, students can typically choose additional courses from a variety of different fields, such as: 1  theory of computation. 2  operating systems. 3  numerical computation. 4  compilers, compiler design. 5  real-time computing.