Thinking Forth is a wonderful book- even if you don't see yourself writing applications in Forth, it contains many insights that can be applied to programming in any language. As it turns out, Forth is a particularly good language for illustrating architectural tradeoffs because you can demonstrate ideas like factoring and API design with extremely short pieces of (idiomatic!) example code.
If I had an opportunity to teach an introductory software engineering course, I would strongly consider using Thinking Forth as a textbook.
If I had an opportunity to teach an introductory software engineering course, I would strongly consider using Thinking Forth as a textbook.