Programming Pitfalls
This brick looks at ethical issues around programming.
This educational unit contains:
- Ad hoc slides for your lectures
- Suggestions for examination papers and assessments
- Suggestions for in-class and take-home activities
Learning Objectives
On completion of this object, the learner will be able to:
- Demonstrate a clear understanding of the concepts and models associated with
programming errors - Critically assess and evaluate programs with potential for data bias
- Review and assess relevant literature, incorporating legislation, policy, directives,
academic journals and industry standards - Relate concepts associated with ethics to the development and evaluation of
programming error - Select and evaluate models of good programming practice that should be used to
prevent programming errors - Compare and contrast how different types of errors and why they occur
Prerequisites
None
Should I teach this?
- Suitable for teaching in Computer Science courses and any other courses including Programing modules
Possible Teaching and Assessment Approaches
The instructor guide provides some suggested approaches for examination papers, for assessments, for in-class activities, and take-home activities.
Resources

Lessons
Here you can find PowerPoint presentations to use in class.

Further Reading
- Weapons of Math Destruction by Cathy O’Neil
- 10 common programming mistakes that make you vulnerable to attack, slides by Elisa Heymann, Barton P. Miller and Jim Kupsch
- Altadmri, A., and Brown, N.C.C. (2015) 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data. SIGCSE ’15: Proceedings of the 46th ACM Technical Symposium on Computer Science Education
Evaluate your Teaching
Don’t forget to evaluate your teaching! Did the students meet the learning objectives? You can ask the class to fill a questionnaire to collect both quantitative and qualitative data. The idea is that you can always improve your lectures and the resources based on the students’ feedback.
Let us know how we did
Do you think the resources can be ameliorated? Let us know how we can do better via email or leave a comment!
Programming Pitfalls