4 ms·
I would love to see an article on this topic - this one is not it though. The reason: we struggle at many major universities to determine this balance. On the o
by Upvoter33 9y ago
I would love to see an article on this topic - this one is not it though. The reason: we struggle at many major universities to determine this balance. On the one hand, students need a lot of CS in order to become mildly proficient; there is just so much to learn. On the other, school is a last chance to expose students to some of the big ideas of the world, the stuff (as Keating says in Dead Poets) that makes life worth living. How can you do both in 4 short years?
- mcphage 9y ago> On the one hand, students need a lot of CS in order to become mildly proficient 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.
- yareally 9y agoIf 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.
- adamnemecek 9y agoThat’s just not true.
- jdietrich 9y agoIf it becomes obsolete, then it isn't computer science.
- KirinDave 9y agoWe could argue quicksort could be rendered obsolete soon.
- metaobject 9y agoObsolete 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.
- KirinDave 9y agoDo 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."
- jacquesm 9y agoI 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.
- KirinDave 9y agoI don't disagree that it has didactic value. I think in industry its time is probably going to decline.
- jdietrich 9y agoWe 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.
- KirinDave 9y agoWhat exactly goes obsolete? 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.
- metaobject 9y agoHogwash. 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.
- junkscience2017 9y agoHigh school is where students should be getting their breadth. At some point you have to learn what you will do, and balance that out with a realization that more and more school just equals more and more debt. I would actually like to see the opposite...get rid of all elective coursework and try to graduate students in two years. They'll have an incomplete education, but we all have incomplete educations. If anything, we as a society and as individuals are creating more harm by pointlessly overeducating ourselves.