Designing programming assignments to reduce the likelihood of cheating

- Simon