Over the past decade the theoretical description of surface reactions has undergone a radical development. Advances in density functional theory mean it is now possible to describe catalytic reactions at surfaces with the detail and accuracy required for computational results to compare favourably with experiments. Theoretical methods can be used to describe surface chemical reactions in detail and to understand variations in catalytic activity from one catalyst to another. Here, we review the first steps towards using computational methods to design new catalysts. Examples include screening for catalysts with increased activity and catalysts with improved selectivity. We discuss how, in the future, such methods may be used to engineer the electronic structure of the active surface by changing its composition and structure.