harvey mudd college computer science clinic · 2003-06-24 · harvey mudd college computer science...
TRANSCRIPT
Prof. Robert Keller, [email protected]
909-621-8483
Harvey Mudd College
Computer Science Clinic
HMC Olin Science Center Claremont, California
www.cs.hmc.edu/clinic
Providing a valuable and unique learning experience for HMC students. Providing work products of significant value to the sponsoring client.
Dual Objectives of the CS Clinic
Liaison and student team,Teradyne Project, 2002-2003
A physician does not go directly from classroom to practice.
There is a clinical period during which he or she is exposed to “real-world” problems in a controlled setting.
The same is desirable for our profession.
Why “Clinic”?
Unlike Internships:Work is done at HMC.
Faculty play a supervisory role.
Unlike Research Grants:Sponsor owns the results.
Contrasts with Other Corporate-University Models
Located in Claremont, California.Highly-selective liberal arts college of Science and Engineering.About 780 students (1669 applicants for freshman class of 185).Combined SAT-score range: 1450-1600.Competition: Stanford, MIT, Caltech.45% go on to attain advanced degrees.
About Harvey Mudd College
CS major introduced in 1992Second-largest major at HMC35-40 majors in graduating classNine faculty, spanning most areas of CSBroad range of coursesUp-to-date facilities (high-speed networking, workstations, software tools)
About HMC Computer Science
Introduction to Computer SciencePrinciples of Computer ScienceFoundation and Kernel Courses (6)Technical Electives (>3)Clinic (1 year)Colloquium (2 years)Independent Research (optional)
Components of the HMC CS Major
Calculus is required prior to admission
Math: Multi-variate calculus, linear algebra, differential equations, probability and statistics
Physics: 2 semesters with lab (E&M, Relativity)
Engineering: Systems Engineering
Chemistry: 2 semesters with lab
Biology: 1 semester
Components of the HMC Core
Data Structures and Program DevelopmentComputability and LogicComputer SystemsAlgorithmsProgramming LanguagesSoftware Development
CS Foundation and Kernel Courses
Computer Science Electives
Advanced Computer Architecture Advanced Operating Systems
Artificial Intelligence Compiler Design
Computer Animation Computer Graphics
Computer Networks Computer Vision
Databases Neural Networks
Parallel & Real-Time Computation Performance Analysis
Robotics Theory of Computation
In 1997, HMC became the first (and so far, the only) undergraduate college to win the ACM International Programming Competition in its 50-year history.
The finals compete 50 teams world-wide, from an original field of 1000 colleges and universities.
Won ACM International Programming Competition
Rank School Penalty
1 Harvey Mudd College 900
2 Univ. of Washington 916
3 Univ. of Queensland 916
4 National Taiwan Univ. 1001
5 Univ. of Waterloo 1219
6 Umea University 1483
Teams Solving Six Problems
Kevin Watkins, Brian Carnes, Brian Johnson
History of The Computer Science Clinic
1963: HMC Engineering Clinic first of its kind1973: HMC Mathematics Clinic established1992: Computer Science Major Established1993: Computer Science Clinic Established2001: Summer Clinic Program Initiated
CS Clinic Projects by Year
0
2
4
6
8
10
12
1992 1994 1996 1998 2000 2002 2004
Start Year
Nu
mb
er
of
Pro
ject
sProjects
2002-2003 Clients
New Clients Returning Clients
Green Media Toolshed The Aerospace Corporation
Kofax Image Products Auditude.com
LaserFiche, Inc. Boeing Air Traffic Management
Magulandia Studio Teradyne, Inc. (2 projects)
Northrop Grumman
Sandia National Laboratories
2002-2003 Project AreasNetwork Management and Security
AerospaceHand-Held Mobile Application
BoeingArtificial Intelligence/Pattern Recognition
Auditude, Kofax, LaserFiche, SandiaGraphics/Animation
Magulandia StudioFault-Tolerance
Northrop GrummanWeb Enterprise Application
TeradyneDatabase Application
Green Media Toolshed
Faculty Supervisor Areas of Expertise
Professor PhD from Area
Zachary Dodds Yale Robotics, Vision
Mike Erlinger UCLA Network Management, Security
Ran Libeskind-Hadas Illinois Distributed Algorithms, Network Routing
Robert Keller Berkeley Languages, Parallel Processing, Soft Computing
Geoff Kuenning UCLA Operating Systems, Performance Analysis
Melissa O’Neill Simon Fraser Human-Computer Interfaces, Distributed computing
Chris Stone CMU Programming Languages
Elizabeth Sweedyk Berkeley Graphics, Animation
Belinda Thom CMU Machine Learning, Music
Project Examples
Nuera Communications: Routing Technology
Nuera Corporation produces switches that route telephone calls over IP (Internet Protocol).
HMC Clinic Team designed and built software simulator for networks for algorithm testing, as well as
Developed software for automatically generating efficient routing tables.
Northrop Grumman: Software Fault Tolerance
Optivus Technology: Radiology Registration
Optivus Technology, Inc. develops unique radiation treatment systems based on Proton beams.
HMC Clinic Team developed a registration tool for radiographic images to speed the patient alignment process while enhancing accuracy.
LaserFiche: Automated Forms Recognition
IBM Austin Research: Asynchronous Processors
IBM Austin Research Center is interested in high-performance processors based on asynchronous logic.HMC Clinic team developed a suite of tools for verifying hardware transformations, including a VHDL compiler and visualization capabilities.
Magulandia Studio: Computer Animation
Octel Communications: Voicemail Menu Translation Tool
Octel Communications (now part of Lucent) needed to translate a large set of voice-mail prompts into many different languages. HMC Clinic team developed an interactive tool used by linguists that provides phrase structure and contextual information.
Teradyne: J2EE Management of Test Data
Microsoft: Sidewalk
When hand-helds were a fairly new thing a CS Clinic team developed web-browsers for Windows CE and other pda’s.These browsers were customized to display Microsoft Sidewalk data.Sidewalk is now called “CitySearch”.
Sandia National Laboratories: Clustering Visualization Tool
Boeing Air Traffic Management: Cockpit Weather PDA
Qualcomm: ARM code generation
JPL: Goal-Net Visualization
Example Development Languages and Platforms
PrologAssembler
Fortran
SQLPerl
JavaC++C
MacintoshWindows
LinuxUNIXMaya
J2EEXML
SolarisMPIOpen GL
Project Organization and Management
Requirements AnalysisUse CasesWork Breakdown StructurePERT and Gantt Charts with MilestonesUML Class, Sequence, ... diagramsDesign PatternsSoftware architecture concepts
Mid-July: Project Commitment, One-page Description
Early September: Project Start, Orientation
Team Structuring, Research, Proposal, Site Visit
Early October: Closure on SOW with team
Design reviews and presentations
Mid-December: Mid-year reporting
Development, plenary presentations
Mid-May: Final report
Clinic Project Timeline
Bound copies of final report
CDROM containing
Software installation and code
User documentation
Design documentation
Presentations
Other data as relevant
Presentations at the Sponsor’s Site
Deliverables Include ...
HMC Clinic Team (usually 4 seniors): Does most of the work.
Faculty Advisor: Provides guidance, insight, expertise.
Sponsor Liaison: Provides domain-specific knowledge, requirements.
Sponsor: Provides funding and need.
Clinic Director: Provides oversight and management.
Clinic Advisory Committee: Provides program assessment, critique.
Stakeholders
Conclusion
HMC Computer Science Clinic projects address
Technical RequirementsPerformance RequirementsErgonomic Requirements
ranging from current practice to advanced researchin a cost-effective manner.
Computer Science Clinic, 1993-200310 years, 36 Sponsors, 70+ projects
Accel Technologies, Inc.Auditude.com (2)The Aerospace Corporation (10)Bank of AmericaBeckman InstrumentsBoeing (2)DirecTVDisney Feature AnimationESRIGreen Media Toolshed, Inc.GTEHRL Laboratories (2)IBM (3)I/O Software, Inc.Jet Propulsion Laboratory (4)Kofax Image ProductsLaserFiche, Inc
Legato Systems, Inc.Magulandia StudioMarine Biology Lab. (3)Microsoft Corporation (2)N2H2, Inc.Nuera Communications (2)Northrop GrummanOctel Communications Corp. (2)Optivus Technology, Inc. (5)Paracel, Inc.QB Inc.Qualcomm, Inc.Rockwell Science CenterSandia National LaboratoryTeradyne Inc. (5)United Device, Inc.WebTV Networks, Inc.Worldport, Inc.Yahoo!
1000th Combined Clinic Project Recognized: 2003(More that 200 sponsors in all HMC programs)
Fair-Isaac, Inc. Liaison Gary Sullivanreceives plaque for the 1000th project.
Stephen Lukasik (Board of Trustees), Chair
Paul Anderson (The Aerospace Corporation)
Joseph Betser (The Aerospace Corporation)
David Lesyna (Optivus Technology)
Bob Varney (Teradyne Corporation)
Mr. Mike Bell (Beckman Coulter)
Dave Bailey (DirecTV)
Antony Selim (Raytheon)
and others
Quality Monitoring: Clinic Advisory Committee
CAC Chair Lukasikviewing a final presentation.
Quality Monitoring: Annual Liaison Survey
Unsolicited Sponsor Assessment Letter
“I've received the final report and read it this morning. I believe the clinic team has done a most wonderful job. The first problem that was tackled, finding a good VHDL compiler for asynchronous design, turned out to be a lot more work than I had anticipated. I think it is absolutely amazing that the team managed to overcome the problems with finding a good compiler in such a short time, and still carry out most of the (aggressive) goals that were set at the start of the project.
The system that was developed is a very decisive way to deal with compiler problems indeed, and that system by itself would have made for a great clinic end result. I think it puts some very expensive academic and industry VHDL development effort to shame, by achieving higher functionality and correctness rather than tons of whistles and bells on a faulty core.
I am also very impressed with the mechanized proof that deadlock is avoided in the MIPS decomposition. I see this as a major achievement. I know that the underlying theory is difficult to communicate, and yet the team understood it so well they could turn it into a tool. I also appreciate the completeness of that effort. My challenge to the team had been to verify some transformations, and I had certainly not anticipated to see the complete decomposition analyzed. If you look a little in the formal methods and mechanized proof literature, you will see that this work is on the cutting edge!
Finally, the visualization tool very nicely ties the whole thing together. Adding concurrency and knowing that you have not sacrificed correctness is one thing, but convincing yourself that the added concurrency gives added performance is another, and a visualization tool is a great way to give insight into what has been achieved, or where the bottlenecks are.”