Academic honesty guidelines

Students often have difficulty understanding how principles of academic honesty applies to problems in computer science, and especially programming problems. In my nine years at Grinnell, I had all too many discussions with my colleagues about interpreting evidence of academic dishonesty.

While core values and principles are held in common, institutional policies and procedures differ. This is one of the things that made last year a lonely year for me professionally. I sorely missed having colleagues to consult with about potential academic honesty cases, colleagues familiar with institutional policies and the special problems of academic honesty in computer science.

Around the time I was preparing to leave Grinnell, events prompted my colleagues to develop a departmental policy on academic honesty. A case that I was consulted on soon after my departure from Grinnell seems to have been precipitated, in part, by a lack of consistent and explicit expectations prior to the creation of the departmental policy.

I proposed to my new colleagues that we might draft our own academic honesty guidelines for CS at Whitman—partly to start a discussion, partly to avoid repeating myself in all my syllabi, but mostly to foster a common culture of academic honesty across all computer science courses.

I want that culture to be a positive one. Whitman’s policy on academic honesty focuses, negatively, on academic dishonesty and plagiarism. Therefore, our draft policy discusses collaboration, assistance, and professionalism before addressing academic dishonesty and plagiarism. (We are also careful to acknowledge our sources at the end.)

My colleagues and I agreed that departmental guidelines should focus on principles and the values and reasons that underlie them, as well as best practices for academic honesty. Procedures are left to institutional policy. The guidelines deliberately leave room for each of us to craft more specific policies appropriate to the learning goals of particular courses.

I drafted the document, John Stratton made several revisions for better cohesion, and all three of us including Andy Exley made final revisions together to ensure the document clearly and concisely articulates our common understanding. While it seems a bit long at about 1000 words, we are happy overall with the content and tone.

Does your department have a policy on academic honesty? Have you ever wished you had one? Please share in the comments below. I will also post a link to the final document when it is posted to the web in its final form.


Draft academic honesty guidelines

The purpose of this document is to interpret Whitman College’s definitions of academic dishonesty and plagiarism in the context of computer science courses. These guidelines clarify College policies but do not supersede them.  Many of these principles are also drawn from professional codes of ethics in computing, such as the ACM Code of Ethics and Professional Conduct, which apply general ethics to all kinds of computing activities.

Goals differ between professional and educational settings. In a professional setting, the primary goal is often the production of working code or other artifacts. In an educational setting, the primary goal is learning with integrity.

Collaboration

Computer science is a collaborative discipline. Whether in a professional or an educational setting, teams can accomplish more than individuals. However, your professor may require that you work individually to better serve or assess your learning.

In your computer science classes, many assignments will permit or require collaboration. Collaboration may be an explicit learning goal of the assignment, or collaboration may be used in service of other learning goals. When you turn in collaborative work, all contributors must be clearly identified. All contributors are accountable for all parts of jointly authored work. All contributors are responsible for learning from each part of the assignment.  

Assistance

Whether working as a team or individually, at times you may seek assistance from a variety of sources, including professors, mentors, tutors, lab aides, classmates, and other students.

Assistance with programming exercises may serve one of three purposes: To help you get started, to correct a syntax error, or to debug code that does not work as intended. In all cases, those providing assistance should ask questions instead of providing answers. Never write code for another student or show them your solutions. Moving away from the computer, for example to draw on a whiteboard, will help to emphasize concepts. Whether giving or receiving such assistance, your goal should be learning. Remember that responsibility for completing the assignment belongs to the learner.

Web sites such as stackoverflow.com provide assistance to both professionals and learners. If your professor encourages their use, these sources may show how to solve problems or help you debug your code. In using such sites, again, your goal should be learning.

Any assistance you receive must be explicitly acknowledged, e.g., by a comment in your code. Such acknowledgments credit others for their contributions, and also allow readers of your code to consult the resources you used. People should be thanked by name; written information should be identified by URL or bibliographic citation.

Different courses have different learning goals. Your professor will state policies regarding appropriate collaboration and assistance in the course syllabus or individual assignments. If you are not sure whether assistance is appropriate on a particular assignment, ask your professor!

Academic Honesty and Professionalism

Representing one’s work honestly is critical to the academic pursuit of truth. In an educational setting, assigned work is intended to help you learn. Academic dishonesty undermines not only your opportunity to learn, but also fair and accurate assessment of your learning.

Beyond the academic setting, honesty is a key aspect of professionalism. We do not wish to graduate professionals who would put their employers or the public at risk by copying code without permission or attribution, by using code they do not understand, or by pretending that code works correctly when it does not.

Academic Dishonesty in Computer Science

Academic dishonesty in computer science courses may include:

  • Falsification of program output;
  • Seeking inappropriate collaboration or assistance;
  • Failure to acknowledge collaboration or assistance;
  • Plagiarism of code.

It is always dishonest to present code you do not understand as your own work, whether that code is obtained from another student or from a public source.

You are also committing academic dishonesty if you knowingly help others to misrepresent their work, e.g., by providing inappropriate assistance or by publishing solutions to homework problems.

Plagiarism in Computer Science

For many simple problems, code must follow a particular structure or pattern to solve the problem correctly and efficiently. Such patterns may be developed by your textbook or in class, or may be inferred by reading many programs that solve similar problems. Using these common patterns is not plagiarism and does not require citation.

As problems grow in complexity, so do programs. The programmer must exercise creativity to identify alternative approaches and wisdom to choose the best approach. Many further choices are required to translate an approach into code. Programs are copyrighted works, just like books, paintings, and musical compositions. Programmers have distinctive voices that vary in their maturity. An experienced programmer, such as your professor, can often tell when one programmer has copied the work of another.

Any code copied or adapted from another source, whether a single line or a whole module, must be cited with a comment. In your comment, provide a URL or other bibliographic information as required to find the original source. If the code has an explicit license allowing its use, that license must be preserved along with the code.

If you are using an idea from a published program, book, or other source, cite that source and explain what idea you are using.

Unlike written English, programming languages do not explicitly distinguish between quotation and paraphrase. Your comments should explain whether you have copied code, adapted code, or used the ideas of others to inspire your own code.

Acknowledgments

We draw upon ideas in the Grinnell College Computer Science Academic Honesty Policy, particularly in our discussion of academic honesty and professionalism, as well as the ACM Code of Ethics and Professional Practice. We draw upon the Tips for Tutors provided by csteachingtips.org in our discussion of assistance with programming exercises.

3 thoughts on “Academic honesty guidelines

  1. Amy Csizmar Dalal

    I really like this statement. It’s easy to read (and thus ups the likelihood that students might actually read it), and provides examples of both positive and negative behaviors (without sounding legalistic). To be honest, I’ve never thought about having a department-wide statement, but I could see how it would be useful not just for students, but also for new and/or visiting faculty members, helping to communicate some of those aspects of department culture that we’re not always good about communicating.

    Reply
    1. Janet Davis Post author

      Thanks, Amy! I hadn’t thought about the value of such a statement with respect to future new faculty, but that makes a lot of sense.

      When I first shared my draft with John and Andy, my questions were:

      Where do you disagree or feel uncomfortable?
      What’s missing?
      What’s unclear?
      What’s unnecessary?

      I could imagine having the same kind of conversation with a future new colleague.

      Reply
  2. Janet Davis Post author

    Suggestions from a Facebook friend:

    “1. The documentation requirements seem a little heavy. For example: “Do I need a semi-colon here?” “Yes.” Now I need to put down their name? Another example is Stack Overflow tips. In practice, I just put the question or answer URL with maybe a few words about how it’s adapted. But, my reading of your draft is that I’d need to copy in the SO license too?

    “2. Examples would help a lot. What do acceptable and unacceptable citations look like?”

    Don Blaheta added that he includes examples as an addendum to his academic honesty policy.

    Reply

Leave a Reply to Janet Davis Cancel reply

Your email address will not be published. Required fields are marked *