We define a categorical framework, based on the notion of sketch, for specification and evaluation in the senses of algebraic specifications and algebraic programming. This framework goes far beyond our initial motivation, which was to specify computation with algebraic numbers. We begin by redefining sketches in order to deal explicitly with programs. Expressions and terms are carefully defined and studied, then quasi-projective sketches are introduced. We describe static evaluation in these sketches: we propose a rigorous basis for evalution in the corresponding structures. These structures admit an initial model, but are not necessarily equational. In Part II (Duval and Reynaud 1994), we study a more general process, called dynamic evaluation, for structures that may have no initial model.