<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>frontend | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/frontend/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/frontend/index.xml" rel="self" type="application/rss+xml"/><description>frontend</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Tue, 13 Jan 2026 13:00:00 -0800</lastBuildDate><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/media/logo_hub6795c39d7c5d58c9535d13299c9651f_74810_300x300_fit_lanczos_3.png</url><title>frontend</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/frontend/</link></image><item><title>Lynx Grader</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucsc/autograder/</link><pubDate>Tue, 13 Jan 2026 13:00:00 -0800</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/ucsc/autograder/</guid><description>&lt;p>The &lt;a href="https://github.com/edulinq/autograder-server" target="_blank" rel="noopener">EduLinq Lynx Grader&lt;/a> (also referred to as &amp;ldquo;autograder&amp;rdquo;) is an open source tool used by several courses at UCSC
to safely and quickly grade programming assignments.
Grading student code is something that may seem simple at first (you just need to run their code!),
but quickly becomes exceeding complex as you get more into the details.
Specifically, grading a student&amp;rsquo;s code securely while providing the &amp;ldquo;last mile&amp;rdquo; service of getting code from students
and sending results to instructors/TAs and the course&amp;rsquo;s LMS (e.g., Canvas) can be very difficult.
The Lynx Grader provides all of this in a free and open source project.
The &lt;a href="https://linqs.org" target="_blank" rel="noopener">LINQS Lab&lt;/a> has made many contributions to the maintain and improve the Lynx Grader.&lt;/p>
&lt;p>As an open source project, there are endless opportunities for development, improvements, and collaboration.
Here, we highlight some specific projects that will work well in the summer mentorship setting.&lt;/p>
&lt;p>All students interested in LINQS projects for OSRE/GSoC 2026 should fill out &lt;a href="https://forms.gle/Mr4YR3N35pWDb4uz7" target="_blank" rel="noopener">this form&lt;/a>.
Towards the end of the application window, we will contact those who we believe to be a good fit for a LINQS project.
The form will stop accepting responses once the application window closes.
Do not post on any of the project repositories about OSRE/GSoC
(e.g., comment on an issue that you want to tackle it as a part of OSRE/GSoC 2026).
Remember, these are active repositories that were not created for OSRE/GSoC.&lt;/p>
&lt;h3 id="llm-detection">LLM Detection&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>AI/ML&lt;/code> &lt;code>LLM&lt;/code> &lt;code>Research&lt;/code> &lt;code>Backend&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> software development, backend, systems, data munging, go, docker&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Challenging&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:linqs.osre26@gmail.com">Eriq Augustine&lt;/a>, &lt;a href="mailto:linqs.osre26@gmail.com">Fabrice Kurmann&lt;/a>, &lt;a href="mailto:linqs.osre26@gmail.com">Lise Getoor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>As &lt;a href="https://en.wikipedia.org/wiki/Large_language_model" target="_blank" rel="noopener">Large Language Model (LLM)&lt;/a> tools like ChatGPT become more common and powerful,
instructors need tools to help determine if students are the actual authors of the code they submit.
More classical instances of plagiarism are often discovered by code similarity tools like &lt;a href="https://theory.stanford.edu/~aiken/moss/" target="_blank" rel="noopener">MOSS&lt;/a>.
However these tools are not sufficient for detecting code written not by a student,
but by an AI model like &lt;a href="https://en.wikipedia.org/wiki/ChatGPT" target="_blank" rel="noopener">ChatGPT&lt;/a> or &lt;a href="https://en.wikipedia.org/wiki/GitHub_Copilot" target="_blank" rel="noopener">GitHub Copilot&lt;/a>.&lt;/p>
&lt;p>The task for this project is to create a system that provides a score indicating the system&amp;rsquo;s confidence that a given piece of code was written by an AI tool and not a student.
This will supplement the existing code analysis tools in the Lynx Grader.
There are many approaches to completing this task that will be considered.
A more software development approach can consist of levering exiting systems to create a production-ready system,
whereas a more research approach can consist of creating a novel approach complete with a paper and experiments.&lt;/p>
&lt;p>There has been &lt;a href="https://github.com/anvichip/AI-code-detection-ML/blob/main/experiment/report.md" target="_blank" rel="noopener">previous work on this issue&lt;/a>,
where a student did a survey of existing solutions, collection of initial datasets, and exploratory experiments on possible directions.
This project would build off of this previous work.&lt;/p>
&lt;p>See Also:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server" target="_blank" rel="noopener">Repository for Lynx Grader Server&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/issues/140" target="_blank" rel="noopener">GitHub Issue&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="code-analysis-gui">Code Analysis GUI&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Frontend&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> software development, frontend, data munging, js, css, go&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Easy&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Medium or Large (175 or 350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:linqs.osre26@gmail.com">Eriq Augustine&lt;/a>, &lt;a href="mailto:linqs.osre26@gmail.com">Fabrice Kurmann&lt;/a>, &lt;a href="mailto:linqs.osre26@gmail.com">Lise Getoor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Lynx Grader has existing functionality to analyze the code in a student&amp;rsquo;s submission for malicious content.
Relevant to this project is that the Lynx Grader can run a pairwise similarity analysis against all submitted code.
This is how most existing software plagiarism systems detect offending code.
The existing infrastructure provides detailed statistics on code similarity,
but does not currently have a visual way to display this data.&lt;/p>
&lt;p>The task for this project is to create a web GUI using the Lynx Grader REST API
to display the results of a code analysis.
The size of this project depends on how many of the existing features are going to be supported by the web GUI.&lt;/p>
&lt;p>See Also:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-web" target="_blank" rel="noopener">Repository for Lynx Grader Web GUI&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/issues/142" target="_blank" rel="noopener">GitHub Issue&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/blob/main/internal/model/analysis.go#L78" target="_blank" rel="noopener">Pairwise Code Analysis Type&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-py/blob/v0.6.16/tests/api/testdata/courses/assignments/analysis/courses_assignments_submissions_analysis_pairwise_wait.json" target="_blank" rel="noopener">Sample API Data&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="web-gui">Web GUI&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Frontend&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> software development, frontend, js, css&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Easy&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Medium or Large (175 or 350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:linqs.osre26@gmail.com">Eriq Augustine&lt;/a>, &lt;a href="mailto:linqs.osre26@gmail.com">Fabrice Kurmann&lt;/a>, &lt;a href="mailto:linqs.osre26@gmail.com">Lise Getoor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Lynx Grader contains dozens of &lt;a href="https://github.com/edulinq/autograder-server/blob/main/resources/api.json" target="_blank" rel="noopener">API endpoints&lt;/a>,
most directly representing a piece of functionality exposed to the user.
All of these features are exposed in the &lt;a href="https://github.com/edulinq/autograder-py" target="_blank" rel="noopener">Lynx Grader&amp;rsquo;s Python Interface&lt;/a>.
However, the Python interface is a purely command-line interface.
And although command-line interface are objectively (read: subjectively) the best,
a web GUI would be more accessible to a wider audience.
The autograder already has a &lt;a href="https://github.com/edulinq/autograder-web" target="_blank" rel="noopener">web GUI&lt;/a>,
but it does not cover all the features available in the Lynx Grader.&lt;/p>
&lt;p>The task for this project is to augment the Lynx Grader&amp;rsquo;s web GUI with more features.
Specifically, add support for more tools used to create and administer courses.&lt;/p>
&lt;p>See Also:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-web" target="_blank" rel="noopener">Repository for Lynx Grader Web GUI&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/issues/61" target="_blank" rel="noopener">GitHub Issue&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/blob/main/resources/api.json" target="_blank" rel="noopener">Lynx Grader API Endpoints&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-py" target="_blank" rel="noopener">Lynx Grader&amp;rsquo;s Python Interface&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Autograder</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucsc/autograder/</link><pubDate>Thu, 06 Feb 2025 13:00:00 -0800</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/ucsc/autograder/</guid><description>&lt;p>The &lt;a href="https://github.com/edulinq/autograder-server" target="_blank" rel="noopener">EduLinq Autograder&lt;/a> is an open source tool used by several courses at UCSC
to safely and quickly grade programming assignments.
Grading student code is something that may seem simple at first (you just need to run their code!),
but quickly becomes exceeding complex as you get more into the details.
Specifically, grading a student&amp;rsquo;s code securely while providing the &amp;ldquo;last mile&amp;rdquo; service of getting code from students
and sending results to instructors/TAs and the course&amp;rsquo;s LMS (e.g., Canvas) can be very difficult.
The Autograder provides all of this in a free and open source project.
The &lt;a href="https://linqs.org" target="_blank" rel="noopener">LINQS Lab&lt;/a> has made many contributions to the maintain and improve the Autograder.&lt;/p>
&lt;p>As an open source project, there are endless opportunities for development, improvements, and collaboration.
Here, we highlight some specific projects that will work well in the summer mentorship setting.&lt;/p>
&lt;p>All students interested in LINQS projects for OSRE/GSoC 2025 should fill out &lt;a href="https://forms.gle/RxGqnQiCDeHSX6tq6" target="_blank" rel="noopener">this form&lt;/a>.
Towards the end of the application window, we will contact those who we believe to be a good fit for a LINQS project.
The form will stop accepting responses once the application window closes.
Do not post on any of the project repositories about OSRE/GSoC
(e.g., comment on an issue that you want to tackle it as a part of OSRE/GSoC 2025).
Remember, these are active repositories that were not created for OSRE/GSoC.&lt;/p>
&lt;h3 id="llm-detection">LLM Detection&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>AI/ML&lt;/code> &lt;code>LLM&lt;/code> &lt;code>Research&lt;/code> &lt;code>Backend&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> software development, backend, systems, data munging, go, docker&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Challenging&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:linqs.osre25@gmail.com">Eriq Augustine&lt;/a>, &lt;a href="mailto:linqs.osre25@gmail.com">Fabrice Kurmann&lt;/a>, &lt;a href="mailto:linqs.osre25@gmail.com">Lise Getoor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>As &lt;a href="https://en.wikipedia.org/wiki/Large_language_model" target="_blank" rel="noopener">Large Language Model (LLM)&lt;/a> tools like ChatGPT become more common and powerful,
instructors need tools to help determine if students are the actual authors of the code they submit.
More classical instances of plagiarism are often discovered by code similarity tools like &lt;a href="https://theory.stanford.edu/~aiken/moss/" target="_blank" rel="noopener">MOSS&lt;/a>.
However these tools are not sufficient for detecting code written not by a student,
but by an AI model like &lt;a href="https://en.wikipedia.org/wiki/ChatGPT" target="_blank" rel="noopener">ChatGPT&lt;/a> or &lt;a href="https://en.wikipedia.org/wiki/GitHub_Copilot" target="_blank" rel="noopener">GitHub Copilot&lt;/a>.&lt;/p>
&lt;p>The task for this project is to create a system that provides a score indicating the system&amp;rsquo;s confidence that a given piece of code was written by an AI tool and not a student.
This will supplement the existing code analysis tools in the Autograder.
There are many approaches to completing this task that will be considered.
A more software development approach can consist of levering exiting systems to create a production-ready system,
whereas a more research approach can consist of creating a novel approach complete with a paper and experiments.&lt;/p>
&lt;p>See Also:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server" target="_blank" rel="noopener">Repository for Autograder Server&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/issues/140" target="_blank" rel="noopener">GitHub Issue&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="code-analysis-gui">Code Analysis GUI&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Frontend&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> software development, frontend, data munging, js, css, go&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Easy&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Medium or Large (175 or 350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:linqs.osre25@gmail.com">Eriq Augustine&lt;/a>, &lt;a href="mailto:linqs.osre25@gmail.com">Fabrice Kurmann&lt;/a>, &lt;a href="mailto:linqs.osre25@gmail.com">Lise Getoor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Autograder has existing functionality to analyze the code in a student&amp;rsquo;s submission for malicious content.
Relevant to this project is that the Autograder can run a pairwise similarity analysis against all submitted code.
This is how most existing software plagiarism systems detect offending code.
The existing infrastructure provides detailed statistics on code similarity,
but does not currently have a visual way to display this data.&lt;/p>
&lt;p>The task for this project is to create a web GUI using the Autograder REST API
to display the results of a code analysis.
The size of this project depends on how many of the existing features are going to be supported by the web GUI.&lt;/p>
&lt;p>See Also:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-web" target="_blank" rel="noopener">Repository for Autograder Web GUI&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/issues/142" target="_blank" rel="noopener">GitHub Issue&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/blob/main/internal/model/analysis.go#L78" target="_blank" rel="noopener">Pairwise Code Analysis Type&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-py/blob/main/tests/api/testdata/courses/assignments/submit/analysis/course_assignments_submissions_analysis_pairwise_wait.json" target="_blank" rel="noopener">Sample API Data&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="web-gui">Web GUI&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> &lt;code>Frontend&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> software development, frontend, js, css&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Easy&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Medium or Large (175 or 350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="mailto:linqs.osre25@gmail.com">Eriq Augustine&lt;/a>, &lt;a href="mailto:linqs.osre25@gmail.com">Fabrice Kurmann&lt;/a>, &lt;a href="mailto:linqs.osre25@gmail.com">Lise Getoor&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Autograder contains dozens of &lt;a href="https://github.com/edulinq/autograder-server/blob/main/resources/api.json" target="_blank" rel="noopener">API endpoints&lt;/a>,
most directly representing a piece of functionality exposed to the user.
All of these features are exposed in the &lt;a href="https://github.com/edulinq/autograder-py" target="_blank" rel="noopener">Autograder&amp;rsquo;s Python Interface&lt;/a>.
However, the Python interface is a purely command-line interface.
And although command-line interface are objectively (read: subjectively) the best,
a web GUI would be more accessible to a wider audience.
The autograder already has a web GUI,
but it does not cover all the features available in the Autograder.&lt;/p>
&lt;p>The task for this project is to augment the Autograder&amp;rsquo;s web GUI with more features.
Specifically, add support for more tools used to create and administer courses.&lt;/p>
&lt;p>See Also:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-web" target="_blank" rel="noopener">Repository for Autograder Web GUI&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/issues/61" target="_blank" rel="noopener">GitHub Issue&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-server/blob/main/resources/api.json" target="_blank" rel="noopener">Autograder API Endpoints&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/edulinq/autograder-py" target="_blank" rel="noopener">Autograder&amp;rsquo;s Python Interface&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>