This might be the psychology basic for developers… starting with the design 101; take some design principles and show how they are reflected in code.
45 minutes version of the talk from Allegro TechTalks #3