Object Oriented Software Design, Spring 2013,  Hsuan-Tien Lin