I'm suggesting teaching the foundations of mathematics. I would pick a system like:
- ETCS (Elementary Theory of the Category of Sets),
- HoTT (Homotopy Type Theory),
- Dependent Type Theory,
- ZFC?
I suggest this can conclude with one of:
- The theory of cardinal numbers.
- Defining the arithmetic operations on $\mathbb N, \mathbb Q, \mathbb R, \mathbb C$ and proving their identities.
- I'm perhaps overly idealistic, but perhaps some funky topos theory: Nonstandard Analysis? Synthetic Differential Geometry? Synthetic Computability?
Advantages:
They'll learn mathematical notation and terminology. People who don't learn this notation and terminology might otherwise struggle with more advanced maths. Examples of terms they'll learn: Functions, tuples, Cartesian product, sets, subsets, natural number, etc.
They'll learn a proof calculus like Natural Deduction, along with proof by induction. These are idealised, general and rigorous models (imitations?) of the proofs constructed by actual human beings.
Has some link to topics like Functional Programming.
Disadvantages:
Not sure how this can help most engineers.
No overlap with geometry.
No help with calculus, except clarifying some basic terms.
Could be accused of being pedantic.
Questions:
Will students or teachers find this easy to learn or teach?
Where are the problems to solve? ---- Here I suggest cardinal numbers might provide a small problem list.