[GSoC][2022] Let the summer begin!

This commit is contained in:
Diogo Peralta Cordeiro 2022-02-17 17:49:21 +00:00
parent 038d196fcd
commit 2a10c0600f
Signed by: diogo
GPG Key ID: 18D2D35001FBFAB0
5 changed files with 379 additions and 1 deletions

220
soc/2022/academics.html Normal file
View File

@ -0,0 +1,220 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Assessment | GNU social Summer of Code 2022</title>
<link rel="icon" href="../../favicon.png">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://hackersatporto.com/assets/css/main.css">
</head>
<body>
<header id="header">
<nav id="side-menu">
<label for="show-menu" id="menu-button">Menu</label>
<input id="show-menu" role="button" type="checkbox">
<ul id="menu">
<li><a href="./"><strong>&larr; GS SoC 2022</strong></a></li>
<li><a href="#Grading_System_employed_0">Grading</a></li>
<li><a href="#Web_Technologies_69">Proposal</a></li>
<li><a href="#Internship__Training_91">Summer</a></li>
</ul>
</nav>
<h1>GNU social Summer of Code 2022</h1>
</header>
<article id="about">
<h1 class="code-line" data-line-start=0 data-line-end=1 ><a id="Grading_System_employed_0"></a>Grading System employed</h1>
<h2 class="code-line" data-line-start=2 data-line-end=3 ><a id="Effective_Grading_2"></a>Effective Grading</h2>
<p class="has-line-data" data-line-start="3" data-line-end="4">Either <em>pass</em> or <em>fail</em>.</p>
<h2 class="code-line" data-line-start=5 data-line-end=6 ><a id="Qualitative_Grading_5"></a>Qualitative Grading</h2>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Grade</th>
<th>Definition</th>
</tr>
</thead>
<tbody>
<tr>
<td>31337</td>
<td>Outstanding</td>
</tr>
<tr>
<td>1337</td>
<td>Very Good</td>
</tr>
<tr>
<td>42</td>
<td>Competent</td>
</tr>
<tr>
<td>0</td>
<td>Failed</td>
</tr>
</tbody>
</table>
<h2 class="code-line" data-line-start=13 data-line-end=14 ><a id="Method_13"></a>Method</h2>
<p class="has-line-data" data-line-start="14" data-line-end="15">Graded every month, the ceiled average is the final.</p>
<p class="has-line-data" data-line-start="16" data-line-end="17">No Quantitative Grading system will be used.</p>
<p class="has-line-data" data-line-start="18" data-line-end="19">The contributions will be evaluated according to the following directives:</p>
<blockquote>
<p class="has-line-data" data-line-start="20" data-line-end="21">Autonomy with which the work was done</p>
</blockquote>
<ul>
<li class="has-line-data" data-line-start="21" data-line-end="22">Low (was unable to progress autonomously);</li>
<li class="has-line-data" data-line-start="22" data-line-end="24">Competent (some autonomy but with blocking situations that required the<br>
intervention of the mentor);</li>
<li class="has-line-data" data-line-start="24" data-line-end="26">Very Good (very good ability to solve problems independently in useful time<br>
with the mentor mostly focused on defining the next steps of the work);</li>
<li class="has-line-data" data-line-start="26" data-line-end="28">Outstanding (is sometimes able to suggest surprising and valid alternatives to what was originally planned by the mentor).</li>
</ul>
<blockquote>
<p class="has-line-data" data-line-start="28" data-line-end="29">Objectives satisfaction</p>
</blockquote>
<ul>
<li class="has-line-data" data-line-start="29" data-line-end="30">Low (haven't reached to the minimum objectives admissible for the proposed work);</li>
<li class="has-line-data" data-line-start="30" data-line-end="31">Competent (the objectives were reached though not entirely);</li>
<li class="has-line-data" data-line-start="31" data-line-end="32">Very Good (reached up fully);</li>
<li class="has-line-data" data-line-start="32" data-line-end="34">Outstanding (exceeded up the objectives set).</li>
</ul>
<blockquote>
<p class="has-line-data" data-line-start="34" data-line-end="35">Intrinsic difficulty level of their work</p>
</blockquote>
<ul>
<li class="has-line-data" data-line-start="35" data-line-end="37">Low (relatively easy work, both from a scientific or technical point of view,<br>
based on widespread knowledge);</li>
<li class="has-line-data" data-line-start="37" data-line-end="39">Competent (work with some high complexity of details requiring more advanced<br>
knowledge/expertise, either technical or scientific);</li>
<li class="has-line-data" data-line-start="39" data-line-end="41">Very Good (relatively complex work, requiring a substantial knowledge and<br>
technical skills, or resulting in some innovative contribution);</li>
<li class="has-line-data" data-line-start="41" data-line-end="43">Outstanding (InSaNe).</li>
</ul>
<h3 class="code-line" data-line-start=46 data-line-end=47 ><a id="Grade_formula_per_month_46"></a>Grade formula per month</h3>
<pre>
Autonomy level
Satisfaction of objectives | Low Competent Very Good Outstanding
-----------+-------------------------------------------------------
Low | 0 0 0 0
Competent | 42 42 42 1337
Very Good | 42 1337 1337 31337
Outstanding| 42 1337 1337 31337
Grade from matrix above
Difficulty level | 0 42 1337 31337
-----------+-----------------------------------------
Low | 0 0 42 1337
Competent | 0 42 1337 1337
Very Good | 0 1337 1337 1337
Outstanding| 0 1337 1337 31337
</pre>
<hr>
<h1 class="code-line" data-line-start=67 data-line-end=68 ><a id="Modules_67"></a>Modules</h1>
<p>N.B.: The following are the minimum averages in GNU social's Summer of Code, we will come up with a custom
"transcript" for any interested student.</p>
<h2 class="code-line" data-line-start=69 data-line-end=70 ><a id="Web_Technologies_69"></a>Web Technologies</h2>
<h3 class="code-line" data-line-start=71 data-line-end=72 ><a id="Amount_of_time_allocated_to_each_module_unit_71"></a>Amount of time allocated to each module unit</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Designation</th>
<th>Time (hours)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Autonomous study</td>
<td>80</td>
</tr>
<tr>
<td>Mentorship</td>
<td>20</td>
</tr>
<tr>
<td>Project work</td>
<td>46</td>
</tr>
<tr>
<td>Total</td>
<td>146</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=79 data-line-end=80 ><a id="Assessment_Components_79"></a>Assessment Components</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Designation</th>
<th>Weight (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Proposal</td>
<td>80</td>
</tr>
<tr>
<td>Proof of Competence</td>
<td>20</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=85 data-line-end=86 ><a id="Proposed_Credits_85"></a>Proposed Credits</h3>
<p class="has-line-data" data-line-start="86" data-line-end="88">1 Carnegie Unit<br>
5 ECTS</p>
<p><strong><a href="proposal_rating_guidelines.txt">Proposal Rating Guidelines</a></strong><p>
<hr>
<h2 class="code-line" data-line-start=91 data-line-end=92 ><a id="Internship__Training_91"></a>Internship | Training</h2>
<h3 class="code-line" data-line-start=93 data-line-end=94 ><a id="Amount_of_time_allocated_to_each_module_unit_93"></a>Amount of time allocated to each module unit</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Designation</th>
<th>Time (hours)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Internship</td>
<td>276.5</td>
</tr>
<tr>
<td>Autonomous Study</td>
<td>93.5</td>
</tr>
<tr>
<td>Final Report</td>
<td>24</td>
</tr>
<tr>
<td>Mentorship</td>
<td>44</td>
</tr>
<tr>
<td>Total</td>
<td>438</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=102 data-line-end=103 ><a id="Assessment_Components_102"></a>Assessment Components</h3>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Designation</th>
<th>Weight (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Practical or project work</td>
<td>100</td>
</tr>
</tbody>
</table>
<h3 class="code-line" data-line-start=107 data-line-end=108 ><a id="Proposed_Credits_107"></a>Proposed Credits</h3>
<p class="has-line-data" data-line-start="108" data-line-end="112">4 Carnegie Unit<br>
18 Austria, Italy, and Spain ECTS<br>
16 Finland, The Netherlands, Portugal, and Russia ECTS<br>
15 Germany, Belgium, Romania, and Hungary ECTS</p>
</article>
</body>
</html>

76
soc/2022/index.html Normal file
View File

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.86, maximum-scale=5.0, minimum-scale=0.86">
<title>GNU social &mdash; Summer of Code 2022 Ideas</title>
<link rel="shortcut icon" href="../../favicon.ico">
<link rel="stylesheet" href="../../assets/css/reset.css">
<link rel="stylesheet" href="../../assets/css/blog.css">
<link rel="stylesheet" href="../../assets/fonts/opensans/opensans.css">
</head>
<body>
<header>
<div class="home-menu menu menu-horizontal menu-fixed">
<a class="menu-heading" href="https://gnusocial.rocks/">
<img src="https://www.gnusocial.rocks/assets/img/gnu-social-logo-invert.svg" alt="GNU social">
<b>gnu
</b>social
</a>
</div>
<div class="sidebar">
<ul class="menu-list">
<li class="menu-item"><a href="/soc" class="menu-link">Programme</a></li>
<li class="menu-item menu-selected"><a href="/soc/2022" class="menu-link">2022</a></li>
<li class="menu-item"><a href="/soc/#about-soc" class="menu-link">About</a></li>
<li class="menu-item"><a href="#ideas" class="menu-link">Ideas</a></li>
<li class="menu-item"><a href="/soc/#apply" class="menu-link">Apply</a></li>
<li class="menu-item"><a href="../study_resources.html" class="menu-link">Study Resources</a></li>
<li class="menu-item"><a href="academics.html" class="menu-link">Academics</a></li>
</ul>
</div>
</header>
<div class="content-wrapper">
<div class="content soc">
<h2 class="content-head is-center">Summer of Code 2022</h2>
<article id="about">
<h2>About the programme</h2>
<p>Check the <a href="/soc/">programme page</a> to learn more about the programme and on how to apply.</p>
<p>GNU social is a social communication software used in <a href="https://blog.diogo.site/posts/what-is-the-fediverse">federated social networks</a>. It is widely supported and has a large userbase.</p>
<p>If you would like to know how is it like to be a GSoC student at GNU social, <a href="https://blog.diogo.site/posts/gsoc-2018">read this blog post</a>!</p>
</article>
<article id="stipend">
<h2>Summer Stipend</h2>
<p>We have applied as an organisation to Google Summer of Code 2022, we are still waiting for the result. In 2020 we've had a successful student supported by <a href="https://thefreaks.club/">The Freaks Club</a>, you can reach thndrbvr and try your luck, or look for another sponsor.</p>
</article>
<article id="ideas">
<h2>Ideas</h2>
<p>Below is a list of ideas you can work on this Summer at GNU social. You should pick one (or mix a couple) of them and <a href="https://agile.gnusocial.rocks/doku.php?id=affairs:development_discussion">talk on IRC about it</a>. The community will help you understanding what has to be done so you can put a good proposal together.</p>
<ul>
<li>Split Form (logic and template)</li>
<li>XMPP Plugin</li>
<li>Integrate GS cache with symfony</li>
<li>Add (verb) tags to Notes</li>
<li>Avatar cropper without JS</li>
<li>More unit tests</li>
<li>Conversations reconstructor</li>
<li>Mascot plugin</li>
<li>LinkRedirectFollowPlugin</li>
<li>JS Extras Plugin</li>
<li>URL Shortening Plugin</li>
<li>SMS Plugin</li>
<li>Rotate Background colours PS3 plugin</li>
</ul>
</article>
</div>
<footer class="l-box is-center">
This site's source is <a href="https://code.undefinedhackers.net/GNUsocial/gnusocial.rocks">hosted here</a>.
</footer>
</div>
</body>
</html>

View File

@ -0,0 +1,81 @@
# Proposal Rating Guidelines
## Scores
- 31337: Outstanding. Ex.: Went above and beyond (user stories split into small tasks, small tasks estimated,
defined MVP, planned any additional work, defined time off or limited time, well defined in case of emergency
(NOT "I will complete tasks earlier so I will have more time"))
- 1337: Very Good. Ex.: Included more than requirements (added mocks, diagrams, etc).
- 42: Competent. Ex.: Completed the minimum requirements (proposal's required questions).
- 0: Failed. Ex.: Either Below Average or Poor. Ex: Missed a few requirements (missed 1 or 2 required questions) or Didn't complete
requirements (incomplete, didn't follow template, etc).
## Key Aspects
- Idea - Does the idea solve real problems? Was the audience defined? Is it realistic, does it bring potential security
issues? As a potential user, would you use the proposed? Can problems be easier solved by existing technologies?
- Understood Project? - Did the student research other projects doing similar things? Did the student show the full
scope of the project (backend, frontend, defined APIs, database, structure models, ML models, mockups, user journey,
user stories, etc.)?
- Project Planning - Did the student understand the whole complexity of the project, show smaller tasks and estimated?
Does the student have a version when things go wrong, as planned, and better than expected? Did the student balance
whole parts of the project (frontend and backend developing simultaneously) to have a better chance to achieve working
functionality?
- Engagement - Engaged on IRC, engaged on NotABug, listened to proposal feedback and updated their proposal,
helped others, closed issues, etc.
## Criteria
Once proposals have been finalised, student proposals will be graded based on the following criteria:
### Project
- Does it solve the problem we need solving? Does applicant clearly identify the problem?
- Does it offer a sensible solution?
- Does it offer supporting evidence for technologies chosen, e.g. bootstrap. Sometimes a compare/contrast of different
technologies considered can be helpful.
- Nice bonus features in addition to the main project = good, ONLY unrelated 'bonus' features = bad.
### Plan
- Does the proposal have a realistic timeline?
- Are deliverables correct and timely?
- Does the student have enough time in the week to carry their plan?
- Bonus for "what if things go wrong planning", e.g. bonus features towards the end of the plan that can be removed
if/when the bugs strike.
### Team working skills
- Can the student carry out tasks on their own over a three month period?
- Clear evidence of communication skills
- Lower points for gross over-communication ("what should I name this variable?"), better if they quietly and
competently get the job done but interact at appropriate times, e.g. GNU social bugs, sensible progress reports.
- Is the student capable of following existing guidelines and instructions where appropriate?
## Extras
### Experience
The experience criterion isn't specifically part of the grading rubric, but it's important for us to see some of the
following in the application:
- Does the student have reasonable evidence they've competently done something relevant to this before? e.g.: one or more of
- a {NotABug, CodeBerg, GitGud, GitLab, GitHub,...} profile,
- merge requests on GNU social's repo,
- published software,
- code from a higher education institution assignment?
- Note: we don't require MRs to GNU social's repository. It's handy as a source of evidence, but any of the others
should do just fine.
- Absolutely no work available - not even a published app, some work experience, or code from a class assignment, is a
red flag.
### How the ranking process works
All students with a finalised proposal will have their proposals reviewed by one or more mentors in the organisation,
and ranked out of 4 based on the criteria above. This score will also be averaged to provide a mean result. These
scores are not the final acceptance criteria - so a 1337 won't automatically win over an 42 - but they do help provide
general guidelines for the mentors who are choosing from a large body of qualified students.
### Accepted students
Students will be notified of their acceptance by Google when all accepted students are announced, and will _not_ be
notified of their internal grades. Please note that we usually have more highly qualified applicants than slots
available for the organisation, so sometimes proposals that are genuinely very good have to be rejected. We genuinely
wish we could take you all!
Students who successfully finish the summer of code and are interested in a "GNU social Summer of Code transcript" may
request one and that will come with a score and include an adapted proposal assessing.
---
These guidelines were adapted from [InterMine](http://intermine.org/internships/guidance/grading-criteria-2019/) and AnitaB.

View File

@ -1 +1 @@
<?php header('Location: https://www.gnusocial.rocks/soc/2021', true, 302);exit;
<?php header('Location: https://www.gnusocial.rocks/soc/'.date('Y'), true, 302);exit;

View File

@ -19,6 +19,7 @@
</a>
<ul class="menu-list">
<li class="menu-item menu-selected">Editions:</li>
<li class="menu-item"><a href="2022/" class="menu-link">2022</a></li>
<li class="menu-item"><a href="2021/" class="menu-link">2021</a></li>
<li class="menu-item"><a href="2020/" class="menu-link">2020</a></li>
<li class="menu-item"><a href="2019/" class="menu-link">2019</a></li>