Archives for May 2020

Integrity Quizzes for Remote Courses

A recent town hall hosted by the Office of the Provost, Supporting Integrity in Education, brought campus leaders together to discuss the national and local landscape surrounding issues of academic integrity in remote and residential educational environments. 

One of the topics discussed by the College of Computing’s Thad Starner and David Joyner was the concept of incorporating an Integrity Quiz into remote courses. For instructors interested in creating their own integrity quiz, Starner has provided a sample quiz that has been used in his remote course(s), below.  

Thad Starner’s Sample Integrity Quiz for a Remote Course 

Sample Instructions 
Students can take this quiz as many times as they like (most get to 100%). It counts for 5% of their grade. All are YES/NO questions. Below is the class policy. As can be seen, a plagiarism quiz can be surprisingly subtle and explore very fine issues. The goal with the class policy is to be clear (for example, if you are looking at someone else’s code, you are cheating), have it emulate the situation our students will find themselves in upon graduation (with the major software companies), and have plagiarism hits found by the automatic software be obvious violations. This policy, clearly, is not appropriate for all classes. 

Sample Class Policy 
In general, we strongly encourage collaboration in this class. You are encouraged to discuss the course material, the exercises, the written assignments, and the projects with your classmates, both before and after assignments are due. 

However, collaboration should be at the “white board interaction” level. We draw the line at the following: 

  • You may not copy any code directly from anyone else. To this end, you are explicitly prohibited from looking at public GitHub repositories for the purposes of the assignments (including the book’s own python repositories & code implementations). If you are looking at someone else’s code, whether it be that of a fellow student or a public GitHub repository, you are cheating. This includes pseudocode shared on the web or by classmates; you may only use pseudocode provided by the book or the teaching staff. In this regard, we are emulating the rules of behavior in corporate environments like Google. Looking at other people’s code can and will be considered equivalent to plagiarism. You may use others’ ideas to inform your own designs, but your project must be your own work. 
  • You may not post your assignment code on a public platform such as GitHub. Please use a private repository (available free through Georgia Tech) if you wish to use git. 
  • You may not directly copy any text from anyone else’s written assignments. This includes paraphrasing. Again, you may use others’ ideas to inform your own writing, but your assignments must be your own work. 
  • You may not directly copy any text from anyone else’s written assignments. This includes paraphrasing. Again, you may use others’ ideas to inform your own writing, but your assignments must be your own work. 

The program has mechanisms in place to prevent plagiarism. We enlist the help of OMSCS students in detecting such cases and will act upon any evidence that we find. We have successfully caught instances of plagiarism each semester. Please don’t be the next person; we can assure you that the consequences for a poor grade are far, far less than the consequences for plagiarism. It is not worth the risk. Any instances of violation of this policy will be referred to the Dean of Students, initiating a lengthy resolution process. If you are unsure of whether a certain type of collaboration is acceptable, please ask first, preferably on Piazza. The full Georgia Tech honor code is available here (Links to an external site.)

Sample Plagiarism Quiz Instructions for Students 
This Quiz’s aim is to help students understand the Class Policies in depth. 
You are required to answer 85% of the quiz questions correctly in order to pass this class. 
This Quiz does count toward your grade. 

Sample Plagiarism Quiz Content 
A student makes five submissions to Bonnie. The TAs discover that the first submission has a 90% match with code from a student in a previous semester, the second submission has a 50% match, the third has a 20% match, and the fourth and fifth have a 1% match (at the level of random chance). Should the TAs refer the student to the Office of Student Integrity (OSI) for violating the course’s policy on plagiarism? 

A student posts her code to stack overflow asking for help debugging the code but receives no responses. Should she be reported to OSI? 

The CS6601 midterm exam points to an article on Wikipedia on Gibbs free energy. Part of the article includes code for how to implement Gibbs free energy for simulated annealing.  A student uses that code to solve the problem and accidentally includes the code with their answer to the midterm. Should the student be turned in to OSI? 

The Wikipedia article in question 3 links to other articles that have pseudocode for Metropolis-Hastings sampling. A student uses this code to solve another midterm question. Should the student be turned in to OSI? 

A student pays for code on one of the code-for-hire sites. The TA discovers it. Will the student be turned in to OSI? 

A student creates a private post to the TAs with her code.  During office hours she asks questions about her code even though there are other students attending the Hangout. Should she be reported to OSI? 

A student refers to a Python reference manual for how to use dictionaries. It includes sample code that provides an example dictionary for creating a look-up table for a train schedule.  The student understands the example and writes his own code to create a hashmap for opening moves for Assignment 1. Is using such reference material a violation of class policy? 

A student finds a function in scipy for doing expectation maximization. The documentation includes the code used to implement the function. Assignment #5 requires students to write their own expectation maximization function. The student bases her code on the scipy documentation. Should she be reported to OSI? 

Student A accidentally leaves her Github open. Unbeknownst to her, student B finds it and copies her code. A TA finds the match. Did student A violate the class policy? 

Student C pays for code from an online tutor.  The tutor advertises he helped students doing 6601. Will your professor pose as another student in the class and pay up to 10x the amount of money to get the code in order to discover the identity of student C?  (Give your answer imagining your professor is *very* determined.) 

A student discovers that Peter Norvig has been posting new pseudocode from edition 4 of the class textbook. He uses this new pseudocode, thinking it counts as part of “the book.” Just to be careful, the student cites his source. Should the student be referred to OSI? 

A student finds code from a Coursera AI course, uses it, and cites it as part of her assignment turn-in.  Did the student violate class policy? 

A student uses pseudocode from one of the “Further reading resources” given in the class videos and cites it. Did they violate the class policy? 

A student uploads his homework to a homework sharing site. A TA discovers it before anyone has downloaded it. Will the student be referred to OSI? 

A student has implemented breadth first search before for a robotics course. She has understood BFS for a while and coded it up for that class. For 6601, she pulled out the old robotics code and re-used it. Did the student violate the class policy? 

Suppose that the student in question 15 had actually grabbed the BFS code from stack overflow when doing the assignment for the robotics class.  She forgot she got the code from there, and the robotics course policy was such that it was allowable to get code from other sources (for example, perhaps their main teaching concern was not learning BFS but showing how sharing information between robots can significantly speed the solution.) She submits this BFS code to 6601, and it matches to original stack overflow post.  Is saying “I submitted this code to 74xx and it was accepted” an adequate defense? 

A student takes the course twice. He submits the same code from the first time he took the course, thinking he is OK because the first time he did the course he code everything from scratch. The anti-plagiarism software triggers a 67% match with the student’s previous submission. Will the student be referred to OSI? 

There are considerable resources that have been made to support the textbook. A student discovers a python code repository associated with the book that implements the algorithms for Assignment #2. Is looking at actual code implemented based on the book’s pseudocode (as opposed to the pseudocode itself) a violation of class policy? 

A student posts her code publicly on Piazza. Has she violated class policy? 

A student does a screen share of her code during Online Office Hours (Hangouts). Other students are also present. Did she violate class policy? 

A student plagiarizes in Assignment 1. The TAs catch him and report him to OSI. Upon realization, the student drops the course.  Will the student be added back to the course by OSI without warning?