Planning and Implementing Departmental Changes To Programming and Teaching Practices