General Information

Overview

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 Zach Dodds.

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.

Exploratory/Emerging Techniques
  • Machine Learning of many varieties - and/or comparative ML
  • Neural networks of many architectures, including Deep Learning techniques
  • Genetic programming and algorithms
Interface Designs
  • Mobile applications
  • Software with unusual, ad-hoc deployment, e.g., on next-generation networking hardware
  • Multi-media systems, including VR and AR piloting/prototyping
Software Development
  • Compilers, programming languages, and operating systems components
  • Specification tools, such as for real-time systems
  • Databases and expert systems
  • Object-oriented and/pr event-driven software architectures
Computer Networking
  • Client-server systems
  • Performance monitoring
  • Distributed information bases
  • Protocol analysis
Parallel Computation
  • Parallel algorithms and applications
  • Performance assessment
  • Software tool development

Student Backgrounds

All HMC Computer Science students become familiar with Python, Java, and C/C++ in their early "CS Core" courses. They also use a wide variety of other languages, develop nuanced algorithmic insights, and exercise several software and software-engineering paradigms. Details vary from major to major: students from all majors with the prerequisite background have joined CS Clinic. What is uniform is the unusual breadth of academic experience -- and breadth of shared experience -- Harvey Mudd College and Claremont Colleges' students bring to their Clinic projects.

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 Zach Dodds, Director
Computer Science Clinic
Harvey Mudd College
301 Platt Blvd
Claremont, CA 91711-5901

dodds@cs.hmc.edu
Telephone: (909) 607-1813
Clinic Coordinator (DruAnn Thomas): (909) 621-8570
Fax: (909) 607-8364