Let \(X\) be a separated scheme, \(\mathcal{F}\) be a quasi-coherent sheaf of \(\mathcal{O}_X\)-modules. Let \(\{U_i\}_{I}\) be an affine finite cover of \(X\).
Recall that a quasi-coherent \(\mathcal{O}\)-module is acyclic on affine schemes, i.e. \(H^i(U, \mathcal{F}) = 0\) for \(i > 0\) and \(U\) affine.
Separated implies the intersection of two affine open sets is affine, making the covering an analogue of a good cover in manifold theory, (each non-empty intersection is contractible, and acyclic).
Let \(J\subset I\) be any non-empty subset with \(U_J = \bigcap_{i\in J} U_i\). Then \(U_J\) is affine, and \(\mathcal{F}|_{U_J}\) is acyclic. Consider the open immersion \(i_J: U_J \hookrightarrow X\), which is affine morphism and \((i_J)_*\) is exact. Then \(i_J^*\mathcal{F}\) is acyclic and so is \((i_J)_*i_J^*\mathcal{F}\) as a sheaf on \(X\).
These observations motivate the following construction, define the sheaf \(\mathcal{F}^i\) as
\[ \mathcal{F}^i := \bigoplus_{|J| = i+1} (i_J)_*i_J^*\mathcal{F}\]
where the sum is over all non-empty subsets \(J\subset I\) of cardinality \(i+1\). The sheaf \(\mathcal{F}^i\) is a sheaf of \(\mathcal{O}_X\)-modules, and the natural map \(\mathcal{F}\to \mathcal{F}^0\) is injective.
The Cech differential is defined as the alternating sum of the restriction maps
\[ d^i: \mathcal{F}^i\to \mathcal{F}^{i+1} \]
\[ d^i(s)_{J} = \sum_{k=0}^{i+1} (-1)^k s_{J\backslash j_k} \]
where \(J\) is a subset of cardinality \(i+2\). The Cech complex is then formed as
\[ 0\to \mathcal{F}^0 \to \mathcal{F}^1 \to \cdots \]
which is quasi-isomorphic to \(\mathcal{F}\).
Since each \(\mathcal{F}^i\) is acyclic for the global section functor, the principle of acyclic resolution tells us that it can be used to compute the sheaf cohomology of \(\mathcal{F}\),
\[ H^i(X, \mathcal{F}) := R^i\Gamma_X(\mathcal{F}) = H^i(\Gamma_X(\mathcal{F}^{\bullet})). \]
Note that
\[\Gamma_X(\mathcal{F}^i) = \bigoplus_J \Gamma_X((i_J)_*i_J^*\mathcal{F}) = \bigoplus_J \Gamma_{U_J}(i_J^*\mathcal{F}) = \bigoplus_J \Gamma_{U_J}(\mathcal{F}|_{U_J}) = \bigoplus_J \Gamma_{U_J}(\mathcal{F}), \]
denote the above group by \(C^i(\mathcal{U}, \mathcal{F})\), where \(\mathcal{U}\) denotes the particular open cover being used. This tells us an explicit way to compute the sheaf cohomology,
\[H^i(X,\mathcal{F}) = H^i(C^\bullet(\mathcal{U}, \mathcal{F})).\]