Principles of Software Development class projects