[proofplan]
We use the standard bases of $R^n$ and $R^m$ to convert an $R$-[linear map](/page/Linear%20Map) into its list of column vectors. Linearity shows that the columns determine the homomorphism on every element of $R^n$, giving injectivity. Conversely, every matrix defines a coordinate formula for an $R$-linear map, giving surjectivity. Finally, expanding coordinates shows that composition gives the usual product of the corresponding matrices.
[/proofplan]
[step:Extract the standard matrix from the images of the standard basis]
Let $(e_1,\dots,e_n)$ be the standard basis of $R^n$, and let $(f_1,\dots,f_m)$ be the standard basis of $R^m$. If $n=0$ or $m=0$, these lists are interpreted as empty when appropriate.
Let $\varphi: R^n \to R^m$ be an $R$-[module homomorphism](/page/Module%20Homomorphism). Since $(f_1,\dots,f_m)$ is the standard basis of $R^m$, each element of $R^m$ has a unique coordinate expression in that basis. Therefore, for each $j \in \{1,\dots,n\}$, there are unique coefficients $a_{ij} \in R$, indexed by $i \in \{1,\dots,m\}$, such that
\begin{align*}
\varphi(e_j)=\sum_{i=1}^{m} a_{ij} f_i.
\end{align*}
Define $A_\varphi=(a_{ij}) \in R^{m \times n}$. This gives a well-defined map
\begin{align*}
\Theta: \operatorname{Hom}_R(R^n,R^m) &\to R^{m \times n}
\end{align*}
\begin{align*}
\varphi &\mapsto A_\varphi.
\end{align*}
[guided]
The point of using the standard basis is that an $R$-linear map is controlled by what it does to the basis vectors. Let $(e_1,\dots,e_n)$ denote the standard basis of $R^n$, and let $(f_1,\dots,f_m)$ denote the standard basis of $R^m$. When $n=0$ or $m=0$, the corresponding standard basis is empty, and all sums over the empty index set are interpreted as the zero vector.
Now fix an $R$-module homomorphism $\varphi: R^n \to R^m$. For each basis vector $e_j$, where $j \in \{1,\dots,n\}$, the vector $\varphi(e_j)$ lies in $R^m$. Because $(f_1,\dots,f_m)$ is a basis of $R^m$, there is a unique list of coefficients $a_{1j},\dots,a_{mj} \in R$ satisfying
\begin{align*}
\varphi(e_j)=\sum_{i=1}^{m} a_{ij} f_i.
\end{align*}
These coefficients form the $j$-th column of a matrix. Defining $A_\varphi=(a_{ij}) \in R^{m \times n}$ therefore records the images of all standard basis vectors as columns. Thus we have a well-defined map
\begin{align*}
\Theta: \operatorname{Hom}_R(R^n,R^m) &\to R^{m \times n}
\end{align*}
\begin{align*}
\varphi &\mapsto A_\varphi.
\end{align*}
The uniqueness of the coordinate expression in the basis of $R^m$ is exactly what makes $A_\varphi$ well-defined.
[/guided]
[/step]
[step:Show that the standard matrix determines the homomorphism]
Let $\varphi,\psi: R^n \to R^m$ be $R$-module homomorphisms such that $A_\varphi=A_\psi$. Then for every $j \in \{1,\dots,n\}$, the equality of the $j$-th columns gives
\begin{align*}
\varphi(e_j)=\psi(e_j).
\end{align*}
Let $x \in R^n$. Since $(e_1,\dots,e_n)$ is the standard basis, there are unique coefficients $x_1,\dots,x_n \in R$ such that
\begin{align*}
x=\sum_{j=1}^{n} x_j e_j.
\end{align*}
Using $R$-linearity of $\varphi$ and $\psi$, we get
\begin{align*}
\varphi(x)=\sum_{j=1}^{n} x_j \varphi(e_j).
\end{align*}
Since $\varphi(e_j)=\psi(e_j)$ for every $j$, this becomes
\begin{align*}
\varphi(x)=\sum_{j=1}^{n} x_j \psi(e_j).
\end{align*}
Using $R$-linearity of $\psi$,
\begin{align*}
\sum_{j=1}^{n} x_j \psi(e_j)=\psi(x).
\end{align*}
Thus $\varphi(x)=\psi(x)$ for every $x \in R^n$, so $\varphi=\psi$. Hence $\Theta$ is injective.
[/step]
[step:Build a homomorphism from an arbitrary matrix]
Let $A=(a_{ij}) \in R^{m \times n}$. Define a map
\begin{align*}
T_A: R^n &\to R^m
\end{align*}
\begin{align*}
(x_1,\dots,x_n) &\mapsto \left(\sum_{j=1}^{n} a_{1j}x_j,\dots,\sum_{j=1}^{n} a_{mj}x_j\right).
\end{align*}
Equivalently,
\begin{align*}
T_A(x)=\sum_{i=1}^{m}\left(\sum_{j=1}^{n} a_{ij}x_j\right)f_i
\end{align*}
for $x=\sum_{j=1}^{n}x_j e_j$.
We verify that $T_A$ is $R$-linear. Let $x=(x_1,\dots,x_n)$ and $y=(y_1,\dots,y_n)$ be elements of $R^n$. For each $i \in \{1,\dots,m\}$, the $i$-th coordinate of $T_A(x+y)$ is
\begin{align*}
\sum_{j=1}^{n} a_{ij}(x_j+y_j).
\end{align*}
Distributivity in $R$ gives
\begin{align*}
\sum_{j=1}^{n} a_{ij}(x_j+y_j)=\sum_{j=1}^{n} a_{ij}x_j+\sum_{j=1}^{n} a_{ij}y_j.
\end{align*}
Thus $T_A(x+y)=T_A(x)+T_A(y)$.
Let $r \in R$. For each $i \in \{1,\dots,m\}$, the $i$-th coordinate of $T_A(rx)$ is
\begin{align*}
\sum_{j=1}^{n} a_{ij}(rx_j).
\end{align*}
Since $R$ is commutative, $a_{ij}(rx_j)=r(a_{ij}x_j)$ for every $i,j$, so
\begin{align*}
\sum_{j=1}^{n} a_{ij}(rx_j)=r\sum_{j=1}^{n} a_{ij}x_j.
\end{align*}
Hence $T_A(rx)=rT_A(x)$. Therefore $T_A: R^n \to R^m$ is an $R$-module homomorphism.
For each $j \in \{1,\dots,n\}$, the vector $e_j$ has coordinates $1_R$ in position $j$ and $0_R$ elsewhere. Therefore
\begin{align*}
T_A(e_j)=\sum_{i=1}^{m} a_{ij}f_i.
\end{align*}
So $A_{T_A}=A$, and $\Theta$ is surjective.
[guided]
Now we prove that no matrix is missing from the correspondence. Start with an arbitrary matrix $A=(a_{ij}) \in R^{m \times n}$. We define a candidate homomorphism by the usual matrix-vector formula:
\begin{align*}
T_A: R^n &\to R^m
\end{align*}
\begin{align*}
(x_1,\dots,x_n) &\mapsto \left(\sum_{j=1}^{n} a_{1j}x_j,\dots,\sum_{j=1}^{n} a_{mj}x_j\right).
\end{align*}
Equivalently, if $x=\sum_{j=1}^{n}x_j e_j$, then
\begin{align*}
T_A(x)=\sum_{i=1}^{m}\left(\sum_{j=1}^{n} a_{ij}x_j\right)f_i.
\end{align*}
We must check that this formula defines an $R$-module homomorphism. Let $x=(x_1,\dots,x_n)$ and $y=(y_1,\dots,y_n)$ be elements of $R^n$. For a fixed coordinate index $i \in \{1,\dots,m\}$, the $i$-th coordinate of $T_A(x+y)$ is
\begin{align*}
\sum_{j=1}^{n} a_{ij}(x_j+y_j).
\end{align*}
By distributivity in the ring $R$,
\begin{align*}
\sum_{j=1}^{n} a_{ij}(x_j+y_j)=\sum_{j=1}^{n} a_{ij}x_j+\sum_{j=1}^{n} a_{ij}y_j.
\end{align*}
This is exactly the $i$-th coordinate of $T_A(x)+T_A(y)$. Since the equality holds for every coordinate $i$, we have
\begin{align*}
T_A(x+y)=T_A(x)+T_A(y).
\end{align*}
Next let $r \in R$. For a fixed coordinate index $i \in \{1,\dots,m\}$, the $i$-th coordinate of $T_A(rx)$ is
\begin{align*}
\sum_{j=1}^{n} a_{ij}(rx_j).
\end{align*}
Because $R$ is commutative, we may reassociate and commute the scalar $r$ past $a_{ij}$:
\begin{align*}
a_{ij}(rx_j)=r(a_{ij}x_j).
\end{align*}
Therefore
\begin{align*}
\sum_{j=1}^{n} a_{ij}(rx_j)=r\sum_{j=1}^{n} a_{ij}x_j.
\end{align*}
This is the $i$-th coordinate of $rT_A(x)$, so
\begin{align*}
T_A(rx)=rT_A(x).
\end{align*}
Thus $T_A$ is an $R$-module homomorphism.
Finally, evaluate $T_A$ on the standard basis vector $e_j$. Its coordinates are $1_R$ in the $j$-th position and $0_R$ in all other positions, so all terms in the defining sum vanish except the $j$-th one. Hence
\begin{align*}
T_A(e_j)=\sum_{i=1}^{m} a_{ij}f_i.
\end{align*}
This says precisely that the standard matrix of $T_A$ is $A$. Since $A$ was arbitrary, every matrix occurs as the standard matrix of some homomorphism, and $\Theta$ is surjective.
[/guided]
[/step]
[step:Identify composition with ordinary matrix multiplication]
Let $p \in \mathbb{Z}$ with $p \geq 0$. Let $\varphi: R^n \to R^m$ and $\psi: R^m \to R^p$ be $R$-module homomorphisms with standard matrices $A=(a_{ij}) \in R^{m \times n}$ and $B=(b_{ki}) \in R^{p \times m}$, respectively. Let $(g_1,\dots,g_p)$ be the standard basis of $R^p$.
For each $j \in \{1,\dots,n\}$,
\begin{align*}
\varphi(e_j)=\sum_{i=1}^{m} a_{ij}f_i.
\end{align*}
Using $R$-linearity of $\psi$,
\begin{align*}
(\psi \circ \varphi)(e_j)=\sum_{i=1}^{m} a_{ij}\psi(f_i).
\end{align*}
Since $B$ is the standard matrix of $\psi$,
\begin{align*}
\psi(f_i)=\sum_{k=1}^{p} b_{ki}g_k.
\end{align*}
Substituting this expression gives
\begin{align*}
(\psi \circ \varphi)(e_j)=\sum_{i=1}^{m} a_{ij}\sum_{k=1}^{p} b_{ki}g_k.
\end{align*}
Reordering the finite sums and using commutativity of $R$,
\begin{align*}
(\psi \circ \varphi)(e_j)=\sum_{k=1}^{p}\left(\sum_{i=1}^{m} b_{ki}a_{ij}\right)g_k.
\end{align*}
The coefficient of $g_k$ in this expression is the $(k,j)$-entry of the ordinary matrix product $BA$. Therefore the standard matrix of $\psi \circ \varphi$ is $BA$.
Combining injectivity, surjectivity, and the composition computation proves the stated bijection and its compatibility with ordinary matrix multiplication on column vectors.
[/step]