Yes, very much yes! Compiler pipeline is highly decomposable and can be taught in pretty much any order. Which one to teach first is really the matter of importance (like, I learned physics by starting with dynamics and as a result I have a good understanding of dynamics but not much for subsequent topics like thermodynamics, optics or electomagnetism...). I do agree the importance of parsing is currently overstated, but its solution has to be topic-agnostic as you can't build compilers only with parsing or codegen.
It teaches in increasing complexity.
You start by writing the whole pipeline for straight line code. Then you add branches, and structs, and functions, in succession.
This bypasses the whole "which direction?" debate.
https://www.cs.cmu.edu/afs/cs/academic/class/15411-f20/www/a...