Are trees and graphs suddenly not used anymore? Are loops and folds and calculus invalidated? I harp here once a month about how even senior Google engineers and Amazon principles don't know the optimal asymptotic time complexity for sorting 50m pairs of 32 bit unsigned numbers, as the answer changed substantially earlier this decade.
The humanities are more important than they get credit for, but this argument that everything is invalidated and industry teaches you everything is absurd.
If all one gains from a CS degree is knowing a few programming languages, they either weren't paying attention or their school's program was less than stellar.
Hogwash. If your CS program isn't teaching the general fundamentals (algorithms, data structures, basic machine architecture, compiler theory, etc) that's unfortunate. But a CS degree isn't a 4 year equivalent of a programming certificate.
We still teach all sorts of slow and inefficient sorting algorithms, because it helps to understand the core principles of sorting algorithms and computational complexity. I don't think I've ever actually used a bubble sort or a selection sort in anger, but the process of studying those algorithms taught me to reason more generally about algorithms, which is really the entire point. Computer science is a branch of mathematics; mathematics isn't really about knowing things, but about knowing how to work things out.
I suspect we'll be teaching quicksort forever, because it's a really good example of a divide and conquer algorithm.
But that's not really the premise I was responding too. Plus, I obviously enkoying being The Person In The Room talking about how the state of the art in sort puts it at linear time and right up against the edge of the information theoretical limits for bitwise comparisons.
Obsolete or not, I'd hope it remains in the collection of sorting algorithms tht are presented to students in undergraduate algorithms course. It's instructive to compare and contrast the strengths and weaknesses of these various approaches.
Do any courses include radix or discrimination sort yet? Mine sure didn't.
I've never been a fan of quicksort as an algorithm. It's more like, "Let's fit this sort option to the weird hardware constraints we arrived at instead of asking for better hardware."
I think quicksort is a fantastic illustration of the 'divide and conquer' principle and for that reason alone it deserves a spot in any kind of CS course. Besides that it is also a fairly good sorting algorithm with an interesting pathological case that is fortunately reasonably easy to test for. All in all, as a good first start when you need to sort stuff quicksort does just fine.
Most of the CS students learn in school will be obsolete in a few years, and they probably won’t be using it in their job anyway.
But the humanities they learn will be useful their whole lives.