INF205 lab worksheet 5

All of the below should be done as a programming project group (consisting of one to five people), since it has a focus on the programming project; therefore, it is allowed and expected that all the members of a programming project group work together on this, even if they are more than two people. This is different from the rule that we had for the first three worksheets, but similar to that for the fourth worksheet.

29. Glossary

Below, the number n is 2 if you are working alone or in a group of two people; it is equal to the number of group members if there are two or more group members.

Select n out of the following terms that have remained undefined in the glossary: Amdahl's law, command-line argument, compile-time (as opposed to run-time), concurrency, constant expression, dangling pointer, dynamic library, graph, heap (memory management), memory leak, operator overloading, rule of five, run-time (as opposed to compile-time), stack (memory management), synchronization.

Propose suitable glossary entries for your n selected terms. Many thanks for your help at compiling the glossary!

Plan for discussion on 24th April: We will discuss the submitted content, but without anybody presenting.

30. Programming project: Draft slides for the presentation

As a group, prepare slides for a ten-minute presentation on your project; the presentation is to be held in week 18 and 19, and you can of course update and change your slides completely until the last minute. But please do submit the draft version now, to make sure that at least a very basic version is ready.

We will not discuss this at the meeting in calendar week 17. Instead, project presentations will be held at the two tutorial meetings in week 18 and 19.

31. Programming project: Basic functionality and validation

Give an update on your progress on the basic functionality (element no. 1 of the project). If you have at least a first working version for this part of your problem, do the following:

  1. Report your result for the benchmark case, e.g., for the queens problem(s), determining the maximum number of queens on a 7x7 chessboard such that at most k = 3 queens are threatened.
  2. State what runtime you measured for the benchmark, and on what system.
  3. Submit the working version of your code jointly with an instruction on how it should be executed in order to reproduce your result.

Plan for discussion on 24th April: Up to three people from different groups can present the status of their work on the basic functionality.

32. Programming project: Special interest functionality and responsibilities

Describe the functionalities (beyond the basic functionality) that each individual in your group will be responsible for. Include a very brief statement on the status that has been reached on each of these in the meantime.

This item will not be discussed separately at the meeting on 24th April; if they want, those presenting on the next item (no. 33) can include this in their discussion.

33. Programming project: Progress on data structure implementation

Provide an update on the data structure and submit a draft version of the "data structure and input/output" part of the documentation (see element no. 3 of the project).

Plan for discussion on 24th April: Up to three people from different groups can present the status of their work on the data structure.

34. Parallelization

Have you invested some effort into parallelizing your code using MPI? If so, summarize what you did and how successful it has been, e.g., in terms of parallel speedup.

Plan for discussion on 24th April: One presentation slot; followed by a discussion among all, if there is interest and time.

(submit through Canvas by end of 23rd April 2024)

Index