The Department of Computer Science supports three undergraduate major programs:
The department's curricular policies may be viewed here.
All Harvey Mudd students take an introductory computer science course as part of the HMC core curriculum. Students have a choice of several versions of the introductory course based on previous background and interests. All of the introductory courses emphasize computational problem-solving, design, and theory and provide students with both programming skills and a broad exposure to some of the major intellectual ideas in computer science.
The computer science curriculum includes foundational courses in data structures, discrete mathematics (taught by the Department of Mathematics), theory and logic, algorithms, programming language theory, software development, and systems, and a large variety of electives from which a student can choose including advanced topics in algorithms, advanced architecture, advanced operating systems, artificial intelligence, compiler design, computational complexity theory, computer graphics, computer networks, computer vision, databases, knowledge-based systems, neural networks, parallel and real-time computation, and robotics, as well as special topics courses and seminars.
The department runs a regular colloquium series intended to provide our students with a broad exposure to research in computer science.
The innovative Clinic Program provides students with a capstone experience. A small group of students (typically four seniors) works on a project from an external sponsor (e.g. a software company or government laboratory), taking an idea from "concept-to-product". Each project has a faculty advisor and a technical liaison from the sponsor.
The department encourages its students to consider studying abroad. With proper planning, our major programs easily accommodate a study abroad experience.