Program Development in Undergraduate Physics