Suppose we have a presheaf [tex]\mathcal F[/tex] of abelian groups over [tex]M[/tex] and pick a point [tex]x[/tex]. On the collection of all abelian groups defined over some neighbourhood of [tex]x[/tex] (disjoint union) we put an equivalence relation which identifies [tex]f\in\mathcal F(U)[/tex] and [tex]g\in\mathcal F(V)[/tex] precisely if there is some open [tex]W[/tex] in the intersection where [tex]f[/tex] and [tex]g[/tex] coincide. (or more precisely, their restrictions coincide). The set of equivalence classes turns out to be an Abelian group [tex]\mathcal F_x[/tex] called the stalk of the presheaf [tex]\mathcal F[/tex] at [tex]x[/tex].
So, with more fluff introduced, the stalk is all the elements in the presheaf that are defined above any neighbourhood of the point, and counted as the same if they seem to be.
For an open set [tex]U[/tex] and a point [tex]x\in U[/tex] there is a canonical group morphism [tex]\rho_x:\mathcal F(U)\to\mathcal F_x[/tex] which sends an element [tex]f\in\mathcal F(U)[/tex] to its equivalence class. This image is the germ of [tex]f[/tex] at [tex]x[/tex].
Example
Let [tex]\mathcal O[/tex] be the presheaf of holomorphic function on [tex]\mathbb C[/tex]. Then [tex]\mathcal O_{z_0}[/tex] is precisely the set of all convergent power series of the form [tex]\sum_{n=0}^\infty c_n(z-z_0)^n[/tex] for complex [tex]c_n[/tex]. The germ of some [tex]f[/tex] defined on a neighbourhood of [tex]z_0[/tex] is precisely the Taylor series around that point.
Example
Take [tex]\mathbb Z[/tex] the constant presheaf where over each open set, the additive group of all integers hovers. Then we have for the construction of the stalk a disjoint union of copies of [tex]\mathbb Z[/tex] indiced by all the neighbourhoods of the point. Since all the neighbourhoods contain [tex]x[/tex] they all have a non-empty intersection, on which elements agree if they have the same value. So [tex]\mathcal F_x=\mathbb Z[/tex] for any point [tex]x[/tex]. The germ of [tex]i\in\mathbb Z=\mathcal F(U)[/tex] at [tex]x[/tex] is [tex]i\in\mathbb Z=\mathcal F_x[/tex].
We define exact sequences by looking at the induced maps of the stalks. A sequence of sheave morphisms is exact if for every point on the underlying space, the corresponding induced stalk map sequences are exact.
Example
We can construct a morphism of sheaves of abelian groups from [tex]\mathbb C[/tex] to [tex]\mathcal O[/tex] by sending [tex]c\in\mathbb C(U)[/tex] to the function [tex]f(z)=c[/tex] in [tex]\mathcal O(U)[/tex]. For some point [tex]z_0[/tex], this induces a stalk map that takes [tex]c[/tex] in [tex]\mathbb C_{z_0}[/tex] and sends it to the function defined by the convergent power series [tex]c(z-z_0)^0=c[/tex]. Regardless of [tex]z_0[/tex], this map is obviously an injection, and so this map is a monomorphism.
Space étalé and sheafifications
Given a presheaf [tex]\mathcal F[/tex], we construct the set [tex]|\mathcal F|[/tex] as the disjoint union of all stalks [tex]\mathcal F_x[/tex]. There's an natural projection [tex]\pi:f_x\mapsto x[/tex] down to the underlying topological space. We can introduce a topology on [tex]|\mathcal F|[/tex] by constructing, for each open set [tex]U\subseteq M[/tex] and each element [tex]f\in\mathcal F(U)[/tex], the set [tex][U,f]=\{\rho_x(f)\mid x\inU\}\subseteq|\mathcal F|[/tex] and take these sets to be a basis of our topology. So an open set is given from the [tex][U,f][/tex] by a sequence of (possibly infinite) unions and finite intersections.
This turns out to be a covering of [tex]\mathcal F[/tex], i.e. each [tex]e\in|\mathcal F|[/tex] has an open neighbourhood which is homeomorphic to its image under the projection [tex]\pi[/tex]. We call the topological space [tex]|\mathcal F|[/tex] with this topology the space étalé of the presheaf [tex]\mathcal F[/tex].
Using the space étalé, then, we can construct a canonical sheaf. A continuous section of a covering space [tex]\pi\colon\mathcal F\to M[/tex] over a subset [tex]U\subseteq M[/tex] is a continuous map [tex]\sigma\colon U\to|\mathcal F|[/tex] such that [tex]\pi\circ\sigma=\mathbb 1[/tex].
Example
[tex]\mathbb R[/tex] is a covering space of the circle (viewed as the interval [0,1] with 0 identified with 1) with the projection [tex]x\mapsto x\pmod1[/tex]. A continuous section of the upper open halfcircle is a map [tex]\sigma_n\colon x\mapsto x+n[/tex]. Indeed, [tex]\pi\circ\sigma_n[/tex] takes some point [tex]x[/tex] to [tex]x+n[/tex] and then to [tex]x+n\pmod1[/tex]
Now, let [tex]\Gamma(U,|\mathcal F|)[/tex] denote the set of all continuous sections of [tex]|\mathcal F|[/tex] over [tex]U[/tex]. This ends up in the same category that [tex]\mathcal F[/tex] goes to. From this, we then define a sheaf [tex]\hat{\mathcal F}[/tex] by setting [tex]\hat{\mathcal F}(U)=\Gamma(U,|\mathcal F|)[/tex], and letting restriction be the usual restriction of maps. This gives us a functor from presheaves to sheaves called sheafification.
Example
We already saw that [tex]\mathbb Z_{\text{const}}[/tex] assigning the group [tex]\mathbb Z[/tex] to each open subset [tex]U[/tex] of a manifold [tex]M[/tex] and with all restrictions being identity morphisms is not a sheaf. What happens if we sheafify? First, we need to construct our space étalé. This is the disjoint union of all stalks. A stalk over a point [tex]x[/tex] is the quotient of the disjoint union of all [tex]\mathbb Z_{\text{const}}(U)[/tex] for [tex]x\in U[/tex] with the equivalence relation that identifies [tex](n,U)\equiv(m,V)[/tex] if there is some [tex]W\subset U\cap V[/tex] such that [tex]n|_W=m|_W[/tex]. Now, all neighbourhoods of [tex]x[/tex] intersect in some open subset, and since all restrictions are identities, we identify [tex](n,U)[/tex] with [tex](n,V)[/tex] for all pairs of open neighbourhoods [tex]U[/tex],[tex]V[/tex]; so in end-effect all stalks are isomorphic, as groups, to [tex]\mathbb Z[/tex].
The space étalé is thus the disjoint union for all points [tex]x\in M[/tex] of copies of [tex]\mathbb Z[/tex]; i.e. the set of ordered pairs on the form [tex](x,n)[/tex] for [tex]x\in M[/tex] and [tex]n\in\mathbb Z[/tex]. Finally, our sheafified sheaf assigns to each open subset [tex]U\subseteq M[/tex] the group of sections [tex]\Gamma(U,|\mathbb Z_{\text{const}}|)[/tex], thus a point there is a function [tex]U\to U\times\mathbb Z[/tex] such that [tex]x\mapsto n_x[/tex] for some [tex]n_x\in\mathbb Z[/tex]. Since this map has to be continuous, the map is constant on neighbourhoods. And thus we recover the sheaf of locally constant maps for the constant sheaf; just as exhibited earlier.
Kernels and quotients
Let [tex]\tau:\mathcal A\to\mathcal B[/tex] be a map of sheaves. For any open [tex]U\subseteq M[/tex], we define [tex]\mathcal K(U)=\ker\tau_U\colon\mathcal A(U)\to\mathcal B(U)[/tex]. The sheaf [tex]\mathcal K[/tex] formed by these groups together with the induced morphisms from is called the kernel of the sheaf map.
The quotient of a sheaf map is formed almost the same way - pointwise components are formed as expected, but the presheaf thus formed need not be a sheaf. So we sheafify it.