Computer Science Curriculum
The course offerings in computer science prepare students for professional employment or continued study in graduate school. Students normally begin with the introductory course in computer science and programming, in which the basic ideas in the field are presented. For computer science majors, this is followed by three required intermediate courses in data structures, computer organization and paradigms of computation. These cover the basic issues of hardware and software. Students learn a variety of high-level programming languages (including C/C++ and Scheme), assembly language, the UNIX operating system, object-oriented programming and gain familiarity with the university and departmental computer hardware.
Majors are also required to take calculus (two courses) and discrete mathematics to acquire the necessary mathematics background for advanced study of computer science. Many areas of theoretical and applied computer science are covered in the advanced courses. Majors must take courses in the theory of computation and analysis of algorithms.
The department offers applied courses in database theory, operating systems and artificial intelligence. For students interested in computer languages, course offerings include compiler design and the theory of programming languages. Several advanced mathematics courses which complement the computer science curriculum are available. These include numerical analysis, mathematical logic, probability and abstract algebra.
Finally, students may also take advantage of special learning opportunities, including advanced special topics courses, directed reading, independent study and the departmental honors program.
Majors and Minors
Mathematics Major:
111, 210, 250, 270, 340 or 370, and a minimum of four additional Mathematics courses numbered 250 or above. Also, CS 110 or equivalent knowledge of programming.
It is possible to do a concentration in statistics within the Mathematics major.
Mathematics Minor:
110, 111, 210, 250, 270, and any two courses numbered above 250. The student who plans to minor in mathematics is advised to plan a coherent program with a departmental faculty member.
Computer Science Major:
MATH 110, 111, 250; CS 110, 250, 255, 270, 360, 380; and any three CS courses numbered 250 or above. (CS 110, 250, and MATH 250 must be completed by the end of the sophomore year).
Computer Science Minor:
MATH 110, 111, 250; CS 110, 250, 255 and any course numbered 250 or above.
Combined Computer Science/Mathematics Major:
Students double majoring in mathematics and computer science are limited to 17 courses within the Department among those counted toward the 34 units required for graduation.
Department majors or minors may not take mathematics or computer science courses credit/no entry except with permission of the Department.