This is not really a graded task, but before we move on to the graded tasks, you need to find a colleague to form a two-member team.

Together, you will be designing a library API, implementing it, and giving two presentations about it (i.e., 4 out of 7 tasks). It also means that the team has to agree upon the implementation language and coding style.

The members of a team can be enrolled in different lab sessions, but the team must give a presentation during one of the sessions (we will sort out which one prior to the respective lab sessions).

Next step

If you don’t have a team yet, visit the Forum project’s issue tracker and post a public issue indicating that you are looking for a team.

You you already have a team, post a confidential issue in the Forum (or send an e-mail to the course instructor) with the following information:

  • SIS/GitLab login of each member
  • the programming language your team will be using (for API and implementation)
    • only statically-typed languages are allowed (i.e., Java, C##, C++, Scala)
    • the goal is to play with and make the most of the type system
    • another limitation is that for a language to be accepted, there must be enough students willing to write tests and review code written in it
    • the language used by the team cannot be changed between assignments (team will be working together on a single project even though the assignments are incremental)
  • preferred languages for each member (for reviews and test writing)
    • e.g., as follows: C++ > Java == C# >> Scala, which can be read as “I prefer C++, but I can review code/write tests in Java and C# reasonably well and — if really necessary — I can review Scala code, but don’t get your hopes high.”
    • do not include languages that you are unwilling to at least review