I just completed the Caltech Learning from Data online course (
http://work.caltech.edu/telecourse) and I recommend it to anyone serious about machine learning. It has provided me with the theoretical understanding that was somewhat missing from Andrew Ng's course. The homework's questions were very well done and also combined the right mix of theory and practical knowledge with programming exercises. What I also liked was that you could do the homework in any programming language, so now I have several ML programs that I can actually use. The teacher, Yaser Mustafa, was excellent and always accessible in the forums. The workload was also very reasonable.