[This is a draft] [This is not endorsed by my employer]
To the management of the School of CSE,
I'm writing this letter in regards to COMP4920 (and it's other name, SENG4920), and more generally to address concerns about the state of ethics education in CSE courses. I feel strongly that the school is not doing enough to teach Ethics, and that allowing graduates to leave the university without a comprehensive ethical education is doing a disservice to the world. If done right, the fact that graduates have ethical backbone could be one of this University's greatest selling points.
I believe that it is our obligation to be ethical programmers, and it is the School's obligation to foster ethics. Even if this requires reshaping the curriculum, the change that such shake-ups incurr should not be considered too high a price to pay for ethical students.
This letter will cover three major areas of concern, and propose solutions to each.
- The lack of ethical education in the curriculum in general
- The lack of stated ethical principles by the school
- The lack of practical education in COMP4920
The lack of ethical education in the curriculum.
As it stands, the only courses that mention ethics at all are the security courses (COMP64), and COMP4920. As the security courses are not core, the only required ethical education is in COMP4920.
By itself, this is a significant issue - one semester of ethics education cannot be enough to affect people's behaviour in a meaningful way. Furthermore, one of the lessons we have learned in our ethics classes (or should have learned, at least) is that you cannot leave ethics to the final section of a project, and that ethics is not a box to tick. It is ironic then that Ethics education has become a box ticked at the end of a degree, with no mention in the three years before. How would our ethics tutors react if we suggested that the way we design our projects was to spend 3 years on designing a product, and then perform some ethics check at the end? I doubt they would approve.
What's more, the curriculum itself ignores a crucial truth about software -- some software should not be written. Leaving the school, a student could be forgiven for thinking that the solution to every problem was another software program. We are never told "in this situation, you need a human to intervene", or given a problem and asked to manually review it.
Apart from anything else, I think even were we to make significant changes to the curriculum, it does not fix the fact that graduates of a university are not capable of making ethical decisions in software by ourselves. We do everyone a dis-service when we make anyone feel like they graduate with a realistic understanding of ethics, and yet that's what we're told "you've passed ethics, you are now Ethical". It closes our minds to the true issue of ethics -- that we are always facing ethical situations and we are rarely capable of handling them alone. Especially in certain areas of research, the school should be clear that a 5 or 10 week ethics course is not sufficient, and provide graduate training and push students to get mentoring in their workplace.
- Every course should, at some point, acknowledge the ethical implications of the discipline in a material way.
- More discussion should be had on how to design the curriculum such that students do not leave with the impression that software is a panacea, and that they have a real appreciation for their need to apprentice themselves, and associate with industry bodies.
The lack of stated ethical principles from the school
A University, and the academics from within it, has a responsibility to society to promote ethics. Yet, not once during my degree have I heard a commitment from any university lecturer on this topic. The school should endorse some ethical positions, and make them known to the student body -- does the school believe that gender and ethnocultural diversity are essential to the creation of ethical software? They should say so. Does the school believe that joining a professional association and accepting their codes of ethics is essential? Then I, and every one of my classmates should be told that there is a code of ethics for what they're doing, and it will be in the test, and they should expect to apply it.
- That the school should adopt a statement on ethical behaviour by computer scientists. This policy should
- The school's position on the necessity of diversity of sex and ethnicity for the development of ethical software.
- That some software should not be written, and that all software has ethical implications that must be considered.
- An ethical code that the school endorses for it's students, staff and graduates.
- A commitment by the school to make ethics a fundamental part of our education, not just an add-on.
- This statement should then be made clear to students in the beginning of their studies, and reinforced throughout.
- That the school provide ethical role-models to students, and encourage lecturers and practitioners to discuss and promote ethics.
The lack of Practical Education in COMP4920
For context, here are the assessible tasks in COMP4920:
- Write 4 lecture summaries, watching a lecture regarding some ethical issue, then summarizing it into five major ideas. These summaries are then marked by peers, and you are given the opportunity to review those marks and ask a tutor to moderate them if necessary.
- Write reflections on each week's seminar. The first three seminars contain content managed by a tutor, case studies of ethical issues.
- The other six seminars are divided into two one-hour blocks, and the class split into groups. Each group then chooses an ethical issue, and presents on it.
Prima facie, this is a course that uses modern educational theory to it's maximum -- asking students to review eachother's work; and to run seminars. The idea that students learn by reviewing other's work is, in the abstract, sensible. Unfortunately, the one time when we should not ask students to teach, and review their peer's work is when we are attempting to teach a subject like ethics, where we should be guided by, and reviewed by, people who actually know what they are doing.
We are, in theory, taught ethics from first principles -- studying the great writers like Kant and Hobbes. In practice, we are given a two hour lecture on the cliff-notes of these writers. I do not see how these cliff-notes could hope to prepare anyone for making an actual ethical decision. We have not read any of their works, and a ten-minute introduction in a two hour lecture is not sufficient to help anyone.
What actually happens is that students learn to parrot words like "utilitarian" and "kantian", and identify some ethical concerns in a problem, and then justify them either way. I would compare it to teaching someone to drive a car by showing them the mechanism of the engine. It's simply not useful to a modern engineer to talk about these theories in the abstract.
What is conspicuously absent from this course?
- An assignment that considers what a student would do in an ethical dilemma presented to them. Asking them what strategies they would use to ensure they acted ethically.
- A simulation of them telling their boss that they disapprove of a project, and standing up for what they believe is right.
- Deciding what issues they think are important, and what they would quit their job over.
- Studies of how real teams have followed the road paved with good intentions, and lessons learned.
- Any statement from the School on what our ethical principles are.
- Any training on equity, diversity and inclusion.
- Any mention of how to actually find an expert, or to find ethical information.
Tech companies are only starting to appreciate how important EDI actually is, and yet our training is nowhere to be found.
- That, as soon as possible, SENG should get a dedicated Ethics course, and software engineering should have ethics integrated with all its' courses.
- That the ethics courses for all engineering disciplines should be redesigned to be more practical, leaving graduates ready to actually face ethical quandries.
- That EDI training should be part of graduating from this course.
- That this course should be prescriptive enough that nobody is in any doubt of the School's position of the importance of diversity in software projects.
A note on SENG4920
I just want to add that for our engineering colleagues (who, bearing the name "engineer" perhaps should hold higher standards than Computer Science students) are given half as much time to study ethics. This under the idea that "we need to teach both project management and ethics in one ten week course".