  We propose a method for calculating cohomology operations for finite
simplicial complexes. Of course, there exist well--known methods for computing
(co)homology groups, for example, the reduction algorithm consisting in
reducing the matrices corresponding to the differential in each dimension to
the Smith normal form, from which one can read off (co)homology groups of the
complex, or the incremental algorithm (due to Edelsbrunner et al.) for
computing Betti numbers. However, there is a gap in the literature concerning
general methods for computing cohomology operations. For a given finite
simplicial complex K, we sketch a procedure including the computation of some
primary and secondary cohomology operations and the $A_{\infty}$--algebra
structure on the cohomology of K. This method is based on the transcription of
the reduction algorithm mentioned above, in terms of a special type of
algebraic homotopy equivalences, called a contraction, of the (co)chain complex
of K to a "minimal" (co)chain complex M(K). For instance, whenever the ground
ring is a field or the (co)homology of K is free, then M(K) is isomorphic to
the (co)homology of K. Combining this contraction with the combinatorial
formulae for Steenrod reduced $p$th powers at cochain level developed in
\cite{GR99} and \cite{Gon00}, these operations at cohomology level can be
computed. Finally, a method for calculating Adem secondary cohomology
operations $\Phi_q: Ker(Sq^2H^q(K))\ra H^{q+3}(K)/Sq^2H^q(K)$ is showed.
