I would agree that the best way to learn programming is to program, not just following along, but find a real problem and try to solve it, but then again, I know a lot of people who kept getting stuck because of the fear of "doing it wrong". So, yeah, watching other people do it has its merits as well.