Academic Integrity Standards for CMPSC, CMPEN, and CSE Programming Courses
The Department of Computer Science and Engineering expects all student programming work assigned in a class to be completed independently by students (or by teams if permitted/required) and to consist of code designed and developed solely by the students. The use of any other code is not permitted unless the course instructor explicitly allows it and such code is clearly identified as coming from an external source and that source is credited. Students will never be given credit for code which they did not construct.
The department uses software tools to identify similarities in code submitted by students. These tools differentiate between insignificant cosmetic differences (names used in code, the order of certain code elements) and significant structural similarities (algorithms, data organization). These tools give a percentage of common code between two submissions and identify this common code. We do not set a single, fixed percentage above which we automatically determine that an academic violation has occurred. Rather we rely on the expertise of the instructor to determine when similarities rise above what a reasonable person could expect two students working independently to construct.
For example, in an introductory course in which the programming assignments require relatively short solutions (i.e., less than 50 lines of code) we would expect to see similarities in student solutions rising to a significant percentage of the code. But in an advanced course in which programming projects may contain thousands of lines of code, only a small percentage may be similar but still constitute an academic integrity violation if the code in question was a significant/important aspect of the assignment and if the similarities found could not, in the opinion of the instructor, have been independently developed.
Furthermore, in cases where student submissions have been found to contain significant portions of code found in online sources (e.g., a common code hosting site is GitHub), the determination of an academic integrity violation is essentially automatic.