There's also the argument frequently made about math in schools that it's not so much about the specifics, but a way to teach people to think. I believe algorithms are excellent to teach abstraction and naming & organization are fundamentally about abstraction: what do these five functions have in common? what _is_ this thing?
I'd add that it's quite difficult to teach "naming & organization". It requires working on a large code base because the problems & benefits just aren't obvious in a typical 200-line student program. So students will have no experience of the problems you have and consequently be rather unmotivated, whereas I still remember the fascination at the genius that is the Smith=Waterman algorithm, watching it solve a problem in 10sec compared to the 1h+ that my naive solution took.
Algorithms just don't go out of style, either. If you had been taught "practical skills" in the 2000's, you'd know a lot about svn and java spring and php's $_GLOBAL, but the stuff you learnt sophomore year would have been old by graduation.
(Except svn, because Linus wouldn't have had a chance to implement git without a solid understanding of data structures and algorithms).
My view on coders who insist so vehemently that "performance ALWAYS matters!!" dims more and more every year. At this point they sound more like basement trolls than real craftsmen.
For example, consider the case of sorting. Even though asymptotically efficient algorithms have been known for about 70 years now, Timsort - the currently standard implementation found in Python, Java and probably other languages - was invented as recently as in 2002.
This is not all. What if you have multiple cores available to run your code? What if your dataset is large and locality of reference matters? What if your dataset has certain special properties which the standard implementation doesn't exploit?
I agree that maybe 99% of the time, we can get away using the standard implementation but that 1% is what differentiates great from the merely good.
If you don't have to care about it, it's because someone else did it for you. And if everyone cared a little, the web would be better place for the users(40MB for a single website maybe ?). (Not talking about other areas than web development here...)
Just think about it twice before dismissing that argument.
Aka abstraction!
Quoting SICP, abstraction is the means "by which compound elements can be named and manipulated as units"