What's so "shrieky" about this shriek map? On page 88 of Atiyah-Macdonald's "Introduction to Commutative Algebra" there is an exercise about the Grothendieck group $K(A)$ of a noetherian ring $A$. In this context to every finite ring homomorphism $f: A \rightarrow B$ of noetherian rings there is an associated group homomorphism
$$f_{!}: K(B) \rightarrow K(A)$$
which is induced by restricting a finitely generated $B$-module via $f$ to a finitely generated $A$-module. Given two finite ring homomorphisms $A \stackrel{f}\longrightarrow B \stackrel{g} \longrightarrow C$ we get
$$(g \circ f)_{!} = f_{!} \circ g_{!}$$
What I am wondering about is: why do they put the "shriek" (i.e. the symbol "$!$") into the subscript when it behaves contravariantly?
On wikipedia they say that shrieks are used either to distinguish a functor from another similar functor, or in order to warn the reader that something which intuitively behaves covariantly (contravariantly) behaves instead contravariantly (covariantly).
So what of the two, if anything, applies in my case above? It's pretty clear to me that in my case the shriek has to "turn arrows around" because we succesively restrict scalars, first along $g$ then along $f$. Would one instead, a priori, expect that the Grothendieck group functor is covariant, or is there another, well-known functor, which could easily be confused with this one?
 A: When you have a map of rings $A\to B$ you get an induced functor $M(A)\to M(B)$ on the categories of finitely generated modules over $A$ and $B$, respectively. It is given by $P\mapsto P\otimes_A B $. This induces a homomorphism on $K$-theory (or $G$-theory if we are precise) which behaves covariantly. This functor is considered to be the normal one. The functor you describe is indeed the other way round.
Edit: The reason why the covariant functor is the "normal" one is imo Swan's Theorem. There is an equivalence of categories of the category of real vector bundles over a compact topological space $X$ and projective modules over the ring of continuous functions $C(X,\mathbb R)$. More specifically a vector bundle $E\to X$ is sent to the module of sections $\Gamma (X,E)$ (Exercise: this is indeed projective). Hence we have an isomorphism of the topological $K$-group of $X$ and the algebraic $K$-group of $C(X,\mathbb R)$. A map of topological spaces $X\to Y$ induces a map $K(Y)\to K(X)$ (contravariantly). In turn we want the induced map $C(Y,\mathbb R)\to C(X,\mathbb R)$ to induce a map $K(C(Y,\mathbb R))\to K(C(X,\mathbb R))$. This is done by the covariant functor as decribed above.
There are many many relations between topological and algebraic $K$-theory. In general topological K-theory is easier since we have more tools at hand. Consequently many results exist in the topological realm until we can transfer them to the algebaric world. Since everything should work essentially similar it is good to have the maps in the same direction.
A: In general, $f_!$ is the notation, in cohomological or cycle-theoretic contexts, for pushforward with proper supports (the relative version of cohomology with compact supports).
In this particular case, one is applying it to the proper morphism
Spec $B \to $ Spec $A$ (proper because the corresponding extension of rings
$A \to B$ is finite).  
So the answer to your question is that there is a larger geometric context in which this particular situation considered by AM can be placed, and in that larger context $f_!$ is the traditional notation.
