Lots of people have said that computer science students should read code as well as write it. Not many people have gone the next step and designed a course around that idea, which is why I was excited to read Jason Montojo's recent post, and the course outline he has put together. Jason did several undergrad projects with me, is one of the co-authors on Practical Programming, and plans to finish his M.Sc. in a few months---if anyone can pull this off, he can, and I'm sure he'd welcome your feedback.