Programming Design and Paradigm, Fall 2013