translate data and programs that humans can understand into a form that the computer can process
a device that, together with the appropriate software, transforms information from the user into data that a computer application can process
pieces of equipment that are used to put data into the computer.