a method whereby new problems are solved based on the solutions from similar cases solved in the past
system searches for stored cases with problem characteristics similar to the new one, finds closest fit, and applies solutions of old case to new case
any hardware component that allows users to enter data or instructions (programs, commands and user responses) into a computer