In the coming spring semester I will be teaching for the first time an introductory (graduate) course in Commutative Algebra. As many people know, I have been plugging away for a while at this subject and keeping my own lecture notes. So I feel relatively prepared to teach the course in the sense that I know more than enough theorems and proofs to cover. However, there is more to teaching a graduate course than just theorems and proofs. Commutative algebra has a reputation for being somewhat dry and unmotivated. After something like 10 years of hard work (over a period of about 15 years!), I am at a point where I find the subject both interesting in and of itself and useful. But how to communicate this to students?
Looking through my notes, the technicalities begin with the introduction of various fundamental classes of modules, especially free, projective and flat modules (but also including other things like finite generation and finite presentation). I remember well that when I first learned this material, projective and (especially) flat modules were a tough sell: for instance, the first time I picked up Bourbaki's Commutative Algebra out of curiosity, I saw that the very first chapter was on flat modules, and I put it down in horror.
How would you introduce these concepts to an early career graduate student? What are the fundamental differences between these classes of modules, and why do we care?
Here are some of my preliminary thoughts:
1) Free modules are of course an easy sell: for such things the usual notions of linear algebra work well, including that of dimension (called "rank" in this case: note that my rings are commutative!). One can easily prove that for a commutative ring R, all R-modules are free iff R is a field, so the need to move beyond free modules is easily linked to the ideal theory of R.
2) Projective modules are important for at least the following reasons.
a) Geometric: A finitely generated module over a ring R is projective iff it is locally free (in the stronger sense of an open cover of $\operatorname{Spec} R$). In other words, projective modules are the way to express vector bundles in algebraic language. I plan to drive this point home by discussing Swan's theorem on modules over $C^{\infty}(M)$.
b) Homological: projective modules play a distinguished role in homological algebra, i.e., in the construction of left-derived functors.
c) K-theoretic: It is of interest to know to what extent finitely generated projective modules must be free. This leads to the construction of $K_0(R)$ -- i.e., stable isomorphism classes of projective modules -- and in the rank one case, to the Picard group $\operatorname{Pic}(R)$.
(After writing the above, I feel that in some sense it is a good enough answer -- certainly these are three important reasons for studying projective modules. But I'm not sure how to explain them to beginning students. Let's be clear that this is part of the question.)
3) Flat modules: this is harder to explain!
a) Geometric: Flatness is the "right" condition for things to vary nicely in families, but this is more of a mantra than an explanation. I think that most people hear this at one point and come to believe and understand it slowly over time.
b) Homological: Flat modules are those which are acyclic for the Tor functors. But this is not a homological algebra course: I would be happiest not to mention Tor at all.
c) Near equivalence with projective modules in the finitely generated case: the difference between finitely generated flat and finitely generated projective modules is very subtle. Recall for instance:
Theorem: For a finitely generated flat module $M$ over a commutative ring $R$, TFAE:
(i) $M$ is projective.
(ii) $M$ is finitely presented.
(iii) The associated rank function is locally constant.
Thus in almost all of the cases of importance to a beginning algebra student -- e.g. if $R$ is Noetherian or is an integral domain -- finitely generated flat modules are projective.
d) However infinitely generated flat modules are a much bigger class, since flatness is preserved under direct limits. In particular, there are large classes of domains $R$ for which a module is flat iff it is torsionfree (namely this holds iff $R$ is a Prufer domain; even the case $R = \mathbb{Z}$ is useful). Perhaps this is significant?
Your insight will be much appreciated.
Update: the prevailing sentiment of the answers thus far seems to be that a very little bit of homological algebra will go a long way in presenting the basic definitions in a unified and useful way. Duly noted.