> The reason I found it hard was because I had to learn Octave while also understanding the algorithms and general ml concepts.
I had the same experience, even after using Matlab some in grad school. I wish I had seen this before trying Ng's course (all of the exercises in Python):
http://www.johnwittenauer.net/machine-learning-exercises-in-...
So much quicker / easier to follow, at least for me.