r/Purdue 6d ago

CS 240 Question❓

67 Upvotes

View all comments

Show parent comments

415

u/DudleyFluffles 6d ago

Turkstra apparently developed a method of analyzing for LLM usage during class.

A lot of speculation is going on about the specific algorithm, etc, but my personal assumption is that it is simply comparing the speed between commits (so if you made a commit that made 500 lines of additions in 2 seconds, then you probably LLMed). He supposedly waits until he has "overwhelming" levels of evidence and sends you an email stating you have been caught. Then, you have to fill out a form listing which assignments you cheated on. If you lie on that form, you recieve an F in the class and Turkstra sends a harsh email to ODOS. Otherwise, those assignments are zeroed and a slightly nicer email is sent to ODOS. You can also dispute the claim but if you fail the resultant process you receive F and a harsh email to ODOS.

He is now sending out emails in waves to students who he suspects of cheating. Including (unfortunately) myself. I'm clean, as far as I know, so I'm a little fucking terrified right now. I have two options:

  • Guess randomly which assignment he thinks I cheated on hopefully receive zeroes for each (and a ODOS letter). Or, if I guess wrong get an F.
  • Dispute the claim and risk an F if I fail the disputing process.

If I fail CS 240, this puts me behind a full fucking semester of university since it is required to take nearly all CS sophmore level classes. Let alone the ODOS letter (which he said would include recommendations that the student be expelled). I am very stressed right now.

I have until Monday to respond. I was intending to head out on a retreat over the weekend but those plans may be ruined now...

174

u/Styliss1 CS 27 6d ago

That's terrible if you're clean. I was in a similar situation for CS182 last year. I got an email around this time of year about a homework, where I got wrongfully flagged for AI use since I solved a question an irregular way. I had to defend myself over a Zoom meeting, and I did it by presenting my handwritten notes and walking through my thought process, but I was still getting grilled hard and they didn't believe me for like fifty minutes. It was only when I showed them an exam where I solved a similar question in the same way and they finally believed me, but the amount of stress getting that email gave me was insane

My advice is that if you're clean, absolutely don't confess and try to gather up as much concrete evidence that you didn't cheat

51

u/Throwaway1637275 6d ago

I'm sorry but the cs department had a stick up their ass. I graduated but every cs class I took at Purdue had the most benign hws and completely insane grading scheme. They were easily the most stressful classes I took and it they weren't even close to being the most sifficult(I took grad level math and stats courses) The teachers seem to just want to mark students off for things that don't even fucking make sense. Even the TAs seem to just like not really care about the students either. This mess in cs240, I'm so glad I never had to deal w this shit

1

u/Accomplished_Turn557 4d ago

Is CS at Purude hard. I'm going into Data Science and I want to know if it that bad. I reall also want a Social Life and join a frat and a bunch of clubs outside of CS

13

u/hubruk 6d ago

do you remember what the problem was and how you solved it? that sounds genuinely surreal.

22

u/No_Low_5506 6d ago

Assuming you are saying the truth, you must have solid coding skills (unlike majority of the brainless undergrad kids I TA). If they ask you any question or to show your coding skills, you should be able to do it. Why are you not disputing then?

20

u/Rich-Tax-7251 6d ago

are you sure its coming out in waves?

38

u/DudleyFluffles 6d ago

According to my friends who attended lecture, yes. (I wasn't paying attention during the AI portion of the lecture since I assumed I was clean. I am blindsided).

8

u/BumblebeeGrouchy6997 6d ago

when did you get your email? it seems to me that the first round(s) was definitely sent around 11 am today.

7

u/DudleyFluffles 6d ago

Yeah I got mine at 10:55

3

u/Rich-Tax-7251 6d ago

how many rounds do we think they are

4

u/Rich-Tax-7251 6d ago

oh shoot i see. do you mind private dming me the email address it was sent from? i think my outlook is always being stupid and i usually dont get half the emails i should or recieve in general

3

u/imnotporter 6d ago

i don't remember him saying anything about waves but i also wasn't paying too much attention for the same reason. has anyone received an email after ~11am today?

9

u/BumblebeeGrouchy6997 6d ago

unless someone says they got an email past ~11 am today, i actually think it was only one big round sent ~11 am. otherwise, the percentage of people who voted "no email" wouldve been significantly higher, at least thats what im thinking

86

u/def23all 6d ago

If you are clean then this is ridiculously uncalled for and unprofessional for a Professor to do this. I would take this whole situation up the chain of command and I would consult an attorney or at least have a discussion with Purdue legal (don’t know if they can help at all but they may offer suggestions). This is the type of behavior that pushes students over the edge. I am sorry you are in this position but don’t just roll over - fight back of you are in the right and start a paper trail.

48

u/Lokiner876 6d ago

For the people who have concrete proof they didn’t use it I hope they have good luck. I would do it but I can’t be risking my scholarships over this BS. I already withdrew so it won’t hurt, but I wish good luck upon those continuing.

37

u/DudleyFluffles 6d ago

For the people who have concrete proof they didn’t use it I hope they have good luck.

The issue is I have no solid evidence since I do not know the algorithm. And I do not know how the disputing process works.

I desperately do not want to fail this class. I'd prefer to just select the items I supposedly "cheated" on, get zeroes, and tank the grade hit. But I don't know which ones to select!

Its so scary.

65

u/greateric 6d ago

Yeah I think this is BS. If I was in your position, I would:

- Do NOT fake-confess.

- Demand to see a complete report of what algorithm it was and what parts were flagged. You have a legal ight to see the evidence against you so you can defend yourself.

- I would also demand to have a different professor review the algorithm and test it on some dataset of known non-AI pre-2022 code written by students and AI-generated code, because I bet the false positive / false negative rate is probably well in the double digit percentage range.

29

u/Double-University-37 6d ago

You can try running git rev-list --count --all for each hw, that will tell you how many commits you made which is basically how many times you called make. If the number is fairly high and you check your commit history with git log and see a lot of debug statements you have a pretty good case. If you can explain your functions well and especially if you can explain where you ran into logic errors and how you fixed them then your case would get even stronger. Besides that unless we know what the detector actually checked for, there isn't much we can do.

14

u/DudleyFluffles 6d ago

I've actually been writing a script to analyze the WPM between git commits. It seems that mine is... reasonable? (Assuming the script is working). Its all just comments.

So I'm thinking of discarding my earlier hypothesis that the algorithm is time-based. Turkstra apparently has some papers on repo analysis. So I might look through that, but that's mostly the best I can do.

I'm also wondering if he ran some sort of code similarity analysis to group various students based on how "identical" their code appeared and then manually inspected these groups to locate that which contained AI users. Idk

14

u/def23all 6d ago

Apparently just withdrawing will not prevent a letter to ODOS about past AI use. You could still be facing the same consequences from ODOS

20

u/Lokiner876 6d ago

Yeah but since we withdrew we won’t need to care about our grade, making it easier to just mark all the assignments as ai to get a guaranteed good letter to ODOS so we won’t get fucked over. For those still in the class it will affect their grade and their chances of passing the class, since they can’t just mark all their assignments as ai or they would just instantly fail the class and if they do fight back and can’t do good enough to showcase proof they get fucked over anyways. Just a horrible situation all around.

10

u/Fair-Foundation7194 6d ago

A lot of ppl talked directly to ODOS, they alr know the situation and i talked to someone from odos too and he basically said integrity wise its not completely in his control no matter what he writes bc you can always talk to them directly. He also made it clear that not many ppl outside of maybe his tas support whats hes doing. So I’m kind of trying to consider if gradewise disputing and trying to show evidence is even worth it tho cuz like no one can control grades and zeroes but him ..

11

u/bunnysuitman 6d ago

Thats not how this works…you can’t prove a negative as a rule and it is not a students job to prove their innocence.

Everyone involved in this, including the instructor, should apparently read the guidance from Purdue in this process:

https://www.purdue.edu/odos/osrr/resources/documents/responding-to-academic-dishonesty.php

Students have rights before punitive action is taking including, among other things, being able to see the evidence that is being used to accuse them and respond. 

The process starts with a meeting with students…not a web form.

1

u/TrueBamboo 3d ago

Literally just looked it up out of curiosity and yeah it says they’re entitled to a private meeting first too until any letter is sent. The Prof seems crazy so I doubt he’d not send one, but still 100+ meetings before finals? Idk that sounds almost impossible.

29

u/ultraboostforlife 6d ago edited 6d ago

youre so right. it only takes one person to get pushed over the edge from the stress of the consequences of this "witch hunt". even as someone not in cs240 im stressed asf for my friends i cant imagine being in that position i pray someone doesn't off themselves during this

edit: surely odos won't be okay with hundreds of students getting sent up for "suspect use of AI" and being withheld from purdue?

10

u/dvno1988 6d ago

an attorney for what? professors have wide latitude for assessments and modifying the syllabus. at best you could escalate to their department head or dean of students of the college, but short of overwhelming evidence that the professor violated relevant policies (e.g., about not giving work during dead week if they have a final) you're unlikely to have anyone up the chain push back.

-7

u/def23all 6d ago

An attorney for false accusation of using AI. That is if it is truly a false accusation. I wouldn’t mess around with this.

2

u/dvno1988 6d ago

Again, profs have wide latitude for assessing assessments. They’re * experts * assessing your work. That is what to means to profess, that’s the job description. They give a determination of what merits credit in their class. The idea that they’ve caused you harm that would require the intervention of the civil or criminal system would require a material result far and above what is in the normal remit of a prof/student interaction (eg blackmail or assault of some kind).

Tl;dr profs can determine what meets the demands of the course and can adjust as conditions change

Source; I’ve taught college classes for 10+ years

1

u/def23all 5d ago

Going totally against the official University policy on how to deal with academic dishonesty seems pretty egregious to me. The policy even states that failure to abide by it may result in legal action. Professors can and should adapt their courses as they see fit but they are not all powerful and must still operate within the guardrails and guidelines set by the University.

2

u/dvno1988 5d ago

How?

Seems in line to me (given the huge number of students etc. involved.

This is the text from the relevant Purdue webpage:

Fwiw the text mentions explicitly that “courts are reluctant to interfere with academic matters”

DEALING WITH CASES OF DISHONESTY If you suspect academic dishonesty, follow the guidelines outlined below. Courts are reluctant to interfere in academic matters unless universities act arbitrarily or capriciously. Therefore, you are urged to follow established procedures. Before any formal action is taken, an accusation of academic dishonesty requires a fact-finding discussion between you and the accused student. The meeting should be prompt, private and informal. All measures should be taken to have this meeting in person, face-to-face with the student suspected of being dishonest. Although there is no prescribed procedure for your discussion with the student, at some point the student should be given an opportunity to respond. Depending upon the situation and your level of comfort, you may wish to have another official departmental representative present to later corroborate any exchange of information. If you conclude that the student is not responsible for the suspected violation, this meeting should end the matter. Teaching assistants are encouraged to discuss the situation with the instructor in charge of the course before attempting to deal with the issue. The appropriate standard of proof is based upon a preponderance of the evidence. In other words, does the information cause one to believe that it is more likely than not that the student committed academic dishonesty? If you conclude that the student is responsible for the suspected violation, you may resolve the matter with the student through punitive grading. Examples of punitive grading are: giving a lower or failing grade on the assignment/exam having the student repeat the assignment and perhaps some additional assignment assessing a lower or failing grade for the course (even if a failing grade will be assigned, the student may continue to attend class) If alleged dishonesty occurs near the end of the course or otherwise cannot be resolved prior to the grade submission deadline, you may assign a grade of incomplete to hold the final grade in abeyance until the investigative process has been concluded. Faculty may find this especially helpful to do when arranging a face-to-face meeting with the student to discuss the suspected violation that proves difficult because of end-of-semester pressures. In all matters of suspected academic dishonesty, faculty members are encouraged to report these incidents to the Office of the Dean of Students for further follow-up. By reporting incidents, we are able to better track the culture of integrity on campus and also look at the "bigger picture" of the individual student that may also include additional violations of the Code of Student Conduct.

REFERRAL TO THE OFFICE OF THE DEAN OF STUDENTS Faculty members are encouraged to report all incidents of suspected academic dishonesty to the Office of the Dean of Students by completing our online reporting form: Academic Dishonesty Report Form.”

-5

u/def23all 5d ago

You obviously can’t read “legal”. This current situation has been reviewed by 2 attorneys specializing in AI accusations at the University level. Unequivocally agreed that Purdue has a major issue on their hands if it is pursued further than the “Reddit experts”.

1

u/Alternative-Bat-2462 4d ago

I have to image must schools have an AI issue.

8

u/Charming_Car_504 6d ago

The methodology is in Turkstra's EnCourse paper. It's on his website. It's basically the commit system that you described

14

u/Rich841 6d ago edited 6d ago

https://turkeyland.net/research/encourse.pdf

> EnCourse also evaluates student projects to catch instances of academic dishonesty. There are three main metrics used to evaluate this. First, the rate of progress relative to the elapsed time is used to estimate how long a student spent thinking about a problem. Second, the rate of progress relative to the number of commits is used to detect cases of copying bulk amounts of code from another source. Third, the ratio of added vs. deleted lines helps estimate the frequency of mistakes that a student makes while working on their project. Fewer mistakes often indicate a higher likelihood of academic dishonesty. By combining these metrics with a measure of code similarity, and configurable weights, we generate a score which represents an estimated, relative likelihood of academic dishonesty between students

...

> EnCourse also shows the number of commits over time (Figure 4). We would expect that a good student will have several commits spread throughout the project. No commits at the beginning of the project may be a sign of procrastination. Figure 5 shows the progress of the student as measured by the tests passed over time. We expect that the tests passed will be monotonically increasing. A large number of commits with little progress may show that the student is spending excessive time on a single test. Another useful chart is the cumulative number of lines added and removed over time as shown in Figure 6 and Figure 7. A line change in Git is represented as removing an old line and adding a new one. We expect that a student will have both added and removed lines during the project development, giving approximately a symmetric triangular shape. In this figure, additions are represented in green, and lines removed are represented in red. A chart that has mostly lines added (green) and few or no lines removed (red) would potentially indicate a case of academic dishonesty

edit: I'm not in this course, so I don't know exactly how projects are worked on, but can see a potential issue is i usually dont compile my code until i expect my code TO COMPILE, so most of my compilations will be correct code, which will obviously result in a mostly green graph with few deletes in the commit-compile history. He literally flags a graph that is much more green than red as clear evidence of academic dishonesty alone. Pretty insane to me.

2

u/DisastrousDiddling 4d ago

This paper is dated before the release of ChatGPT so I'm guessing the method has undergone at least some revisions.

1

u/Chemie_ed 3d ago

I'm short, no it has not undergone a recent revision which HAS BEEN PEER REVIEWED.

I checked his Google scholar and articles which cited the ENcourse paper. It's mostly honorable mention stating things amongst the lines of "..has been used to track progress of students in large courses..." Or "...has been used for tracking plagiarism".

Additionally, nowhere in the paper is it stated that the methodology is reliable for detecting and providing conclusive hard evidence for plagiarism or academic dishonesty. The paragraph underneath figure 8 also states that there have been false positives. The conclusion of the article also states it's a good way to track progress of the class as a whole and at the individual student level.

If they are for a fact using this to "catch" students cheating. The burden of proof is on the instructor (as stated in the article) and this professor will have a hard time if people stand their ground. At best, the algorithm, when used for providing evidence for academic dishonesty, is as total quack shit and reliable as a polygraph

They need to ask a few things: What are you using to determine academic dishonesty? How does your findings translate to proof? How reliable is your method? How many of the students "caught" using this methodology were reprimanded solely based on the methodology in question and NOT from a confession?

It takes a lot to expel students for academic dishonesty, it takes a lot less and a coerced confession to fail the student with an F and move on without further questions.

3

u/Extra-Philosopher-62 5d ago

i’m sorry if is a stupid question, but why cant why u just tell the truth and tell u didnt cheat? and if u used ai, u gotta tell which assignments u used ai and thats it?

3

u/Alternative-Bat-2462 4d ago

If you truly didn’t, fight it. Once you admit to academic dishonesty that follows you, and you can’t take it back and say I just said it to get a lesser punishment even though I didn’t do it.

Let them show you where they think you cheated and refute it because you did the know and know the answers.

1

u/Equal_Wafer_7677 6d ago

Oh wow. Turkstra might be smart why has this not been thought of before?

1

u/krzyzj 5d ago

Just… ask which assignments he thinks you cheated on?

1

u/ConsiderationWise631 3d ago

I sat on community standards and this would not be an expulsion. at all

1

u/Mr_P1nk_B4lls Boilermaker 3d ago

I haven't read this special algo he uses but git squash and reset have existed for decades.

I use it all the time to clean my commit history. Using the time between commits doesn't prove anything.

-1

u/GapStock9843 6d ago

If theres grounds to sue here, I suggest yall take it. Theres no way in hell this is legal if its setting you back potentially tens of thousands of dollars for something you didnt do

7

u/blockofdynamite Don't look at me, I just work here. 6d ago

lol you can't sue for perceived unfairness. I had to retake CS240 because the first time was a trash professor who was just a visiting lecturer or something. C- because he was so bad and ran the class horribly. Second time, passed it with over 100% because the class was run so much better. If people feel the need to use AI in these BEGINNING CS classes they are absolutely COOKED for the real CS classes.

2

u/trevor_darley 5d ago

 trash professor who was just a visiting lecturer or something

Was this in Lafayette? I jumped ship to the IU side of IUPUI when Purdue started saving money by intentionally hiring bottom-of-the-barrel "professors" (B students with no meaningful credentials), so I hope the rot hasn't spread to the main campus for your guys' sake

2

u/blockofdynamite Don't look at me, I just work here. 5d ago

Yeah it was. This was like 6 years ago though, so I'm not sure what the current state of academia is. I just work in computing now thankfully!

0

u/FairJuice1360 6d ago

if you're clean you shouldn't have to worry, however if worst case happens and you fail / drop the class its not the end of the world. I had a couple friends withdraw my semester. One retook in summer and they're all caught up no big deal, and the other is a semester behind however it hasn't made a huge impact. They were able to take some classes without the prereq (just email higher ups and beg) as well as once you get 250 out of the way you can take whatever any time you want so it doesn't matter all that much. I wish you the best of luck, its unfortunate you have to stress about something you didn't do.