By the way, Gregor Kiczales's Coursera courses have moved to Edx.org. I followed the first one, very rewarding experience as a beginner.
second part started last week.
>"In parallel, these core courses on programming insist on presenting programming as a people discipline. Students find out that people write programs to inform other people of ideas. Working with compilers and interpreters also teaches them that these tools provide only shallow feedback. For true insight, they must turn to other people."
Thus, programs must be written for people to read, and only incidentally for machines to execute