The reviews for your API have been pushed to separate branches (one for each review with example) of your code repository in the task-1 group. The branch names match the import/api-review-s?? pattern.

Merge these branches to your master branch at your convenience (and delete the source branches afterwards). Please pay attention when merging, because each branch contains the numactl example program and there is a chance of collisions.

The best approach is to check out the individual branches, rename the files to match what you would like them to be, and then create a pull request for the branch and merge it. In each branch, the review can be found under a non-conflicting file name in the .nprg043/reviews directory, so these should not cause any trouble when merging.

Your next task is to give a short presentation of your API during the labs. More specifically, you are required to:

  • Read the reviews and consider reflecting useful feedback in your API design. This is important, because your API will be soon exported to other students so that they can write tests for it.

    This does not mean that you have to completely rework the API (like changing its style), but you should plug the most glaring holes in the design and in the documentation.

  • Prepare a PDF with a few presentation slides — assume that you will have at most 6-7 minutes (possibly including a question from the audience). This is necessary so that the presentations can be collected in advance to minimize presentation switching time.

  • Give a short talk about your API design during labs. Teams split between different labs have to give a talk during one of the labs, subject to availability/capacity limitations.

    See presentation schedule for details.

Guidelines

Content

  • Key use cases driving your requirements
    • What do you want/don’t want to support (goals/non-goals)
  • API style and overview of API usage
    • Demonstrate key concepts on the time command
    • Briefly mention advanced concepts if any
  • Present highlights of your design
    • How do you make life easier for users?
  • Incorporate comments from reviews
    • Respond to the most important ones

Execution

  • Stick to the time limit
    • Be specific, avoid general introductions
    • Keep in mind that other teams need to present too
  • Avoid black background
    • Makes the presentation difficult to view

Submission

Submit the presentation through your code repository (in the task-1 group) as a single PDF file stored in .nprg043/presentations/api-design.pdf (relative to repository root). Keep in mind that file names in GIT (and on Linux) are case-sensitive.

You may want to keep a copy of the presentation elsewhere in the project (if you want it to be part of the project structure). The same applies to source files used to produce the presentation PDF, but the api-design.pdf file must be present in the .nprg043/presentations directory at deadline.

Full points will be awarded only if you submit the presentation PDF on time AND your team gives a talk during the labs.

Please note that submissions that fail to place the slides in the required location (or use a different name) will receive a penalty of 1 point, because handling such a submission requires manual intervention.

Tag the commit (use git tag, not a commit message) with the final version of your presentation using the task-3-submission tag.

Because your code will be exported to other teams (to implement tests) just before start of Task #4, you can also use the task-4-export tag to indicate the commit at which you want your API to be exported to other students for Task #4. If there is no task-4-export tag, the repository will be exported in the state corresponding to the most recent commit on the master branch.