Skip to content

Commit 8bd6c22

Browse files
authored
[Documentation:Developer] update for GSoC 2024 application (#579)
Co-authored-by: Barb Cutler <Barb Cutler>
1 parent 8477e4b commit 8bd6c22

File tree

2 files changed

+102
-130
lines changed

2 files changed

+102
-130
lines changed

_docs/developer/getting_started/project_ideas.md

+76-123
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,24 @@ redirect_from:
55
- /developer/project_ideas
66
---
77

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+
1326

1427

1528
The project ideas listed below target a variety of different topics
@@ -19,41 +32,78 @@ projects varies, and may require different overall time commitments
1932
also interested in project proposals based on other topics from our
2033
list of open bugs and feature requests. Submit questions or comments
2134
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.
2339

2440

25-
1. **Refactor and Performance Improvements for the Manual/TA Grading Interface**
41+
1. **Expand Testing of the Manual/TA Rubric Grading Interface**
2642

2743
[Overview of Rubric Grading Interface](/grader/rubric_grading/index)
2844

2945
Our TA grading interface is elaborate, highly-featured, and
3046
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.
3649

3750
[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)
3851

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.
4457

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
4862
design will be beneficial.
4963

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.
5182

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
53101

54102
_Difficulty Level_: medium or hard
55103

56-
2. **Streamline instructor configuration of automated grading**
104+
105+
106+
3. **Streamline instructor configuration of automated grading**
57107

58108
Currently, instructors must write a configuration as a `config.json`
59109
(and any necessary additional files) and upload or store these
@@ -83,111 +133,14 @@ Tracker](https://github.com/Submitty/Submitty/issues).
83133
assistant or instructor with experience in programming assignment
84134
design will be beneficial.
85135

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
184137

185138
_GSoC Project Size_: 175 or 350 hours
186139

187140
_Difficulty Level_: medium or hard
188141

189142

190-
6. **Instructional Materials and Documentation**
143+
4. **Instructional Materials and Documentation**
191144

192145
We would like to reduce the learning curve for new instructors and
193146
provide more starter material for instructors teaching introductory
@@ -209,7 +162,7 @@ Tracker](https://github.com/Submitty/Submitty/issues).
209162
assistant or instructor with experience in programming assignment
210163
design will be beneficial.
211164

212-
_Possible Mentors_: Barb Cutler, Jasmine Plum
165+
_Possible Mentors_: Barb Cutler, William Allen
213166

214167
_GSoC Project Size_: 175 hours
215168

_docs/developer/google_summer_of_code/index.md

+26-7
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,27 @@ redirect_from:
66
---
77

88

9-
Submitty is proud to have been selected for participation in [Google
10-
Summer of Code](https://summerofcode.withgoogle.com/) for Summer 2023!
11-
This will be our fifth year participating in the program! Please read
12-
the student project reports from previous summers linked below.
9+
Submitty has been a participating organization of [Google Summer of
10+
Code](https://summerofcode.withgoogle.com/) for five successful
11+
seasons. Please read the student project reports from previous
12+
summers linked below. We have applied for selection for Summer
13+
2024 and our [Project ideas](/developer/project_ideas)
14+
list has been updated.
1315

1416

15-
[![](/images/GSoC-Vertical.png){:width="250px"}](https://summerofcode.withgoogle.com/)
16-
17+
<center>
18+
<a href="https://summerofcode.withgoogle.com"><img src="/images/GSoC-Vertical.png" width="250px"></a>
19+
</center>
1720

1821
[comment]: <> _NOTE: The organizations selected for Summer 2023 Google Summer of
1922
[comment]: <> Code will be announced in late February. The instructions below
2023
[comment]: <> are from 2022 and will be updated if Submitty is accepted!_
2124

25+
_NOTE: The organizations selected for Summer 2024 Google Summer of
26+
Code will be announced in late February. The instructions below
27+
are from 2023 and will be updated if Submitty is accepted!_
28+
29+
2230
## How to Apply to Submitty for Google Summer of Code 2023
2331

2432
1. Read the GSOC information for contributors to confirm your eligibility:
@@ -86,7 +94,18 @@ the student project reports from previous summers linked below.
8694
* [https://summerofcode.withgoogle.com/](https://summerofcode.withgoogle.com/)
8795

8896
&nbsp;
89-
97+
98+
99+
100+
## Google Summer of Code 2023
101+
102+
* [Continuous Integration Optimization by Cameron Peterson](/developer/google_summer_of_code/2023_Cameron_Peterson)
103+
104+
* [Website Security and Penetration Testing by Musaab Imran](/developer/google_summer_of_code/2023_Musaab_Imran)
105+
106+
* [Docker Containers for Autograding Improvements by Saumya Borwankar](/developer/google_summer_of_code/2023_Saumya_Borwankar)
107+
108+
90109

91110
## Google Summer of Code 2022
92111

0 commit comments

Comments
 (0)