General Information


The primary goals of the Computer Science Clinic at Harvey Mudd College (HMC) are

  • to give advanced students the opportunity to solve real-world problems in computer science, and
  • to provide value to the sponsoring corporation or research organization in return for funding the project.

Working as a team, three to five advanced students, overseen by a qualified faculty advisor, attack a problem or set of related problems posed by the client. The work is done over the span of one academic year, with formal presentations and reporting procedures for disseminating the results. A company-designated liaison acts on behalf of the client to provide regular feedback and to monitor the work effort. The liaison also often functions as a source of domain expertise on the specific problem addressed.

The success rate of our program has been very high and while, as with many difficult and open-ended problems, a complete solution cannot always be guaranteed, the Clinic team invariably brings fresh insight.

The HMC Computer Science Clinic is directed by Professor Geoff Kuenning.

Several other academic departments at Harvey Mudd also offer Clinic programs. Links to all Harvey Mudd College Departmental Clinics are listed on this page.

Procedure for CS Clinic Projects

The duration of Clinic projects is one academic year, from September through May.

The process begins over the summer during a period in which the sponsor and the Clinic director finalize the organization's commitment to sponsoring the project, and the actual details of the problem to be attacked. This generally begins with the sponsor providing a short problem statement. This is followed by one or two cycles of revision, with input from the Clinic director on the suitability of the project based on issues of student background and time allocation. It is generally during this phase that the sponsor designates a person from within the organization to operate as the liaison for the project. The Clinic director makes an initial designation of faculty supervisor for the project at the same time.

At the beginning of the fall term, the projects for that year are presented to the students taking Clinic and they express their preferences for which project they wish to work on. The faculty then meet to finalize the assignment of supervisors, form the actual teams (based on the students' expressed preferences), and designate project managers for each team.

Clinic Orientation, to which all the liaisons are invited, is held in the first few weeks of the term. It provides an opportunity for the liaison to meet with the team and provide additional information and background on the project. After this initial meeting, the Clinic team constructs a proposal which specifies, as precisely as possible, the work to be done and the schedule on which it is to be accomplished. Once the details have been agreed upon by the sponsor and the team, problem-solving work begins. The faculty advisor assists in getting the project to a quick start, with an early aim toward increasing the student leader's coordinating role.

We have found that it is helpful to have the team visit the sponsor's site for a day early in the term. The students inevitably return from the visit with a better sense of the goals and purpose of the project. It is clear that they return more solidly invested in those goals. After that, ideally, the liaison meets with the team on a weekly basis, although variations of this model are possible. In the case of distant sponsors, it is typical to have a weekly conference call or video teleconference instead.

The team presents its ideas and progress to the Clinic community three times during the year, and presents its final results at the campus-wide Projects Day in the spring. Formal mid-year and final progress reports are required.

Clinic Fee and Ownership of Intellectual Property

Funding of projects is based on a fixed fee set by the college. The same fee is used for projects regardless of discipline (Computer Science, Engineering, Mathematics, or Physics).

The client has exclusive ownership of the results and can control dissemination of the final report for the first year following the project. Project-related work may be submitted for publication within a year after delivery of the final report only with the client's approval. Following that year, the client is given an opportunity to review and comment on any proposed publication. The year delay allows the client to initiate patent defense of any innovation arising in the work. The Clinic team and the college agree to assign patent rights to the client. Under extraordinary circumstances, confidentiality periods longer than a year may be negotiated.

Although every effort is made to protect any proprietary information the sponsor shares with the Clinic team, strict confidentiality of all discussions is not feasible within the college environment where the learning process involves free and open interchange of ideas and criticisms. Accordingly, it is the Clinic policy to decline any classified government projects.

Possible Project Areas

Harvey Mudd College Computer Science majors are equipped for a wide domain of problems in areas related to computers, information, and automation. The following are some areas that will be of interest to clients and to which HMC students are able to contribute.

Software Development
  • Object-oriented software architecture
  • Compilers and operating systems components
  • Specification tools, such as for real-time systems
  • Databases and expert systems
Computer Networking
  • Client-server systems
  • Performance monitoring
  • Distributed information bases
  • Protocol analysis
Parallel Computation
  • Parallel algorithms and applications
  • Performance assessment
  • Software tool development
Interface Design
  • Software for hand-helds
  • Interactive systems, multi-media
Exploratory Techniques
  • Fuzzy logic
  • Artificial life
  • Neural networks
  • Genetic programming and algorithms

Student Backgrounds

All HMC Computer Science students become familiar with Python and C/C++ in their early courses. They also use Java, Fortran, Lisp, Prolog, ML, and a variety of other languages in their careers here. In 1997, a team of Harvey Mudd students won first place in the ACM International Programming Competition. Subsequent teams have won the regional competitions in 1998 and 1999. Students work in a networked environment of Linux® servers as well as networked Windows®, Macintosh®, and Linux® desktop computers.

In the course of their studies, all students are exposed to a variety of operating systems and architectures, as well as to key ideas in algorithms, software development, and theory of computation. They also gain experience working with networked machines and parallel processing. Elective courses introduce them to advanced topics such as computer graphics, databases and knowledge-based systems, artificial intelligence, and neural networks. More information concerning the Harvey Mudd Computer Science Major can be found here, and the latest course offerings and sample course syllabi are available here.

History of HMC Clinic Program

The Clinic program originated at Harvey Mudd College in 1963 as a result of the efforts of engineering professors Jack Alford and Mack Gilkeson. The word "Clinic" was intended to designate a setting in which students could gain experience in real-world situations, analogous to interns in a medical clinic. The originators of the Clinic concept were interested in channeling HMC students' initiative, drive, and intelligence into problem-solving projects of a real-world nature. The philosophy was that experience in solving such problems is needed to complement traditional textbook problem solving skills.

In 1973, the Mathematics Department began its own program to emphasize mathematical modeling and analysis tools for applied mathematics problems.

In 1993, shortly after the creation of the Computer Science major, the Computer Science Clinic program was started with an emphasis on problems related to computational and information-based systems.

Further Information

For further information on the Harvey Mudd College Computer Science Clinic, please contact:

Professor Geoff Kuenning, Director
Computer Science Clinic
Harvey Mudd College
301 Platt Blvd
Claremont, CA 91711-5901
Telephone: (909) 625-4617
Clinic Secretary (DruAnn Thomas): (909) 621-8570
FAX: (909) 607-8364