It's a false comparison. Algorithms, and data structures don't have a ready, real-life examples, that a new kid from middle school can already relate to. I suppose, you can point to facebook and google and try to explain the infrastructure behind them, but he still doesn't have a way for the kid to play with and see the consequences. I also think there's a false dichotomy implicit in your question.
Actually, you learn your first algorithm in elementary school, you just call it "doing an Euclidean division by hand". You're first data structure comes a bit later, in middle school, with vectors. That are just the first among those that I thought of, there are many more.
My point still stands. You don't run into Euclidean division when you're running back home. You don't see vectors when you're waiting for the school bus to take you home. You never see Binary trees, when you're out playing. But you do see buildings and some being constructed. Not to mention the legos game.
Aka, the abstractions to concreteness is harder in CS than in Civil Engineering. It still might be a good strategy to teach some subset of all students, but as general policy for the majority it'll be horribly ineffective (I think).
People see them, they just don't recognise them as that thing — and they certainly don't know what they're called.
You're right that CS has tonnes of ridiculous terminology, that gets in the way of learning. In Mathematics, most people complete high school before they ever hit the terminology. Things have simplified names, like 'divide' and 'add', which helps 95% of the population get a better handle on it.