Office hours: Mon 14:30-15:30, Wed. 10:30-11:30 in room AB1 109.
This course has previously been offered in Spring 2011, Spring 2014, Fall 2014, Spring 2015, Spring 2016, and Summer 2016.
This course is targeted towards students who want to improve their object-oriented programming skills and experience. We mainly discuss what makes an OO software flexible, extensible, maintainable and easy to document. This is a project course where the student has to develop a program of non-trivial size.
Background: The course is built on the assumption that you know basic OO concepts, such as class, inheritance, abstract class, instantiation, interface, static vs. non-static method, public/private visibility, etc. In particular, you must have taken the CS 102 course, or equivalent.