I kept working on the third course in the C# series on edX. We went over insertion sort, selection sort, linear search, and binary search.
The best part about this course is the videos that show an animation of how each of these algorithms actually works. This was a topic that I struggled with a lot during my CS degree so if you are unsure of how a specific algorithms works either watch a video that steps through it piece by piece, or use a debugger to walk through the code sample. For example the video below is from the course that walks through what binary search looks like.
After going over some basic sorting and searching algorithms we moved on to algorithm analysis and I reunited with my treasured old friend; “Big O notation”.
Studying CS feels like a long lesson in futility sometimes. It is summarized by this quote form the course:
In fact, some in the industry argue that algorithm analysis is a futile task today based on computing hardware resources and the cost of programmer time to do the analysis.
Despite this, I still think the basics are worth knowing.
Functional Programming Humble Bundle
In other news, there was yet another programming related Humble Bundle this week that offers a ton of books about functional programming languages from O’Rielly. Naturally I picked it up and added it to my endless books that I may never get around to reading. For $15, this is a treasure trove so I highly recommend everyone take a look.