Showing posts with label khan academy. Show all posts
Showing posts with label khan academy. Show all posts

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.