@@ -21,17 +21,35 @@ redirect_from:
2121[ comment] : <> for Summer 20XX Google Summer of Code will be announced in late
2222[ comment] : <> February.
2323
24+
25+ ---
26+
27+ _ Submitty has been a participating organization of
28+ [ Google Summer of Code] ( /developer/google_summer_of_code/index )
29+ for six successful
30+ seasons. We have applied for selection for
31+ [ GSoC Summer 2026] ( https://summerofcode.withgoogle.com/ )
32+ and our Project Ideas
33+ list below has been updated. The organizations selected for Summer
34+ 2026 Google Summer of Code will be announced in
35+ [ late February] ( https://developers.google.com/open-source/gsoc/timeline ) ._
36+
37+ ---
38+
2439The project ideas listed below target a variety of different topics
2540and require different levels of prior experience. The scope of these
2641projects varies, and may require different overall time commitments
2742(varying full-time-work-equivalent from 1 month to 3 months). We are
2843also interested in project proposals based on other topics from our
29- list of open bugs and feature requests. Submit questions or comments
30- on specific issues through our [ Submitty GitHub Issue
31- Tracker] ( https://github.com/Submitty/Submitty/issues ) and
32- join
33- our [ Zulip server] ( /contact ) to meet the Submitty mentors and other new
34- developers.
44+ list of open bugs and feature requests.
45+
46+ Prospective Submitty contributers are encouraged to
47+ join our
48+ [ Zulip server] ( /contact ) to meet the Submitty mentors and other new
49+ developers. You may also submit questions or comments
50+ on specific issues through our
51+ [ Submitty GitHub Issue Tracker] ( https://github.com/Submitty/Submitty/issues ) .
52+
3553
3654
3755  ;
@@ -41,8 +59,9 @@ developers.
4159
4260 Submitty primarily uses server-side rendering via Twig. jQuery is
4361 used extensively throughout the site to add interactivity, but it
44- is insufficient for the most complex pages. Instead, we think
45- Vue.js is a better path forward for pages such as the TA grading
62+ is insufficient for the most complex pages. Instead, we we are moving
63+ forward with a redesign and refactor to
64+ [ Vue.js] ( https://vuejs.org/ ) for pages such as the TA grading
4665 interface, discussion forum, office hours queue, and rainbow grades
4766 customization interface. The goal of this project is to explore
4867 how we can add and improve interactivity to specific pages and
@@ -58,14 +77,14 @@ developers.
5877 experience architecting a key part of a large project, and grow their
5978 knowledge of modern web frameworks.
6079
61- [ Ongoing Work to Incorporate Vue.js] ( https://github.com/Submitty/Submitty/pulls?q=is%3Apr+vue+is%3Aclosed+ )
80+ [ Recent & Ongoing Work to Incorporate Vue.js] ( https://github.com/Submitty/Submitty/pulls?q=is%3Apr+vue )
6281 [ Open Issues related to Vue.js] ( https://github.com/Submitty/Submitty/issues?q=is%3Aissue%20state%3Aopen%20vue%20 )
6382
6483 _ Skills & Experience Required_ : Moderate to advanced programming
6584 skills, preferably with experience using modern client-side web
6685 frameworks.
6786
68- _ Possible Mentors_ : William Allen, Shail Patel , Chris Reed, Barb Cutler
87+ _ Possible Mentors_ : Justin Manion, William Allen , Chris Reed, Barb Cutler
6988 _ GSoC Project Size_ : 175 or 350 hours
7089 _ Difficulty Level_ : medium to challenging
7190
@@ -79,16 +98,24 @@ developers.
7998
8099 Our TA grading interface is elaborate, highly-featured, and
81100 customizable. However, the interface is visually overwhelming to
82- new graders and some of our TA grading features are not adequately
83- tested by automated unit and end-to-end (Cypress) regression testing.
101+ new graders and new instructors. We would like to simplify the
102+ default environment configuration and improve the on-page
103+ documentation to make Submitty more intuitive for new users.
104+
105+ Furthermore, some of our TA grading features are not adequately
106+ tested by automated unit and end-to-end (Cypress) regression
107+ testing. Our development environment includes a large variety of
108+ synthetic data for testing, but the coverage of that data for our
109+ large and growing feature set is incomplete. The scripts to
110+ randomly generate this synthetic data should be refactored to allow
111+ for more flexibility and control to ensure we can adequately test
112+ all new and existing functionality.
84113
85114 [ Open Issues related to TA Grading] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22TA+Grading+%2F+TA+UI%22 )
86- [ Open Issues related to Sample Data] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Sample+Data%22 )
115+ [ Open Issues related to Synthetic Sample Data] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Sample+Data%22 )
87116 [ Related Prior GSoC Project: Cameron Peterson] ( /developer/google_summer_of_code/2023_Cameron_Peterson )
88117 [ Related Prior GSoC Project: Rahul Vishwakarma] ( /developer/google_summer_of_code/2024_Rahul_Vishwakarma )
89118
90- _ Note: This project may be combined with the previous project idea._
91-
92119 _ Expected Outcomes_ : The primary goals for this project include the
93120 expansion of our automated testing of the TA Grading pages and to
94121 patch bugs uncovered by this improved testing. The project may be
@@ -114,17 +141,25 @@ developers.
114141
115142 [ Overview of Rubric Grading Interface] ( /grader/rubric_grading/index )
116143
117- _ Note: This project may be combined with one of the previous project ideas._
118-
119144 The Manual/TA rubric grading interface is elaborate,
120145 highly-featured, and customizable; however, the performance of
121146 these webpages is problematic for large courses due to inefficient
122147 database queries and server communication delays to load data that
123148 could/should be asynchronous. The manual/TA rubric pages could
124- benefit from a significant technology refactor to use Vue/Vite, for
125- example.
149+ benefit from a significant technology refactor to use
150+ [ Vue.js] ( https://vuejs.org/ ) , for example.
151+
152+ We also have quality of life and efficiency feature requests for
153+ _ power user_ graders and instructors teaching large enrollment
154+ courses with a sizeable team of teaching assistants and graders.
155+ Some of the advanced features include: Automated redaction of
156+ student names to facilitate anonymized grading, dynamic indicators
157+ to show when another grader is actively viewing/grading this
158+ student, and streamlining grading by showing individual pages of a
159+ student exam rather than the entire .pdf.
126160
127- [ Open Issues related to TA Grading] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22TA+Grading+%2F+TA+UI%22 )
161+ [ Open Issues related to TA Grading] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22TA+Grading+%2F+TA+UI%22 )
162+ [ Related Prior RCOS Project: Alexander Lavallee] ( /developer/rensselaer_center_for_open_source/2025_Alexander_Lavallee )
128163
129164 _ Expected Outcomes_ : This project would first prepare a detailed
130165 software design plan for an organized, multi-stage incremental
@@ -142,7 +177,7 @@ developers.
142177 _ Skills & Experience Required_ : Web and database development
143178 experience and general software design and implementation
144179 experience. Experience with end-to-end automated testing (Cypress)
145- and and having served as a teaching assistant with grading
180+ and having served as a teaching assistant with grading
146181 experience design is beneficial but not required.
147182
148183 _ Possible Mentors_ : William Allen, Barb Cutler
@@ -157,16 +192,16 @@ developers.
157192 Our system for automated testing and grading of student work is
158193 very powerful, but the configuration process that instructors must
159194 navigate is complex and time-consuming. While we provide a number
160- of examples, the number of choices for development of an
161- autograding configuration is overwhelming. The primary method for
162- creating an autograding configuration is to prepare a ` config.json `
163- file (and any necessary additional files) and upload or store these
164- files on the server file system. We have a prototype Web GUI
165- interface we call the "Notebook Builder" but the current state of
166- the feature is undocumented and functionality is limited. We
167- would like to improve and expand this feature to facilitate
168- instructor creation of basic and moderate complexity autograding
169- configurations.
195+ of illustrative examples, the development of a new autograding
196+ configuration is overwhelming -- even for an instructor with prior
197+ experience. The primary method for creating an autograding
198+ configuration is to prepare a ` config.json ` file ( and any necessary
199+ additional files) and upload or store these files on the server
200+ file system. We have a prototype Web GUI interface we call the
201+ "Notebook Builder" but the current state of the feature is
202+ undocumented and functionality is limited. We would like to
203+ improve and expand this feature to facilitate instructor creation
204+ of basic and moderate complexity autograding configurations.
170205
171206 [ Assignment Autograding Configuration Instructions] ( /instructor/autograding/specification )
172207 [ Notebook Assignment Configuration] ( /instructor/assignment_configuration/notebook )
@@ -179,7 +214,8 @@ developers.
179214
180215 [ Open Issues related to Autograding] ( https://github.com/Submitty/Submitty/labels/Autograding )
181216 [ Open Issues related to Notebook / Notebook Builder] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Notebook+%2F+Notebook+Builder%22 )
182- [ Related Prior GSoC Project: Sahil Suman] ( /developer/google_summer_of_code/2024_Sahil_Suman )
217+ [ Related Prior GSoC Project: Sahil Suman] ( /developer/google_summer_of_code/2024_Sahil_Suman )
218+ [ Related Prior RCOS Project: Justin Manion] ( /developer/rensselaer_center_for_open_source/2025_Justin_Manion )
183219
184220 _ Expected Outcomes_ : The primary focus of the project is the
185221 revision and expansion of the Notebook Builder UI to increase the
@@ -197,16 +233,14 @@ developers.
197233 instructor with experience in programming assignment design will be
198234 beneficial but not required.
199235
200- _ Possible Mentors_ : Barb Cutler, Chris Reed
236+ _ Possible Mentors_ : Justin Manion, Barb Cutler, Chris Reed
201237 _ GSoC Project Size_ : 90 or 175 or 350 hours
202238 _ Difficulty Level_ : introductory or medium
203239
204240   ;
205241
2062425 . ** Expansion of Examples and Documentation of Intermediate and Advanced Autograding Features**
207243
208- _ Note: This project is related to previous project idea but is a distinct project._
209-
210244 Our system for automated testing and automated grading of student
211245 work is very powerful and highly-customizable, but the
212246 documentation for our moderate and advanced autograding features is
@@ -252,7 +286,7 @@ developers.
252286 Having served as a teaching assistant or instructor with experience
253287 in programming assignment design will be beneficial.
254288
255- _ Possible Mentors_ : Shail Patel, Chris Reed, Barb Cutler
289+ _ Possible Mentors_ : Chris Reed, Barb Cutler
256290 _ GSoC Project Size_ : 175 or 350 hours
257291 _ Difficulty Level_ : medium to challenging
258292
@@ -325,9 +359,11 @@ developers.
3253597 . ** Other Topics**
326360
327361 The Submitty team welcomes GSoC project proposals on other topics
328- related to items in our GitHub issue tracker. A successful
329- application would select one or more issues of moderate scope
330- proportional to the applicant's time commitment and prior
362+ requested by our student, TA, and instructor users. We track
363+ requests for new features in our
364+ [ Submitty GitHub Issue Tracker] ( https://github.com/Submitty/Submitty/issues ) . A
365+ successful application would select one or more issues of moderate
366+ scope proportional to the applicant's time commitment and prior
331367 experience. Be sure to join our [ Zulip server] ( /contact ) to meet
332368 the Submitty mentors and other new developers and discuss your
333369 interests and project plans.
@@ -336,22 +372,24 @@ developers.
336372 willingness to learn web and database development, and additional
337373 specific skills as appropriate.
338374
339- _ Possible Mentors_ : Barb Cutler, William Allen, Shail Patel , Cameron Peterson, Chris Reed, Matthew Peveler, Preston Carman
375+ _ Possible Mentors_ : Barb Cutler, William Allen, Justin Manion , Cameron Peterson, Chris Reed, Shail Patel , Matthew Peveler, Preston Carman
340376 _ GSoC Project Size_ : 90 or 175 or 350 hours
341377 _ Difficulty Level_ : introductory to medium to challenging
342378
343379  ;
344380
345381See also:
346382
347- * [ Submitty GitHub Issue Tracker ] ( https://github.com/Submitty/Submitty/issues )
383+ * [ Suggestions for New Developers ] ( /developer )
348384
349- * [ Developer] ( /developer ) pages
385+ * [ Contact Us on Zulip] ( /contact )
386+
387+ * [ Submitty GitHub Issue Tracker] ( https://github.com/Submitty/Submitty/issues )
350388
351- * [ Review a Pull Request] ( /developer/getting_started/review_a_pull_request )
389+ * [ How to Review a Pull Request] ( /developer/getting_started/review_a_pull_request )
352390
353- * [ Make a Pull Request] ( /developer/getting_started/make_a_pull_request )
391+ * [ How to Make a Pull Request] ( /developer/getting_started/make_a_pull_request )
354392
355- * [ Edit Submitty Documentation] ( /developer/getting_started/edit_submitty_documentation )
393+ * [ How to Edit Submitty Documentation] ( /developer/getting_started/edit_submitty_documentation )
356394
357395
0 commit comments