Inspiration

I was inspired by a online school teacher teaching computer science. With AI tools becoming more popular, they may be seen as an easy path for certain students to achieve high grades. The teacher would call students who she suspected of academic dishonesty by generating their code with AI into an online meeting with her to explain their code line by line. This was a very time consuming process which may also introduce biases. Our project allows the teacher to save time, especially with big classes, in order to ensure that students are learning in school in an honest fashion. By turning this process into a teacherless interview with Ribbon, it saves the teacher precious time that could otherwise be used on more productive tasks such as marking. We maintain the same principle of having students explain their code in order to determine whether they used AI or not. Since if they are not able to explain what the code does and why they chose to write that, then it is quite possible that it is not their work.

What it does

Codefessor simulates a lightweight, AI-led interview based on a student's code submission:

  • Generates personalized, context-aware questions.
  • Conducts an interactive Q&A to assess the student’s comprehension.
  • Outputs an AI-generated score that reflects the likelihood that the student understands their code.
  • Offers feedback and flags suspicious submissions for further review.

It’s lightweight, fast, and easy to navigate, without grilling, just guiding.

How we built it

Frontend: HTML, CSS, and JavaScript

Backend: A Node.js proxy server that takes in the student’s code. Gemini then processes this code and generates tailored questions (along with generic ones, ie, what does the code do, why did you choose this as the solution to your problem) around the specific code. The server then sends an interview request to Ribbon along with context. off to the AI for question generation and scoring, then sends it all back in a nice package.

AI Model: Gemini 1.5 Flash, Ribbon AI

Challenges we ran into

Literally everything; however, we specifically encountered many challenges with passing context into the Ribbon AI. There was no documentation on passing data in (other than questions), and getting a specific analysis.

What's next for Codefessor

  • Version Tracking: Let professors see how code evolved over time, the progression of student code over time.
  • Plagiarism Overlay: Cross-reference interviews with common AI-generated answers.
  • Classroom Integration: Plug into LMS systems (GC, D2L, etc) for easier access.
  • Expansion into other subjects: Other teachers such as English teachers may also benefit from this tool by having students explain their thinking for a project where they may be tempted to use AI.
  • Allowing students to dispute a AI detection and provide proof for false accusations.

Built With

Share this project:

Updates