I am sitting in CS 3345. Data Structures and Algorithms. This is a class designed for juniors in our Computer Science program.
Right now, my professor is yapping on about how to do a merge sort. Something that I learned my sophomore year of high school. Then again my junior year. Then my senior year. I was taught it again my freshman year of college.
Now I'm a sophomore sitting in a junior course being taught how to do a merge sort for the fifth time as if this were the first time I've ever even heard of recursion.
Last week, we also went over how to do insertion sort, bubble sort, and shell sorts. All of this topics were covered in my high school courses as well as past college courses that are prerequisites for this current course.
I understand that my high school curriculum was unusual. Most of my peers didn't get the same education I got as far as computer science goes, but why repeat the concepts within your own degree plan?
Especially for something like sorting. Where there are built-in functions that not only exist, but are usually preferred. If I were to submit code to my manager containing a custom sort function, he would highlight it in red and add the comment "Why didn't you the built-in sort function. Writing your own is smelly, and I would have to have a really good reason to use my own function than the built-in method.