We describe the design and operation of a scanning tunneling microscope (STM) for studying surfaces. We are able to prepare samples with ion bombardment and heating, and to characterize them with LEED and Auger analysis in situ before scanning with the STM. Data acquisition and analysis are computer-controlled, with a variety of options for presentation. In the near future, we will be able to load-lock samples without venting the UHV chamber. Our STM has very low thermal drift, typically of the order of 1 A/min. In addition to topographical measurements of the surface, we have obtained spatially resolved maps related to the height of the tunnel barrier. We have investigated the effects of scratching the surface with the tip, and have also succeed in depositing material from the tip onto the surface. Surface diffusion of material is found to play an important role in both of these processes.