@@ -5,11 +5,24 @@ redirect_from:
5
5
- /developer/project_ideas
6
6
---
7
7
8
- We are thrilled to announce that Submitty has been accepted
9
- to [ Google Summer of Code (GSoC) 2023] ( https://summerofcode.withgoogle.com/ ) .
10
- See [ Submitty GSoC Application & Reports] ( /developer/google_summer_of_code/index ) for more information about
11
- the application process and to read reports from Submitty GSoC contributors
12
- from Summers 2018, 2019, 2020, and 2022.
8
+ Submitty has been a participating organization of [ Google Summer of
9
+ Code] ( https://summerofcode.withgoogle.com/ ) for five successful
10
+ seasons.
11
+ See [ Submitty GSoC Application & Reports] ( /developer/google_summer_of_code/index ) for more information
12
+ about the application process and to read reports from Submitty GSoC
13
+ contributors from Summers 2018, 2019, 2020, 2022, and 2023.
14
+ We have applied for selection for Summer 2024 and our Project Ideas
15
+ list below has been updated. The organizations selected for Summer
16
+ 2024 Google Summer of Code will be announced in late February.
17
+
18
+ [ comment] : <> _ NOTE: The organizations selected for Summer 2023 Google Summer of
19
+ [ comment] : <> Code will be announced in late February. The instructions below
20
+ [ comment] : <> are from 2022 and will be updated if Submitty is accepted!_
21
+
22
+ [ comment] : <> We are thrilled to announce that Submitty has been accepted
23
+ [ comment] : <> to [ Google Summer of Code (GSoC) 2023] ( https://summerofcode.withgoogle.com/ ) .
24
+
25
+
13
26
14
27
15
28
The project ideas listed below target a variety of different topics
@@ -19,41 +32,78 @@ projects varies, and may require different overall time commitments
19
32
also interested in project proposals based on other topics from our
20
33
list of open bugs and feature requests. Submit questions or comments
21
34
on specific issues through our [ Submitty GitHub Issue
22
- Tracker] ( https://github.com/Submitty/Submitty/issues ) .
35
+ Tracker] ( https://github.com/Submitty/Submitty/issues ) and
36
+ join
37
+ our [ Zulip server] ( /contact ) to meet the Submitty mentors and other new
38
+ developers.
23
39
24
40
25
- 1 . ** Refactor and Performance Improvements for the Manual/TA Grading Interface**
41
+ 1 . ** Expand Testing of the Manual/TA Rubric Grading Interface**
26
42
27
43
[ Overview of Rubric Grading Interface] ( /grader/rubric_grading/index )
28
44
29
45
Our TA grading interface is elaborate, highly-featured, and
30
46
customizable. However, the interface is visually overwhelming to
31
- new graders. Some of our TA grading features are not adequately
32
- tested by automated unit and end-to-end regression testing.
33
- Finally, the performance of these webpages is problematic for large
34
- courses due to inefficient database queries.
35
-
47
+ new graders and some of our TA grading features are not adequately
48
+ tested by automated unit and end-to-end (Cypress) regression testing.
36
49
37
50
[ 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 )
38
51
39
- _ Expected Outcomes_ : The goal would be to
40
- expand the automated testing of the TA Grading pages,
41
- patch bugs uncovered by this improved testing,
42
- refactor the existing code and SQL queries to improve performance, and
43
- possibly propose and execute small user interface revisions .
52
+ _ Expected Outcomes_ : The goals of a project on TA grading would
53
+ include expantion of our automated testing of the TA Grading pages,
54
+ and to patch bugs uncovered by this improved testing. The project may be
55
+ expanded in scope to additionally propose and execute small or modest user
56
+ interface revisions that enhance the TA experience .
44
57
45
- _ Skills & Experience Required_ : Some programming experience, willingness to
46
- learn web and database development. Having served as a teaching
47
- assistant or instructor with grading experience
58
+ _ Skills & Experience Required_ : Some programming experience,
59
+ willingness to learn web and database development and
60
+ the Cypress end-to-end automated testing framework. Having served
61
+ as a teaching assistant or instructor with grading experience
48
62
design will be beneficial.
49
63
50
- _ Possible Mentors_ : Barb Cutler, Jensen Li
64
+ _ Possible Mentors_ : Barb Cutler, Nia Heermance
65
+
66
+ _ GSoC Project Size_ : 90 or 175 hours
67
+
68
+ _ Difficulty Level_ : medium
69
+
70
+
71
+ 2 . ** Refactor and Performance Improvements for the Manual/TA Rubric Grading Interface**
72
+
73
+ [ Overview of Rubric Grading Interface] ( /grader/rubric_grading/index )
74
+
75
+ Note: This project may be combined with the previous project idea.
76
+ The Manual/TA rubric grading interface is elaborate, highly-featured, and
77
+ customizable; however, the performance of these webpages is
78
+ problematic for large courses due to inefficient database queries and
79
+ delays to load data from the server that could/should be asynchronous.
80
+ The manual/TA rubric pages could benefit from a significant
81
+ technology refactor to use Vue/Vite, for example.
51
82
52
- _ GSoC Project Size_ : 350 hours
83
+ [ 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 )
84
+
85
+ _ Expected Outcomes_ : A detailed software design for an organized, multi-stage
86
+ refactor of the manual/TA rubric pages and the execution/implementation of
87
+ a significant portion of the new design. The project will likely require the
88
+ extension and/or updating of our automated end-to-end (Cypress) testing and patching
89
+ bugs uncovered by this testing. The general interface for TA/Manual grading
90
+ should remain similar, but the project may include small user
91
+ interface revisions.
92
+
93
+ _ Skills & Experience Required_ : Web and database development experience.
94
+ Experience with end-to-end automated testing (Cypress) and and having served
95
+ as a teaching assistant or instructor with grading experience
96
+ design is beneficial but not required.
97
+
98
+ _ Possible Mentors_ : Barb Cutler, Nia Heermance
99
+
100
+ _ GSoC Project Size_ : 175 or 350 hours
53
101
54
102
_ Difficulty Level_ : medium or hard
55
103
56
- 2 . ** Streamline instructor configuration of automated grading**
104
+
105
+
106
+ 3 . ** Streamline instructor configuration of automated grading**
57
107
58
108
Currently, instructors must write a configuration as a ` config.json `
59
109
(and any necessary additional files) and upload or store these
@@ -83,111 +133,14 @@ Tracker](https://github.com/Submitty/Submitty/issues).
83
133
assistant or instructor with experience in programming assignment
84
134
design will be beneficial.
85
135
86
- _ Possible Mentors_ : Barb Cutler, Jasmine Plum
87
-
88
- _ GSoC Project Size_ : 350 hours
89
-
90
- _ Difficulty Level_ : medium or hard
91
-
92
-
93
-
94
- 3 . ** Containers for Automated Grading**
95
-
96
- Automated testing of student submitted software carries system and
97
- security risks from malicious code but also simply buggy or inefficient
98
- code. Upper level coursework on advanced topics in computer
99
- science including networking, operating systems, and kernel
100
- development are especially complex challenges.
101
-
102
- Submitty supports a variety of tools to securely test including
103
- both sandboxing and containerization (Docker). These tools must
104
- manage and limit system resources (time, CPU, processes, memory,
105
- files, system calls, sockets, etc.)
106
-
107
- We provide container images appropriate for the most common
108
- programming languages (Python, C/C++, Java) used in introductory
109
- programming courses.
110
-
111
- [ https://hub.docker.com/u/submitty ] ( https://hub.docker.com/u/submitty )
112
-
113
- The next step is to facilitate the creation of instructor-customized
114
- container images (with specific languages,
115
- packages, databases, etc.). Care must be taken to ensure small
116
- container size and efficient performance.
117
-
118
- Advanced project idea: We would like to use Submitty to
119
- automatically test and grade homework assignments that require
120
- modifications to the operating system kernel. Before doing so on a
121
- production machine, we need to do testing to ensure the right
122
- controls are in place.
123
-
124
- [ Open Issues related to Container Autograding] ( https://github.com/Submitty/Submitty/labels/Docker%2FDockerImages )
125
-
126
- _ Expected Outcomes_ : Increased usage of containerized autograding in all levels
127
- of courses. Reduced size and improved performance of containerized autograding
128
- for our autograding tutorial examples and selected real-world use cases of autograding.
129
-
130
- _ Skills & Experience Required_ : Upper level coursework experience in operating
131
- systems and/or networking programming. Experience with virtual
132
- machines and Docker containerization is beneficial.
133
-
134
- _ Possible Mentors_ : Barb Cutler, William Allen, Matthew Peveler
135
-
136
- _ GSoC Project Size_ : 175 or 350 hours
137
-
138
- _ Difficulty Level_ : medium or hard
139
-
140
-
141
- 4 . ** Continuous Integration Testing**
142
-
143
- Each commit and pull request to github launches continuous
144
- integration testing of a portion of the Submitty code base. We
145
- would like to expand the code coverage of our unit and integration
146
- tests. Furthermore, some of our more complex end-to-end test case
147
- are not currently run automatically with each GitHub pull request,
148
- because the system setup is too time consuming and lengthy or
149
- unpredictable running times affect test stability. We would like to
150
- optimize our use of GitHub Actions and caching so we can run
151
- all of these test cases.
152
-
153
- [ Open Issues related to Continuous Integration] ( https://github.com/Submitty/Submitty/issues?q=is%3Aopen+is%3Aissue+label%3A%22Testing+%2F+Continuous+Integration+%28CI%29%22 )
154
-
155
- _ Expected Outcomes_ : Increased code coverage and stability of the Submitty CI test suite,
156
- increased automation of CI testing, increased performance (decreased running time)
157
- for CI testing through GitHub Actions.
158
-
159
- _ Skills & Experience Required_ : Advanced programming experience, experience
160
- with the relevant programming languages, tuning system performance, etc.
161
-
162
- _ Possible Mentors_ : Shail Patel, William Allen, Matthew Peveler
163
-
164
- _ GSoC Project Size_ : 175 or 350 hours
165
-
166
- _ Difficulty Level_ : medium or hard
167
-
168
-
169
- 5 . ** Website Security and Penetration Testing**
170
-
171
- Submitty is responsible for securing confidential information. It
172
- is important that we regularly assess the security of this data.
173
- Once a potential vulnerability is found, the system must be
174
- promptly patched and documented to prevent future problems.
175
-
176
- _ Expected Outcomes_ : Security risk assessment, identification and repair
177
- of specific security vulnerabilities, expansion and creation of continuous
178
- integration tools to prevent introduction of new vulnerabilities.
179
-
180
- _ Skills & Experience Required_ : Computer security coursework and/or practical
181
- experience searching for system vulnerabilities.
182
-
183
- _ Possible Mentors_ : Chris Reed, Matthew Peveler
136
+ _ Possible Mentors_ : Barb Cutler, William Allen
184
137
185
138
_ GSoC Project Size_ : 175 or 350 hours
186
139
187
140
_ Difficulty Level_ : medium or hard
188
141
189
142
190
- 6 . ** Instructional Materials and Documentation**
143
+ 4 . ** Instructional Materials and Documentation**
191
144
192
145
We would like to reduce the learning curve for new instructors and
193
146
provide more starter material for instructors teaching introductory
@@ -209,7 +162,7 @@ Tracker](https://github.com/Submitty/Submitty/issues).
209
162
assistant or instructor with experience in programming assignment
210
163
design will be beneficial.
211
164
212
- _ Possible Mentors_ : Barb Cutler, Jasmine Plum
165
+ _ Possible Mentors_ : Barb Cutler, William Allen
213
166
214
167
_ GSoC Project Size_ : 175 hours
215
168
0 commit comments