Fetching the latest programs, projects, and workspace data.

Homework Autograding and Course Management Tools
Showing 5 of 22 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: GarvitKhandelwal
This project develops an intelligent clustering system that groups student submissions by similar patterns, algorithmic approaches, and correctness levels. The system enables TAs to efficiently manage large-scale grading while maintaining fairness and consistency. Problem: TAs face repetitive, time-consuming grading of similar submissions with risk of inconsistency and human error, especially in large courses (100+ students). Solution: Automated clustering of submissions using hierarchical agglomerative clustering with interactive dendrogram visualization. TAs can merge/split/reject clusters, bulk apply feedback templates, and flexibly grade (bulk or individual). Key Deliverables: - Feature extraction engine (68-dim for code, 389-dim for text) - Hierarchical clustering with Ward linkage - Interactive dendrogram UI for TA manipulation - Bulk feedback application system with per-student customization - Flexible grading modes (bulk, individual, hybrid) - Comprehensive testing and documentation Expected Impact: 80-90% reduction in grading time while improving consistency and feedback quality. Time savings: 45 submissions graded in 15 minutes vs 225 minutes without clustering.
Mentors: Student: elsume
Submitty currently has bash scripts that require direct database calls. To improve maintainability, I will be working on some of Submitty’s bash scripts, converting the scripts to use the API. This will involve refactoring some existing scripts to be able to call the API. I will also expand the API to allow more remote management without requiring UI interaction. These changes will allow for better maintainability and easier utilization of the scripts.
Mentors: Student: JndlAnsh
Submitty's frontend relies on server-rendered Twig templates and jQuery for interactivity, leading to fragmented, hard-to-maintain interfaces. This project migrates Submitty's most critical pages - the TA grading interface, discussion forum, office hours queue, and rainbow grades customization to modular, reusable Vue.js components backed by clean PHP JSON APIs and centralized Pinia state management. The migration follows a progressive enhancement strategy using the Mount Container Pattern, allowing Vue components to coexist with legacy code at every stage, ensuring zero disruption to active users mid-semester. Deliverables include a reusable Vue component library, full reactive migration of the discussion forum and TA grading interface, a Pinia and Axios powered state and API layer, comprehensive unit and E2E tests, and a developer migration guide for future contributors. A proof of concept PR migrating the TA grading score box to Vue.js has already been submitted, validating the end-to-end approach before the program begins.
Mentors: Student: Nithish Reddy Banda
Instructors face significant challenges when configuring autograding systems for their courses due to limited examples, insufficient documentation, and a lack of coverage for various features. To address these issues, I propose a comprehensive solution aimed at reducing the learning curve for instructors and enhancing the functionality of autograding systems. The project focuses on three primary areas: Firstly, I aim to improve autograding examples by creating tailored solutions for specific use cases, such as evaluating compilation speed and handling distributed/networked applications. These examples will feature detailed configurations in config.json, accompanied by comprehensive documentation. Additionally, existing examples will be revamped to meet current standards and encompass a broader range of programming languages and features. Secondly, I will enhance documentation and provide illustrative examples for new autograding features that lack proper guidance. Through thorough research and collaboration with mentors, I will develop demonstrations for features like generating random input/output and utilizing customized Docker containers. The aim is to facilitate understanding and usage of these features by instructors. Lastly, to provide instructors with a user-friendly platform for configuring autograding across various educational levels, I will establish a structured repository. This repository will house a diverse array of autograding examples organized by educational level, ranging from introductory to advanced courses. Furthermore, I will encourage crowd-sourced contributions to create a comprehensive collection of programming assignments and exercises, complete with their autograding configurations. To streamline the contribution process and ensure consistency in configurations, I will implement GitHub Workflow Actions. The repository will include detailed documentation and guidelines to facilitate contribution and usage.
Mentors: Student: Sahil Suman
Submitty's autograding is complex for instructors. This project will revamp the Notebook Builder interface to be more user-friendly. Instructors will be able to create autograding configurations more easily through as new interface, improved documentation, and tutorials. The project will also add features to support compiled languages and complex grading.