Wednesday, December 10, 2014

Algorithms on Khan Academy

Khan Academy recently announced they published an introductory module on Algorithms. While I am waiting for the "Principle of Computing" and "Algorithmic Thinking" classes on Coursera to come around again, I thought this would make a nice preparation step. I am just under halfway through with the module.

What is great:
This is a very nice introduction to algorithms. While I don't feel like I could walk into a job interview and code these from scratch, I do feel like for every one of the algos covered so far, I can give a solid description and pseudo-code to describe how they work in general.
I also liked the structure of the algorithm sections: introduce the algorithm, give a part of the implementation, and then the rest of the implementation, and finally analyze the efficiency of the algorithm.

Not so great:
The implementation sections have an specific, expected solution and gives "hints" to this solution. You won't get credit for a solution - even if all of your tests pass - until you match exactly what they "hint" at. Personally, I would find it more effective if they accepted a working solution then guided us to a more elegant solution. Moreover, there are instances in which my code matches the hint, but I am still not getting credit for it. It is just unclear if I need to do more or if there is a bug. In these cases, I wish the algorithms section was more like the rest of KA, in that there are multiple hints that increase in their help.
I also thought the section on asymptotic notation could have been clearer. I would get the right answers on the quizzes, but I wasn't always sure why that was the right answer.

Overall, this is a really good introduction. I think after working through this, a novice like me will be able to better tackle some of the more advanced algorithms courses on Udacity or Coursera and have a nice little head start.

No comments: