Skip to content

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
  • 1 x Code Contribution +
  • Accepted Translation! or Documentation Contribution
  • B 90XP
  • Accepted Code Contribution
  • 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:

    1. Presentations given by students
    2. A large number of accepted contributions to a single project
    3. Mentions of work done by the student on the project's social media
    4. 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