Assessment
As you can see in Lesson 01, this course allows for a great deal of freedom, and it is organized through gamification. Each participant creates a profile in the repository and earns skills (and XP) by completing the available activities. All submissions are made via PR to the course repository.
The final grade is a combination of the total amount of XP received for completing tasks, the amount of XP obtained from group members, and some barrier criteria. The table below summarizes these conditions:
Grade | Score | Extra Criteria |
---|---|---|
I | ---- | Did not complete any tutorial activities |
D | ---- | Completed all lesson activities but did not reach a C grade |
C | 45XP | |
B | 90XP | |
A | 150XP | |
A+ | 200XP |
Throughout the semester, the scores in the table above may be revised downward, but never upward.
Available Skills
Each skill translates into evidence for one of the learning objectives of the course. The collection of all the skills completed during the semester indicates the proficiency of the students in each of the objectives.
Tutorial
In this initial part, preparatory activities are carried out to support the development of skills in Code and Community skills.
id | Name | Description | XP | Date | |
---|---|---|---|---|---|
1 | First Steps | Added to the discipline's repository. | 2 | 25/09 | |
2 | Exploring a Project's Environment | Researched the history and community of people and services around a project. | 3 | 25/09 | |
3 | Undocumented Project | Received an undocumented system and got it up and running. | 5 | 25/09 | |
4 | Professional Project | Refactored poorly written code and created a web page for it. | 5 | 25/09 | |
5 | Tested and Approved | Created unit tests and interface tests for the challenge server. | 5 | 25/09 | |
6 | Python Package | Created a Python package installable via pip. | 3 | 25/09 | |
7 | Dockerfile | Created automated deployment for a Python web system. | 3 | 25/09 | |
8 | Basic Translation | Used translation tools to translate and localize a small command-line program. | 2 | 25/09 | |
10 | FLOSS Research | Delivered a long presentation on a recent and relevant topic related to free and open-source software. | 5 | 04/12 | |
11 | Better code | Addressed linting problems in a poorly written project | 5 | 25/09 | |
12 | Release created | Created a release and published a binary package for users | 5 | 25/09 |
Code
Any activity that results in a code contribution to open-source software projects is accepted in the course.
id | Name | Description | XP | Date | |
---|---|---|---|---|---|
21 | Code Contribution | Submitted a pull request fixing a bug. | 7 | 04/12 | |
22 | Contribution Accepted! | A non-trivial pull request was accepted by an external project. | 13 | 04/12 | |
23 | Simple Contribution Accepted! | A simple pull request (with trivial changes or small code refactorings) was accepted by an external project. | 3 | 04/12 | |
24 | Bug Report | Reported a bug in a repository, and another user was able to reproduce it. | 5 | 04/12 | |
25 | Feature Request | Made a request for a new feature in a software. | 2 | 04/12 | |
26 | INSPER Project | Made additional contributions to an INSPER educational project. | 5 | 04/12 |
Community
A software project is also defined by the interactions of all the people around it: users, developers, and translators. This category includes non-technical contributions that benefit these individuals.
id | Name | Description | XP | Date | |
---|---|---|---|---|---|
40 | Indirect Issue | Conversations in an issue or pull request led other users to open issues reporting new bugs/improvements. | 3 | 04/12 | |
41 | Beta Tester | When reproducing a bug, you discovered that it had already been fixed and caused the closure of an issue. | 3 | 04/12 | |
42 | Translation Accepted! | Made a translation that was accepted in an open-source software. | 5 | 04/12 | |
43 | New Languages | Added support for translations in a previously non-translatable software. | 10 | 04/12 | |
44 | Reviewer | Reviewed minor errors in the documentation of a project, and your modifications were accepted. | 2 | 04/12 | |
45 | Documentation Contribution | Closed an issue marked as docs . |
7 | 04/12 | |
46 | Project Pitch | Delivered a project pitch. | 0 | 04/12 | |
47 | Pitch Accepted! | Contributed to a project presented in class. | 5 | 04/12 | |
48 | Accepted Suggestion! | Another student contributed to the project you pitched. | 3 | 04/12 | |
49 | PR Replay | Presented (in 15 minutes) the process of resolving a bug in class. | 5 | 04/12 |
Impact
This category encompasses skills that represent the impact generated by the activities performed within the context of the course, both on a software project and the community around it. This includes:
- Presentations given by students
- A large number of accepted contributions to a single project
- Mentions of work done by the student on the project's social media
- Releases containing commits made within the course's context
id | Name | Description | XP | Date | |
---|---|---|---|---|---|
60 | Speaker | Gave a talk about libraries or open-source software. | 20 | 04/12 | |
61 | Helpdesk | Had an accepted answer on sites like StackOverflow or email lists. | 4 | 04/12 | |
62 | Published Contribution | One of your contributions was included in a release. | 10 | 04/12 | |
63 | VIP Guest | After making a contribution, someone from the project asked you to perform a task. After delivering the task, add this skill. | 5 | 04/12 | |
64 | 3 Submitted PRs | Submitted 3 pull requests to the same project. | 10 | 04/12 | |
65 | 3 Accepted PRs | 3 pull requests you submitted to a project were accepted. | 30 | 04/12 | |
66 | Shoutout | Something you did was mentioned by the project on social media or through an official channel. | 10 | 04/12 | |
77 | Hacktoberfest | Participated in Hacktoberfest by submitting 3 pull requests to external projects. | 20 | 04/12 |