Definitions and Basics
Four properties:
 \(r(x+y) = rx + ry\)
 \((r+s)x = rs + sx\)
 \((rs)x= r(s(x))\)
 \(1_Rx = x\)
Note that \(M\) is additionally an \(R{\hbox{}}\)algebra if the multiplication map is \(R{\hbox{}}\)bilinear and so given by \(m: M^{\otimes_R 2}\to M\) satisfying \begin{align*} r. m(a\otimes b) = m(r.a \otimes b) = m(a\otimes r.b) && \forall r\in R, a,b \in M .\end{align*}
\(N\subseteq M\) is an \(R{\hbox{}}\)submodule iff \(N\) is nonempty and for every \(r\in R\) and \(x, y \in N\), we have \(rx+y\in N\).
A map \(f: M\to N\) is a morphism of modules iff \(f(rm + n) = rf(m) + f(n)\).
A map \(\phi: M\to N\) is a morphism in \({}_{R}{\mathsf{Mod}}\) iff \begin{align*} \phi(r.x + y) = r.\phi(x) + \phi(y) \in N && \forall r\in R, x,y\in M .\end{align*}
Quotients of modules are easier to reason about additively, writing \(M/N = \left\{{x + N}\right\}\) as cosets. Then \((x + N) + (y + N) = (x+y) + N\) and \((x+N)(y+N) = (xy) + N\).
A module is simple iff it has no nontrivial proper submodules.
A module \(M\) is decomposable iff it admits a direct sum decomposition \(M \cong M_1 \oplus M_2\) with \(M_1, M_2 \neq 0\). An indecomposable module is defined in the obvious way.
A module \(M\) is cyclic if there exists a single generator \(m\in M\) such that \(M = mR \coloneqq\left\langle{ m }\right\rangle\).
Structure Theorems
\begin{align*} M / \ker \phi &\cong \operatorname{im}\phi \\ {A+B \over B} &\cong {A\over A \cap B} \\ {M/A \over B/A} &\cong {M\over B} \\ \left\{{\substack{ \text{Submodules of } M \\ \text{containing }N }}\right\} &\rightleftharpoons \left\{{\substack{ \text{Submodules of } M/N }}\right\} \\ A &\rightleftharpoons A/N .\end{align*}
Note that the lattice correspondence commutes with sums and intersections of submodules.
If \(M_1, M_2 \leq M\) are submodules, then \(M = M_1 \oplus M_2\) if the following conditions hold:
 \(M_1 + M_2 = M\)
 \(M_1 \cap M_2 = 0\)
Exact Sequences
A sequence of \(R{\hbox{}}\)module morphisms \begin{align*} 0 \xrightarrow{d_1} A \xrightarrow{d_2} B \xrightarrow{d_3} C \to 0 \end{align*} is exact iff \(\operatorname{im}d_i = \ker d_{i+1}\).
Note that \(C\cong B/d_1(A)\) always, but \(B\) is not a direct sum of the outer terms unless the sequence splits.
A short exact sequence \begin{align*} \xi: 0 \to A \xrightarrow{d_1} B \xrightarrow{d_2} C \to 0 \end{align*} has a rightsplitting iff there exists a map \(s: C\to B\) such that \(d_2 \circ s = \operatorname{id}_{C}\). \(\xi\) has a leftsplitting iff there exists a map \(t:B\to A\) such that \(t \circ d_1 = \operatorname{id}_A\).
Let \(\xi: 0 \to A \xrightarrow{d_1} B \xrightarrow{d_2} C \to 0\) be a SES, then TFAE
 \(\xi\) admits a rightsplitting \(s: C\to B\).
 \(C\) is projective.
 \(\xi\) admits a leftsplitting \(t: B\to A\).
 \(A\) is injective.
 \(\xi\) is isomorphic to a SES of the form \(0\to A \to A \oplus C \to C \to 0\).
Rightsplitting implies direct sum:
 Use that \(B \subset \ker d_2 + \operatorname{im}s\), writing \(b = (b  sd_2(b) ) + sd_2(b)\) and noting \begin{align*} d_2(b  sd_2(b)) = d_2(b)  d_2sd_2(b) = d_2(b)  d_2(b) = 0 .\end{align*}
 Show \(\ker d_2 \cap\operatorname{im}s=0\), writing \(b\) with \(d_2(b) = 0\) and \(b = s(c)\) for some \(c\) yields \begin{align*} 0 = d_2(b) = d_2s(c) = \operatorname{id}_C(c) = c .\end{align*}
Free and Projective Modules
A free module \(M\) is a module satisfying any of the following conditions:
 A universal property: There is a set \(\mathcal{B}\) and a set map \(M \xrightarrow{\iota} \mathcal{B}\) such that every set map \(\mathcal{B} \xrightarrow{N}\) lifts:

Existence of a basis:
There is linearly independent (so \(\sum r_i \beta_i = 0 \implies r_i = 0\)) spanning set (so \(m\in M \implies m = \sum r_i \beta_i\) ) of the form \(\mathcal{B} \coloneqq\left\{{ \beta_i }\right\}_{i\in I}\),

Direct sum decomposition:
\(M\) decomposes as \(M \cong \bigoplus_{i\in I} \beta_i R\), a sum of cyclic submodules.
\({\mathbf{Z}}/6\) is a \({\mathbf{Z}}{\hbox{}}\)module that is not free, since the element \([3]\) is a torsion element, where \(2[3] = [6] = [0]\). This uses the fact that free modules over a PID are torsionfree.
If a module \(M\) is free, the free rank of \(M\) is the cardinality of any basis.
Every free \(R{\hbox{}}\)module admits a basis (spanning \(R{\hbox{}}\)linearly independent set).
An element \(m\in M\) is a torsion element if there exists a nonzero \(r\in R\) such that \(rm = 0_M\). A module \(M\) is torsionfree if and only if for every \(x\in M\), \(mx = 0_M \implies m=0_M\), i.e. \(M\) has no nonzero torsion elements. Equivalently, defining \(M_t \coloneqq\left\{{ m\in M {~\mathrel{\Big\vert}~}\exists r\in R, rm = 0_M }\right\}\) as the set of all torsion elements, \(M\) is torsion free iff \(M_t = 0\). If \(M_t = M\), we say \(M\) is a torsion module.
For \(R\) an integral domain, any finitely generated free \(R{\hbox{}}\)module \(M\) is torsionfree.
 If \(M\) is finitely generated, write \(M = \left\langle{X}\right\rangle\) with \(X\coloneqq\left\{{x_1, \cdots, x_m}\right\}\) and \({\sharp}X<\infty\) a finite generating set.
 Since \(M\) is free, there is some maximal subset of generators \({\mathcal{B}}\coloneqq\left\{{x_1, \cdots, x_n}\right\} \subseteq X\) where \(n\leq m\) that is linearly independent.
 Consider \(N\leq M\) defined by \(\left\langle{{\mathcal{B}}}\right\rangle\); this is a basis for \(N\) and makes \(N\) free. The claim is now that \(M\cong N\), so that any maximal linearly independent subset of generators is all of \(X\).
 If \(N \not\cong M\), set \({\mathcal{B}}^c \coloneqq X\setminus{\mathcal{B}}= \left\{{x_{n+1}, \cdots, x_m}\right\}\) to be all generators for \(M\) that the basis \({\mathcal{B}}\) misses.
 Then \({\mathcal{B}}^c \cup\left\{{x_{j}}\right\}\) for any \(n+1\leq j \leq m\) has a linear dependence, and \(r_j x_j + \sum_{k=1}^n r_n x_n = 0\) for some \(r_j\neq 0\) implies \(r_j x_j =  \sum_{k=1}^n r_n x_n\).
 Let \(r\) be the product of all of the scalars obtained this way, so \(r = \prod_{k=n+1}^m r_j\), and consider the submodule \(rX \leq N \leq M\). We get \(rM \leq N \leq M\) since \(X\) is a generating set for \(M\), so it now suffices to show \(rM \cong M\).
 Just define a map \(\phi_r: M\twoheadrightarrow rM\) where \(m\mapsto rm\), and note \(\ker \phi_r =\left\{{ m\in M {~\mathrel{\Big\vert}~}rm = 0}\right\} = 0\) since \(M\) is torsionfree. So \(M = M/\ker \phi_r \cong rM\).
\({\mathbf{Q}}\in {}_{{\mathbf{Z}}}{\mathsf{Mod}}\) is torsionfree, but not free as a \({\mathbf{Z}}{\hbox{}}\)module. This follows because any two elements \(a/b, p/q\) are in a single ideal, since taking \(d\coloneqq\gcd(b, q)\) we have \(1/a = 1/d + \cdots 1/d\) and similarly \(p/q = 1/a + \cdots + 1/a\), so these are in \(\left\langle{ 1/d }\right\rangle\). So any basis has size one, which would mean \({\mathbf{Q}}= \left\{{ \pm 1/d, \pm 2/d, \cdots }\right\}\) which in particular doesn’t include the average of the first two terms.
A module \(P\) is projective iff it satisfies any of the following conditions:
 A universal property: for every surjective \(N \xrightarrow{g} M\) and \(P \xrightarrow{f} M\), the following lift exists:

Direct summand:
\(P\) is a direct summand of a free module \(F\), so \(F = P \oplus T\) for some module \(T\leq F\).

Splitting:
For every SES \(0\to A\to B\to P\to 0\), there is a right section \(P\to B\) such that \(P\to B\to P = \operatorname{id}_P\).
Note that this implies \(B\cong \operatorname{im}(P\to B) \oplus \ker(B\to P)\).

Exactness:
The (always leftexact) covariant hom functor \(\mathop{\mathrm{Hom}}(P, {})\) is rightexact.
There is a nice way to remember the right diagrams for injective and projective modules. The slogan is that morphisms out of a projective module can be pulled back through epimorphisms/surjections, and morphisms into an injective module can be pushed forward through monomorphisms/injections.
Any free \(M\in {}_{R}{\mathsf{Mod}}\) is projective.
 Let \(M\) be free, so that the universal property gives us this diagram:
 To show \(M\) is projective, we need to produce a lift in the following diagram, where \(B, C\) are arbitrary:
 It suffices to produce a map \(\mathcal{B}\to B\), since the universal property then provides \(M\to B\). Here’s the schematic:
 Here we write \({\mathcal{B}}\coloneqq\left\{{e_i}\right\}\), included into \(M\), and mapped by \(f\) to \(C\). Then use surjectivity to choose preimages in \(B\) under \(g\) arbitrarily, and this defines a morphism \({\mathcal{B}}\to B\).
Let \(R_1, R_2\) be two nontrivial rings and set \(R \coloneqq R_1 \oplus R_2\). Then \(R_1, R_2\) are projective \(R{\hbox{}}\)modules by construction, but each factor contains \(R{\hbox{}}\)torsion: setting \(e \coloneqq(0, 1) \in R\) we have \(e \curvearrowright R_1 = 0_{R_1}\). Since free implies torsionfree, \(R_1\) can not be a free \(R{\hbox{}}\)module.
Classification of Modules over a PID
Let \(M\) be a finitely generated modules over a PID \(R\). Then there is an invariant factor decomposition
\begin{align*} M \cong F \bigoplus_{i=1}^m R/(r_i) \quad\text{where } r_1 \divides r_2 \divides \cdots \end{align*}
and similarly an elementary divisor decomposition: \begin{align*} M \cong F \bigoplus_{i=1}^n R/ \left\langle{p_i^{e_i}}\right\rangle \end{align*} where \(F\) is free of finite rank and the \(p_i\) are not necessarily distinct primes in \(R\).
If \(I {~\trianglelefteq~}R\) is an ideal of \(R\), then \(I\) is a free \(R{\hbox{}}\)module iff \(I\) is a principal ideal.
\(\implies\):
Suppose \(I\) is free as an \(R{\hbox{}}\)module, and let \(B = \left\{{\mathbf{m}_j}\right\}_{j\in J} \subseteq I\) be a basis so we can write \(M = \left\langle{B}\right\rangle\). Suppose that \({\left\lvert {B} \right\rvert} \geq 2\), so we can pick at least 2 basis elements \(\mathbf{m}_1\neq \mathbf{m}_2\), and consider \begin{align*} \mathbf{c} = \mathbf{m}_1 \mathbf{m}_2  \mathbf{m}_2 \mathbf{m}_1, \end{align*}
which is also an element of \(M\) . Since \(R\) is an integral domain, \(R\) is commutative, and so \begin{align*} \mathbf{c} = \mathbf{m}_1 \mathbf{m}_2  \mathbf{m}_2 \mathbf{m}_1 = \mathbf{m}_1 \mathbf{m}_2  \mathbf{m}_1 \mathbf{m}_2 = \mathbf{0}_M \end{align*}
However, this exhibits a linear dependence between \(\mathbf{m}_1\) and \(\mathbf{m}_2\), namely that there exist \(\alpha_1, \alpha_2 \neq 0_R\) such that \(\alpha_1 \mathbf{m}_1 + \alpha_2 \mathbf{m}_2 = \mathbf{0}_M\); this follows because \(M \subset R\) means that we can take \(\alpha_1 = m_2, \alpha_2 = m_1\). This contradicts the assumption that \(B\) was a basis, so we must have \({\left\lvert {B} \right\rvert} = 1\) and so \(B = \left\{{\mathbf{m}}\right\}\) for some \(\mathbf{m} \in I\). But then \(M = \left\langle{B}\right\rangle = \left\langle{\mathbf{m}}\right\rangle\) is generated by a single element, so \(M\) is principal.
\(\impliedby\): Suppose \(M{~\trianglelefteq~}R\) is principal, so \(M = \left\langle{\mathbf{m}}\right\rangle\) for some \(\mathbf{m} \neq \mathbf{0}_M \in M \subset R\).
Then \(x\in M \implies x = \alpha\mathbf{m}\) for some element \(\alpha\in R\) and we just need to show that \(\alpha\mathbf{m} = \mathbf{0}_M \implies \alpha = 0_R\) in order for \(\left\{{\mathbf{m}}\right\}\) to be a basis for \(M\), making \(M\) a free \(R{\hbox{}}\)module. But since \(M \subset R\), we have \(\alpha, m \in R\) and \(\mathbf{0}_M = 0_R\), and since \(R\) is an integral domain, we have \(\alpha m = 0_R \implies \alpha = 0_R\) or \(m = 0_R\). Since \(m \neq 0_R\), this forces \(\alpha = 0_R\), which allows \(\left\{{m}\right\}\) to be a linearly independent set and thus a basis for \(M\) as an \(R{\hbox{}}\)module.
This says every module \(M\) decomposes as \(M \cong F_M \oplus M_t\) where \(F_M\) is free (and thus torsionfree) and \(M_t\) is torsion, and moreover \(F_M \cong M/M_t\).
That \(M/M_t\) is torsionfree: suppose \(r(m+ M_t) = M_t\), so \(rm\in M_t\) is torsion. Then \(r'(rm)=0\) for some \(r'\), making \(m\) torsion, and \(m+ M_t = M_t\) is the zero coset.
That \(F_M \cong M/M_t\): take the SES \(0\to M_t\to M \to F\to 0\) to get \(F\cong M/M_t\). This splits since \(F\) is free and thus projective, so \(F\cong M \oplus M_t\).
Algebraic Properties
\begin{align*} r\curvearrowright(m\otimes n) \coloneqq(r\curvearrowright m)\otimes n .\end{align*}
If \(\dim_k V, \dim_k W < \infty\) then there is an isomorphism \begin{align*} V {}^{ \vee }\otimes_k W &\xrightarrow{\sim} \mathop{\mathrm{Hom}}_{ {}_{k}{\mathsf{Mod}}}(V, W) \\ \tilde v \otimes w &\mapsto \tilde v({}) w .\end{align*}
If either of \(\dim_k V, \dim_k W\) is finite, then \begin{align*} V {}^{ \vee }\otimes_k W {}^{ \vee }&\xrightarrow{\sim} (V\otimes W) {}^{ \vee }\\ v\otimes w &\mapsto (x \otimes y \mapsto v(x) w(y)) .\end{align*}
\begin{align*} \mathop{\mathrm{Hom}}_{ {}_{k}{\mathsf{Mod}}}(V, W) &\xrightarrow{\sim} \mathop{\mathrm{Hom}}_{ {}_{k}{\mathsf{Mod}}}(W, V) {}^{ \vee }\\ T &\mapsto \operatorname{Tr}(T \circ {}) .\end{align*}
If \(T:V \hookrightarrow W\) is injective, then \(T\otimes\one_X: V\otimes X \hookrightarrow W\otimes X\) is also injective for any \(X\). Thus \(F({}) = ({}\otimes X)\) is rightexact for any \(X\).