Ask HN: How can I prove my student cheated on their iOS exam?

2 hakonbogen 3 5/16/2025, 12:28:16 PM
Background: I teach at a University, third year bachelor students, in iOS development. The exam for the course is a home exam over 4 days where they should code an app, which i specify and provide the API for - usually a public API like OMBDapi. It's an individual assignment.

The case: As this is iOS, they deliver their XCode project zipped when handing in the exam. As i've teached for 9 years i've gotten a few tricks to find if someone cheated or not, like got help writing their exam and such. I can check if they mistakedly attached their .git folder, and i can see if there are multiple files in the .xcodeproj -> xcuserdata folder.

For the student in question for this post, there were another .xuserdatad file in their submission, which had the exact name of an iOS developer on Fiverr.com - the name is not generic, and is long, so it can't really be a coincidence. There was also the students .xcuserdatad file.

Question is from the cheating department, they want documentation on what is required for this files to be generated in the project, and how/when they are. It seems completely undocumented from Apples side. Anyone can help me shine a light on these files? As it stands now they can't fail the student unless i can give some more context on the generation and what it means. Any help appreciated from HN!

Comments (3)

theGeatZhopa · 9h ago
I cant help you on the XCode thing, but.. from my experience, never tell anyone how you've found it out. I've often have had students who delivered "bad" work but I still have to give a fair mark for it. So I always asked "have you written your assignment at 2am yesterday night? or, why is it so bad?" If they've said "no, i've worked since a week on it" then, I hiddenly looked at the file's metadata "creation time" - aaaaaaand... 3am - file created - 4am last change of the file. Then I looked deeply in their eyes and said "I've have a hidden talent... I can see it in your eyes. you started at 3am and stopped at 4am. So, what mark would you give yourself for such work, if you compare it to others?" ... If they say "no no.." I just answered "you're lying to me. Be honest to me and yourself.." ... and so on. The mark then have a punishment for lying built in. I explicitly tell this the students. It can be appealed agaist, but then some proof of the students version is needed. This makes them afraid of cheating.. or, at least, be honest about that.

check on meta-data of the file, then you know when. and then you can derive out of experience, if the time needed for the assignment is much longer than Now minus .xuserdatad creation time - then, one can assume its done by a experienced professional. And then you can use the psychologic trick to get the information you want..

redczar · 10h ago
I’ve taught in higher education for over 20 years. Let it go. It’s not worth the hassle to prove the student cheated.
incomingpain · 9h ago
> which had the exact name of an iOS developer on Fiverr.com - the name is not generic, and is long, so it can't really be a coincidence.

You could confront the student and say that they didnt submit their exam; that this other name came up instead. Have them explain if that's their name and work.

Realistically, they only cheat themselves. Best to scare the crap out of them and report they likely cheated but no punishment.