|
The Undergraduate ProgramThe Department offers both a Bachelor of Science and a Bachelor of Arts major in Computer Science and a combined B.S./M.S. program. It also offers joint majors with the Departments of Electrical Engineering, Mathematics, and Psychology. The requirements for each of these programs are designed to give a solid technical education yet allow students to take a broad range of courses in other disciplines and thereby also get a strong liberal education. Thus the total number of required courses is somewhat less than at other schools.
Each program is built around a common core of five computer science courses and a senior thesis, supplemented by a set of electives (and for the joint majors a set of core courses in the other discipline). The electives (see the course catalog for a complete list) give students great flexibility in tailoring the program to specialize in particular areas of computer science or to broaden their knowledge in a range of areas. The first core course CPSC 201 Introduction to Computer Science is a survey that illustrates the breadth and depth of the field. The others cover discrete mathematics; data structures; systems programming and computer architecture; and algorithm analysis and design. Together they include the material that every student of computer science should know. The senior thesis enables students to experience the challenges and rewards of original scientific research by completing a senior project under the guidance of a faculty member. These projects deal with problems in computer science that cross the boundaries between courses and can involve complex and imaginative use of the department's computers. In some cases the results of such projects have been published in scientific journals. The Bachelor of Science program is designed for students who plan to continue in computing after graduation; the Bachelor of Arts program provides a solid computer science background as preparation for work in other fields such as finance, law, management, or medicine. The joint major in Computer Science and Mathematics is intended for students who are interested in computational mathematics, the use of computers in mathematics, mathematical aspects of algorithm design and analysis, and theoretical foundations of computing. The joint major in Computer Science and Psychology allows students to integrate work in these two fields, with each providing tools and theories that can be applied to problems in the other. Examples of such interactions include artificial intelligence, biological perception, cognitive science, and neural modes of computation. The joint major in Electrical Engineering and Computer Science is designed for students interested in computer engineering and other areas at the interface between these two fields. It covers discrete and continuous mathematics; algorithm analysis and design; digital and analog circuits; signals and systems; systems programming; and computer engineering. It provides coherence in its core program, but allows flexibility to pursue technical electives. There is also a B.S./M.S. program for exceptionally able and well-prepared students who want to earn both Bachelor and Master of Science degrees after eight terms of enrollment.
|
|||||||||||||
![]() |
|