ND Computer Science Code of Ethics

Developed by Adrian Gerbaud, Emily Claps, Jack Magiera, & Lucinda Krahl


“The mind will not be cultivated at the expense of the heart.” Bl. Basil Moreau


Reflecting the Values of the University…

1.1 – Pursue and share the truth for its own sake to contribute to inquiry, open discussion, and creativity.

The University of Notre Dame is dedicated to the provision of a forum of conversation, engagement, and human scholarship. Therefore, it is the responsibility of a Computer Science/Engineering student to prioritize his or her role as a student to participate in this forum and uphold the mission of the University. In this same vein, it is crucial that the student not only attends classes, lectures, labs, etc. but also engages with the education provided by the University. Education is an active vocation, not a passive one.

1.2Remain true to your uniqueness as well as your academic interests and skills.

Part of what makes the University so rich in intellectual exchange is the intersection of various lines of Catholic thought voiced by diverse scholars and students. Notre Dame would not be what it is today without the presence of the variety of people it calls family. Due to this fact, it is essential that Computer Science students uphold this value of diversity by embracing their uniqueness and human creativity. On the flipside, this diversity must be respected.

1.3 – Respect academic freedom as an objective of Notre Dame.

Although Notre Dame is a Catholic University, it does not ask its scholars and students to have a particular religious affiliation. It does, however, ask for a willingness to enter into the conversation of inquiry and meaning that gives the University its life and character.

1.4 – “…develop innovations that can improve the health, well-being, and quality of life for all persons.” – College of Engineering

The College of Engineering specifically embodies innovation that can better society and ultimately affect positive change in the world. Although students completing their undergraduate degrees have much to learn before they can make such a difference, it is their responsibility moving forward beyond Notre Dame to develop their own mission and vision for a better world.


To Be a Good Person…

1.1 – Strive to use your God-given abilities and opportunities to do good.

Be a powerful force for good. You have God-given abilities that you can use to develop technologies and software that will make people’s lives better. Always think about your potential for good when deciding what kind of work to do, whether it’s starting at a new job, a new project, or starting a company.

1.2 – Ask “Why?” before “How?”

When you are writing a piece code, ask yourself, “Why am I doing this? What will its end use be? Will the code I am writing intentionally or even unintentionally hurt others?”

1.3 – Give credit where credit is due.

Computer Science is a field in which it is extremely easy to plagiarize and/or copy code from online sources. If you collaborate with a friend or use another developer’s code, make note of it within the work.

1.4  – Provide aid to other coders who need help.

Computer Science is a collaborative and transparent industry. It is your obligation to offer a helping hand when you see a classmate or coworker struggling with a project. Do not give them the answer, but help them find their own solution.

1.5 – Honor assigned responsibilities in group projects and distribute the amount of work fairly.

Group projects are a necessary part of the Notre Dame Computer Science education. Distribute work fairly among the group members. If there are time conflicts that arise, communicate with the group members, find a compromise, and make up for any work that you miss. Pull your weight.

Likewise, don’t over-commit. If you say you are going to do something, do it! Be careful with biting more than you can chew.

1.6 – Respect differences among peers, and take action to not discriminate.

As a part of the Notre Dame community, it is your responsibility as a student in collaboration with others to not discriminate on the basis of race, sex, religion, age, disability, national origin, or other such factors. Doing otherwise hinders the development of an open and accepting atmosphere of learning for which the University of Notre Dame strives.

1.7 Respect professors, faculty, and staff.

Adhere to what is agreed upon in the syllabus, respect assignment and project deadlines, ask questions when necessary, and prepare for the specified lectures and exams. Pay attention in lectures and adhere to honesty in communicating with the professor. If you’ve made an appointment to meet with the professor during their office hours, be there.


 

To Be a Good Coder…

1.1 – Take pride in the quality of your work!

This rule embodies the most important aspect of being a good Computer Science student. Do not settle for mediocrity. Strive to perform to the best of your abilities, and know that the time and effort you invest now to excel in computer science will be beneficial not only to you but to others in your future job(s). The code that you write could potentially affect other people’s own work, their lives, and their safety. A proud and ethical coder does not take shortcuts. Maintain a standard of work that meets all safety and quality requirements.

1.2 – Do not use Comic Sans as a font or nano as a text editor.

No explanation needed.

1.3 – Be stylistically consistent in your coding.

Indenting and how you format parentheses greatly varies from person to person. You know it. We know it. Just be consistent. This not only keeps your code clean and organized for yourself when you return to the file, but it also makes interpretation of the code by other developers easier to read and understand. Help yourself and help your fellow Computer Science/Engineering peers.

1.4 – Use appropriate variable names.

Be clear and concise in assigning variable and function names, and be sure to have a reasonable method for this process. Be more specific than $total, $total1, and $total2.

1.5 – Clean up your memory leaks.

Repeat after me: “New and delete. Malloc and free. New and delete. Malloc and free.” Free the allocated memory in your code once it is done being used! Otherwise, resource leaks occur in which a computer program incorrectly manages memory allocations; in other words, memory that is no longer needed is not released. Failing to clean memory leaks has several consequences, including reduction in amount of available memory as well as diminished computer performance.

1.6 – Comment properly.

Comment your code so that other developers who read it later can understand the work that you did to make the program(s) run properly! Don’t over-comment either. I don’t need to know that you are “// initializing variables.” Use comments to specify why the code works. While comments are neither inherently good nor bad, they are often used as a crutch when they needn’t be. When in doubt, write your code as if comments did not exist. In conjunction with rule 1.4, this then forces you to code in the simplest, clearest, and most self-explanatory way possible.


 

Give back as much as you have been so generously given.


 

References:

https://engineering.nd.edu/about/visionmission

https://www.nd.edu/about/mission-statement/

1 comment

Leave a comment