This site is being phased out.
Cochain complex as the dual
Transformations of the spaces given by chain complexes are captured by linear operators. Meanwhile scalar quantities that depend on the location in a space given by a chain complex are linear functionals.
To illustrate, an element of our ring $R$ is assigned to each $k$-cell in a cell complex $K$, creating a function: $$\tau _k: Q_k(K) \rightarrow R.$$ It is extended by linearity to the whole chain complex of the cell complex: $$\tau _k: C_k(K) \rightarrow R.$$ These functions are called cochains, or differential forms.
Now, in any chain complex $(C,\partial)$ we can define cochains as linear maps to the coefficient ring: $$\tau _k: C_k \rightarrow R.$$ Then we recognize that they form the dual space $(C_k)^*$ of $C_k$ over $R$. It is denoted by $C^k$.
The dual of the boundary operator $$\partial _k^C:C_k \rightarrow C_{k-1}$$ is the coboundary operator: $$\partial ^k_C:C^k \leftarrow C^{k-1}.$$
The combination of all of these spaces with the coboundary operators is denoted by $(C^*,\partial ^*_C)$ and is called the cochain complex of $C$. See discrete exterior calculus.
We don't separate "quantities" from "transformations". We just think of cochains on $C$ as linear map that constitute a chain map from $C$ to certain trivial chain complex: $$ \newcommand{\ra}[1]{\!\!\!\!\!\!\!\xrightarrow{\quad#1\quad}\!\!\!\!\!} \newcommand{\da}[1]{\left\downarrow{\scriptstyle#1}\vphantom{\displaystyle\int_0^1}\right.} \newcommand{\la}[1]{\!\!\!\!\!\!\!\xleftarrow{\quad#1\quad}\!\!\!\!\!} \newcommand{\ua}[1]{\left\uparrow{\scriptstyle#1}\vphantom{\displaystyle\int_0^1}\right.} % \begin{array}{ccccccc} \da{\partial_3} & \searrow ^{df_2} & \da{\partial_3} \\ C_2 & \ra{f_2} & R\\ \da{\partial_2} & \searrow ^{df_1} & \da{\partial_2} \\ C_{1} & \ra{f_{1}} & R\\ \da{\partial_1} & \searrow ^{df_0} & \da{\partial_1} \\ C_{0} & \ra{f_{0}} & R\\ \da{\partial_0} & & \da{\partial_0 =0} \\ 0& &0\\ \end{array} $$ The diagonal arrows show the exterior derivatives of these forms following the Stokes Theorem.
For a given $k$-cochain $f=f_k$ we can construct the rest of such a chain map: $$ \newcommand{\ra}[1]{\!\!\!\!\!\!\!\xrightarrow{\quad#1\quad}\!\!\!\!\!} \newcommand{\da}[1]{\left\downarrow{\scriptstyle#1}\vphantom{\displaystyle\int_0^1}\right.} \newcommand{\la}[1]{\!\!\!\!\!\!\!\xleftarrow{\quad#1\quad}\!\!\!\!\!} \newcommand{\ua}[1]{\left\uparrow{\scriptstyle#1}\vphantom{\displaystyle\int_0^1}\right.} % \begin{array}{ccccccc} \da{\partial_{k+2}} & & \da{\partial_{k+2} =0} \\ C_{k+2} & \ra{f_{k+2}=0} & R\\ \da{\partial_{k+1}} & & \da{\partial_{k+1} =0} \\ C_{k+1} & \ra{f_{k+1}=f_k\partial _k} & R\\ \da{\partial_{k}} & & \da{\partial_k=Id} \\ C_{k} & \ra{f_{k}} & R\\ \da{\partial_{k-1}} & & \da{\partial_{k-1} =0} \\ C_{k-1}& \ra{f_{k-1}=0} & R\\ \end{array} $$ We choose $f_{k+1}=f_k\partial _k$ to make the lower square commute. We also choose $f_{k+2} =0$. Then the upper square commutes because, since $C$ is a chain complex, we have $$f_{k+1}\partial _{k+1}=f_k\partial _k \partial _{k+1}=f_k 0 = 0.$$ (Cf. chain map over a natural transformation.)
Note that it is easy to find a cell complex with this chain complex, see Homology of balls and spheres.
So, in a sense, $$(C^*,\partial ^*) = \text{Hom}(C,R) \in \text{Hom}(Ch(\mathcal{Mod})).$$
Meanwhile, the dual of a chain map $$f \colon ( S, \partial ^S) \rightarrow (T, \partial ^T)$$ is a cochain map, i.e., a linear operator between cochain complexes $$f^* \colon ( S^*, \partial ^*_S) \leftarrow (T^*, \partial ^*_T)$$ that preserves coboundaries. It is a sequence of linear operators $$f^*=\{ f^k \colon S^k \leftarrow T^k\}$$ that commute with the duals of the boundary operators: $$ \partial_S^k f^{k-1} = f^k \partial_T ^k,$$ or simply: $$\partial ^* f^* = f^* \partial ^* .$$
Then the arrow in the above diagram are reversed and the indices raised: $$ \newcommand{\ra}[1]{\!\!\!\!\!\!\!\xrightarrow{\quad#1\quad}\!\!\!\!\!} \newcommand{\da}[1]{\left\downarrow{\scriptstyle#1}\vphantom{\displaystyle\int_0^1}\right.} \newcommand{\la}[1]{\!\!\!\!\!\!\!\xleftarrow{\quad#1\quad}\!\!\!\!\!} \newcommand{\ua}[1]{\left\uparrow{\scriptstyle#1}\vphantom{\displaystyle\int_0^1}\right.} % \begin{array}{ccccccc} \ua{\partial^3_K} & & \ua{\partial^3_L} \\ C^2(K) & \la{f^2} & C^2(L) \\ \ua{\partial^2_K} & & \ua{\partial^2_L} \\ C^{1}(K) & \la{f^{1}} & C^{1}(L)\\ \ua{\partial^1_K} & & \ua{\partial^1_L} \\ C^{0}(K) & \la{f^{0}} & C^{0}(L)\\ \ua{\partial^0_K} & & \ua{\partial^0_L} \\ 0& &0\\ \end{array} $$