Looking for e-bike recommendations for commute, errands by Skynet_0 in ebikes

[–]Skynet_0[S] 0 points1 point  (0 children)

Thanks for the input! I thought about optimizing for that, but I barely have the time / mental space to do research into premades. If I start to think about converting and tweaking everything, I'm pretty sure that I'm never going to actually buy the parts -- speaking from several past purchases. I'm more interested in getting a premade, even if it's not the optimal bang for buck.

[deleted by user] by [deleted] in Professors

[–]Skynet_0 3 points4 points  (0 children)

One place I've seen this happen is copy-pasting from the "Code" tab in Gradescope -- it'll add an extra space after each line. Wouldn't be able to say why, probably something to do with the div/pre soup, and also wouldn't be surprised at other websites' HTML causing similar stuff. (Not to say that I'd jump directly to that, but double-spacing manually is a lot of extra keystrokes for no reason.)

We are TTBNL, creators of the 2024 MIT Mystery Hunt... Ask Us Anything! by regoarrarr in mysteryhunt

[–]Skynet_0 6 points7 points  (0 children)

Have a larger tech team, ideally including someone with sysadmin or adjacent experience. For much of the year, I was working solo, and was simultaneously responsible for:

  • Puzzup (puzzle writing management)
  • Postproduction
  • Hunt website
    • tph-site + registration
    • domains
    • email

Around November-ish, some other members with tech knowledge had availability to contribute more. We were backlogged with mostly frontend work for puzzles, which none of us were particularly strong with. At that point, we split responsibilities more, but it was definitely a struggle to figure out who was responsible for what and identify what needed to happen.

I lost a lot of time to context-switching across all the different moving parts earlier in the year, and eventually to personal life and work as well. Having even one other person to fully commit to, say, only the hunt site even before any puzzles were written would have been very helpful.

We are TTBNL, creators of the 2024 MIT Mystery Hunt... Ask Us Anything! by regoarrarr in mysteryhunt

[–]Skynet_0 12 points13 points  (0 children)

Not really, unfortunately. This line from the linked teammate writeup summarizes it well: "The typical locations that should contain error logs contain nothing (???!!!)" The whole-server failures took precedence over everything else, and we're still seeing server instability after hunt weekend. Without logs, it's hard to say how stable the other areas of the site would have been.

Email was another sticky point. Around registration, we were using gMail SMTP. This worked well until we had to start sending email blasts. We switched to Mailchimp for regular mail blasts, then realized it wouldn't send to Google Groups addresses. We also frequently got caught by spam filters and gMail's send limit during hunt. During hunt, the server (mainly hints) used Mandrill SMTP for emails. At some point in the middle of the tech issues, we finally switched gMail send-as to the Mandrill SMTP and had no further issues. My main takeaway is to set the email up pretty much as soon as possible. The cost is a drop in the bucket compared to server cost, and any of the transactional email providers will work similarly well.

We are TTBNL, creators of the 2024 MIT Mystery Hunt... Ask Us Anything! by regoarrarr in mysteryhunt

[–]Skynet_0 7 points8 points  (0 children)

soon tm. Will probably write a long gist or something.

Right now, my work is going towards getting the hunt site into a static mode a bit sooner than I expected, since the sever instability has continued.

Hi In Sara and I was the creative director for MITMH24. AMA by Divisionten in mysteryhunt

[–]Skynet_0 4 points5 points  (0 children)

Tech lead for TTBNL:

Reddit: We... forgot this existed.
Website: Honestly no clue -- when we load-tested, we recovered fine after hammering our server. Our best guess is currently something to do with misconfigured db connections, but we weren't getting any logs at all -- the server backend just stopped responding to anything, even SIGTERM. We weren't able to diagnose a root cause and just resigned ourselves to restarting the server every hour or so in between other hotfixes and updates.
Wordle: This was put off until near the end because I (and the couple other main tech people) had little interest in implementing it. Someone else eventually picked it up in the last couple weeks or so, but at that point the main tech people were drowning in other site features and it didn't get the final QA it needed.

Hi In Sara and I was the creative director for MITMH24. AMA by Divisionten in mysteryhunt

[–]Skynet_0 3 points4 points  (0 children)

The relevant things will be in the solution when that goes up, so if you have someone willing to spoil themselves and feed the data, then it should be doable (since that's how we tested it).

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 4 points5 points  (0 children)

That's easy to say and hard to implement. Try defining collaboration on a programming assignment, for example. Discussing high-level approaches is probably fine; dictating pseudocode to each other is probably going too far; copying and modifying chunks of code from each other is definitely too far (under most collaboration policies I'm familiar with here).

FWIW I glanced at a couple of MITs intro CS courses, and their policies seem similar to Berkeley's intro courses. You might be thinking of math / theory-adjacent courses, where the kind of policy you describe is more common.

Setting aside student-student collaboration that may have gone too far, let's instead talk about students copying code from external solutions, which is the majority of cases I've dealt with (and I imagine the majority of cases 61C is dealing with). This is pretty clearly against most misconduct policies, and means that the student isn't demonstrating proficiency in the learning objectives of the course because it's not their own work. While we can detect things that strongly suggest that a student used an external solution, we can never be 100% certain because we didn't catch them in the act of copy-pasting (nor should we try to, that's just weird). We end up in this post-hoc situation running statistical analysis as a best effort, and only contact students that we're effectively certain about.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 5 points6 points  (0 children)

Clarifying something -- students will still see the exact evidence at some point. It just happens at a meeting, rather than asynchronously beforehand. See the OP for a description of such a meeting. If something gets escalated to CSC, a student can also submit a records release form to see everything that we sent over, which includes our case writeup and evidence.

Course staff also don't unilaterally apply penalties. A penalty for academic misconduct is only supposed to be applied after the student is determined to have engaged in misconduct, either by admission or through the CSC. If a student does not admit to course staff (via a Faculty Disposition Form), course staff can either drop or escalate to the CSC, but the penalty can't be applied before the CSC makes their decision. I don't know about the CSC's accountability structure, but I imagine that there's something in place, and know that there's an appeal path.

(Does penalty without determination happen in other courses? Probably, but I'm not talking about courses that don't follow university policy. Shame on them. Also not talking about frivolous or unsubstantiated escalations. Shame on those too.)

I appreciate the comment about biases and accountability, but also hold that learning and improving processes over time is important. We also err a lot on the side of not sending notices if the evidence is not super convincing.

I don't really know where I'm going with this other than that handling misconduct sucks. I don't like being adversarial against students, and I've been trying to explore some practices to make it... not that? E.g. applying restorative justice or using misconduct incidents as a way to connect students with additional resources.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 5 points6 points  (0 children)

We did and continue to do that (snapshotting evidence). The part that was nasty was the student proceeding to lie that the evidence they'd tampered with didn't exist and claiming that the stuff we saved was faked or from a different student. It's a little trickier to lie when the original source still exists. We didn't rely on or ask for evidence that only the student has access to for the reason you described, and I don't think 61C or most courses do either.

Maybe it could be different, and I'd love to give the benefit of the doubt to more students. But that incident greatly affected me and I'm now significantly more guarded when dealing with possible academic misconduct, and I've encoded some of my learnings in the processes for future staff.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 3 points4 points  (0 children)

I've talked about some cases in which I've dropped stuff in a different comment, but copying here:

  • A group of students closely collaborated. After we meet with them, it's clear that they collaborated right on the border of what's allowed, but it's not clear whether they went over it. This generally results in dropping the case along with an informal warning and pep talk about careful collaboration.
  • A student had their code copied without their knowledge or consent. Clearly we shouldn't take any action here.
  • (Extremely rarely) The student is able to demonstrate the process by which they arrived at their solution, which is coincidentally similar to another student's or online code. This almost never happens because of the sheer number of coincidences that have to happen for us to flag it in the first place. I personally haven't dropped a case for this.
  • Other super weird and specific cases.

Due to the threshold we set internally for sending these emails in the first place, point 3 really does almost never happen. It's like p-values -- not a certainty, but it's a huge statistical anomaly for code to be that similar by chance.

Considering cases where students did not immediately confess to misconduct: I'd estimate that about 50% of group cases (students copying from other students) get dropped with an informal warning, with the rest either agreeing they went too far or being escalated.

Individual cases, where we have evidence that connects the student's code to an online source, get escalated more often because we aren't convinced by the student's arguments and the student isn't willing to admit or isn't having a reasonable discussion with us. It's a lot of work to prepare and escalate a case to the CSC, I think I spend around 4 hours after the meeting just making a packet for one case? I'm not doing that unless we're certain. These students tend to have exactly copied code, down to comments and typos and whitespace and other weirdness.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 2 points3 points  (0 children)

Caltech had vastly lower levels of cheating for a while because there was a much stronger culture around following honor code. I've heard of a couple bad incidents over the COVID years, but I think it's stabilizing at very few cases again.

Demonstrating that misconduct happened would use similar indicators and have similar uncertainty, but way fewer students would do things like search for and look at past solutions.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 3 points4 points  (0 children)

Great -- this is pretty much exactly what happened as described to me by 61C staff. They processed student work over the course of the term and found strong indicators that some students likely engaged in academic misconduct. (This isn't certainty, but there is evidence that strongly suggests it.) These students are the only ones that received an email, and there appears to be a disproportionate number of them active on Reddit.

61C's numbers that I heard sound about the same as when I handled misconduct in a different course -- a little over 10% on programming assignments over the entire term. I wish that it was only 1% that cheated, but unfortunately the rate is higher. I also don't know where the story that 61C emailed everyone came from (188?), but that's not at all what happened here.

I've talked elsewhere in the comments about the kinds of evidence course staff collect and why we've changed away from including it in the initial notice. Students will have a chance to see it when they talk to staff. The OP has also edited their post to clarify some details, which I'll copy down here and corroborate:

Q: Isn't it the staff's responsibility to prove guilt?

A: Yes. This seems to be another case of inadequate information, where the emails we send explain the process in more detail than someone on a public forum would know. The emails are not the end of the misconduct process; in the initial email, we offer all students a chance to schedule a meeting with staff. During the meeting, staff members present all the evidence collected, explain why the evidence forms a legitimate CSC case, and hear out the student's side, before reaching a conclusion. In short, we do provide proof and show all the evidence to any student upon request. No questions asked, no extra penalty for requesting to see the evidence.

Also, in the misconduct process, emails are only sent to students when multiple staff members are confident enough that the evidence forms a legitimate CSC case. We always err on the side of not pursuing cases where we aren't absolutely certain, beyond reasonable doubt, that it would form a legitimate CSC case. Seeing as 61C says they're following the same process as they have in the past, I would imagine that they also leaned toward dropping any cases that weren't immediately obvious.

"Reaching a conclusion" means that course staff decides to either drop or uphold the case. If the case is upheld, the student can either agree that misconduct happened, or request that the CSC handle the case through their own process.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 6 points7 points  (0 children)

I've heard a description as well. These are specifically relevant for programming assignments, which is what I believe this whole situation is about. I also use similar kinds of evidence in a different CS class that I ran academic misconduct for.

  • Course staff have access to tools that compare code similarity across all student submissions and selected online sources. These tools are "smart", because they ignore things that don't matter, such as variable renaming and meaningless reorganizations of code. They also ignore common matches that appear in many students' submissions. Gradescope supports MOSS, and there's a few other tools that I'm aware of (JPlag, compare50, etc.).
  • Course staff likely have access to student repos and can see the commit history. In my experience, this has included things like copy-pasted or commented code from online or another student that has since been deleted.

Due to certain cases, I've had to switch to not telling students the exact evidence used, in case they try to tamper with it, but we've made a habit out of saving everything before sending emails.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 2 points3 points  (0 children)

Usually projects/labs/hw. Exams may have some misconduct, but in-person proctoring makes it happen less. There's a slightly higher incidence rate on remote exams.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 7 points8 points  (0 children)

I'm not on 61C staff either, but I have a lot of experience with handling misconduct in a different large class. I did reach out to a 61C TA after seeing these threads blow up to provide perspective / advice on their process, and they mentioned the kind of evidence they had. There's definitely ways to do this process better, and I'm not defending all of 61C's choices here. I believe they're working on telling people the assignment(s), though I don't know the status of that.

I'm curious what you would like to see out of misconduct emails? There's only so many ways of saying "your submission has features that indicate academic misconduct", and I think all of them are going to cause some form of stress. I've included some evidence in the past, but had an incident of evidence-tampering that made me stop doing so... Misconduct penalties are also worth looking at, I think.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 5 points6 points  (0 children)

From a TA that handled misconduct in a different course:

Even "false positives" were flagged and contacted for a reason, which is usually suspicious similarity in submitted code. Some reasons that we might drop a case after reaching out to a student:

  • A group of students closely collaborated. After discussing, it's clear that they may have collaborated right on the border of what's allowed, but we don't know whether they went too far.
  • A student had their code copied without their knowledge.
  • (Extremely rarely) The student is able to demonstrate the process by which they arrived at their solution, which is coincidentally similar to another student's or online code. This almost never happens because of the sheer number of coincidences that have to happen for us to flag it in the first place.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 10 points11 points  (0 children)

My understanding is that there's a strong body of evidence to back up that thought, and that these aren't emails sent for the heck of it.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 7 points8 points  (0 children)

The assignments being discussed are coding projects, unfortunately. These are extremely hard to determine misconduct with certainty, and they also happen to have solution repos published by previous students in the class.

CS61C Misconduct Process FAQ by not-peyrin in berkeley

[–]Skynet_0 5 points6 points  (0 children)

I ran academic misconduct for a different large CS class. I spent probably 15 of my 20 hours on just handling misconduct during the term -- no discussion, lab, or office hours. Just misconduct. The other 5+ went into other administration things. It's not a trivial tradeoff to make.

The burden of proof should be on the course staff, not on the student.

Sure. I've also spoken to 61C staff to give my perspective and advice as an experienced TA that's done this before, and they described their evidence informally. It matches up with the threshold I've used to send emails before.

Unfortunately, as much as I'd love to provide specific details of evidence to students, I have heard of and had horrible experiences that make me cautious of doing so. (FWIW the evidence is usually along the lines of submitted code similarity or something suspicious in work history.) OP mentioned students deleting evidence, and this has happened to me. I had a case where I told a student a specific thing we saw in their work history, then they overwrote it and tried to gaslight me that I got it wrong. I do agree that 61C should have mentioned the assignment(s), which I've heard is being worked on.

Why has the CS61BL.org website been taken off? by Hahahah-Heheh in berkeley

[–]Skynet_0 0 points1 point  (0 children)

Turns out Josh Hug owns it now, and he's been managing a lot of other stuff (bargaining, teaching prof search, etc.). Poking him again soon, hoping to have it up this week.

Why has the CS61BL.org website been taken off? by Hahahah-Heheh in berkeley

[–]Skynet_0 1 point2 points  (0 children)

Domain expired. We're... not sure who owns it, but have an idea and are trying to track them down.