In my Algorithm class, we had to implement our own sorting algorithm as an exercise in pseudocode. It was very simple: Alternatingly iterate over an array from beginning to end and from end to beginning, always swapping pairs over numbers which are not correctly sorted. Repeat until finished.
In Python (you can also [cached]download a runnable versionspan)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 

Of course, I wasn't content with just a pseudo code implementation, so I set out to write something more tangible. Here's the result  a sort visualization using [cached]D3, an awesome JavaScript library for datadriven manipulation. "Selection Sort" is what you'd expect, and "AlgoDat Sort" is the algorithm described above.
Steps so far: 0
Tags: programming, university