This is a good read for those who just want a broad overview and working code for some interesting machine learning problems. It's not too realistic, but will get the ball rolling. For those who want to delve further, I would suggest reading through the Netflix Prize forums and perhaps even try implementing some of the code thrown around there. You will learn a lot by tackling a problem of that scale.