Syllabus
Assessment
This course has a gamified assessment system. At any time, you can check your grade by running:
Biweekly reports will be sent with a summary of what has been delivered and which criteria have been met, as well as the student's current grade. There is no possibility of losing points. Although the report is for informational purposes only, if the student is not failing due to absences, they should receive the grade indicated in the biweekly reports.
Attention
The complete list of rules is available on the Course Rules page and is the official reference for grade calculation. If there is a discrepancy between the report and the rules page, consider the report to be buggy.
Schedule
- MON 13:30 - 15:30
- WED 13:30 - 15:30
- Office Hours: on demand
Student support hours
- WED 10:00 - 11:30
Lesson Plan
The following activities are planned. The program is subject to changes and adaptations as the course progresses.
Date | Question/Problem/Challenge | Content |
---|---|---|
14/08 | Introduction to the course and its challenges | Workflow with distributed version control: forks, patches, pull requests, and local repositories. Technical and non-technical aspects surrounding software: infrastructure, support, marketing, funding. Reference: FOGEL Ch. 3; Additional reading: TAPSCOTT & WILLIAMS. |
19/08 | First code contribution | Workflow with distributed version control: ammend, rebase, revert. |
31/12 | Project documentation and what to do when it doesn't exist | Types of documentation (user, developer). Source code documentation systems: doxygen, Javadoc, pydoc, sphinx; Reference: FOGEL Ch. 3 (Wikis, Website) |
26/08 | Studio class for "Professional Project" activity | Studio class for "Professional Project" activity |
28/08 | Ensuring others can work on the project: API documentation | code quality |
02/09 | Software distribution and versioning | Software distribution tools. Types of distribution. Versioning schemes. Reference: FOGEL Ch. 7 |
04/09 | How to make software work in multiple countries? | Localization and internationalization. Gettext tool for translations and .po format. |
09/09 | Software testing | Types of software testing: unit, integration, and interface. Testing tools: pytest, selenium. |
11/09 | Studio class for "Software Testing" activity | Studio class for "Software Testing" activity |
16/09 | Software licenses | Copyrights in Brazil, patents, and software licenses; Reference: LAURENT Ch. 1 and 5, STALLMAN Ch. 6 |
31/12 | Introduction to contributions in open projects - Activity "My First Contribution" | Studio class for group activity "My First Contribution" |
23/09 | Studio class for group activity "My First Contribution" | Studio class for group activity "My First Contribution" |
25/09 | Studio class for group activity "My First Contribution" | Studio class for group activity "My First Contribution" |
30/09 | EXAM WEEK | EXAM WEEK |
02/10 | EXAM WEEK | EXAM WEEK |
07/10 | Working in software communities | Assessment metrics for the second part of the course; Communication and teamwork. Reference: RAYMOND Ch. 4 |
09/10 | Course project | Studio class for project development |
14/10 | Course project | Studio class for project development |
16/10 | Course project | Studio class for project development |
21/10 | Course project | Studio class for project development |
23/10 | Course project | Studio class for project development |
28/10 | Course project | Studio class for project development |
30/10 | Course project | Studio class for project development |
04/11 | Course project | Studio class for project development |
06/11 | Course project | Studio class for project development |
11/11 | Topics on free culture and software communities | Topics on free culture and software communities |
13/11 | Topics on free culture and software communities | Topics on free culture and software communities |
18/11 | Topics on free culture and software communities | Topics on free culture and software communities |
20/11 | PUBLIC HOLIDAY | PUBLIC HOLIDAY |
25/11 | Topics on free culture and software communities | Topics on free culture and software communities |
27/11 | Topics on free culture and software communities | Topics on free culture and software communities |
02/12 | EXAM WEEK | EXAM WEEK |
04/12 | EXAM WEEK | EXAM WEEK |