The Harvey Mudd College Department of Computer Science graduated its first class in 1992. Since then, the department has grown to its current size of thirteen tenure-track faculty, several visiting faculty, and four staff members.

In addition to the Computer Science Major, the department supports the Joint Major in Computer Science and Mathematics and the Mathematical and Computational Biology Major. There are currently approximately 80 students total per graduating class in these three majors.

The department works closely with our sister departments at Pomona and Claremont McKenna Colleges and our courses draw students from all five Claremont Colleges and the Claremont Graduate University.

The department seeks to provide students with a strong foundational background blending experimentation, theory, and design. Our graduates are equally well-prepared for work in industry and graduate school. The capstone Clinic Program provides students with a year-long software design project and our active Research Program involves approximately 50 students in research, funded by grants and gifts from the National Science Foundation, Howard Hughes Medical Institute, and the Rose-Hills and Baker Foundations.

Department News

  • Professor Melissa O'Neill recently co-authored a short paper "Xorshift1024*, xorshift1024+, xorshift128+ and xoroshiro128+ fail statistical tests for linearity", with Professor Daniel Lemire of the University of Quebec. Their paper will appear in the April 2019 issue of the Journal of Applied and Computational Mathematics (which is already accessible on-line). Their work highlights flaws in a relatively new but quite widely used family of random number generators that had previously been described by other researchers as free of statistical flaws. Their work illustrates the need to test 64-bit generators carefully, especially when using a test suite originally designed to test 32-bit generators.
  • Professor Chris Stone co-authored the paper "Design and Implementation of the Andromeda Proof Assistant" with colleagues in Slovenia and France; it will appear in the TYPES 2016 post-proceedings. The core purpose of the Andromeda system is to verify whether a given mathematical proof is correct and complete. The novel aspect of Andromeda is that easy steps of the proof can be skipped; as a consequence, "given a proof, is it valid?" becomes undecidable. How can we build a useful system to give yes/no answers when no perfect algorithm exists? Andromeda allows users to guide an imperfect checker to the correct answer, using methods that range from providing small hints ("while you're checking this case of the proof, keep in mind that multiplication is commutative") to completely replacing the proof-checking algorithm with one that works better for a specific part of the proof.
  • Students and faculty across the Claremont Colleges have two papers accepted to The 17th Asia Pacific Bioinformatics Conference.  Melissa Grueter (Pomona) '18, Kalani Duran '21, Rayma Ramalingam '21, and Professor Ran Libeskind-Hadas have an article titled "Reconciliation Reconsidered: In Search of a Most Representative Reconciliation in the Duplication-Transfer-Loss Model."  Haoxing Du '19, Yi Sheng Ong '19, Marina Knittel '18, Ross Mawhorter '19, Ivy Liu '20, Gianluca Gross (UPenn) '19, Reiko Tojo '18, Professor Ran Libeskind-Hadas, and Professor Yi-Chieh (Jessica) Wu have an article titled "Multiple Optimal Reconciliations under the Duplication-Loss-Coalescence Model."  Both papers study how to map gene histories within species histories and how to handle the problem of multiple equally optima mappings.
  • Professor Colleen Lewis received five years of funding from the National Science Foundation as a co-PI for a project with the Computing Research Association (CRA): "Developing Evidence-based Best Practices for Broadening Participation in Computing Education." This project will be combining the CRA's student-level survey data with departmental data in order to examine factors that impact students' persistence in computing.  In doing so, we will be providing the computing community with empirically grounded best practices to support the community's efforts for broadening participation in computing.