Questions and Answers (Labs)
Usage of terms must (not), should (not), and may according to RFC 2119. See also the general Q&A and the Q&A on lectures, seminars, and thesis projects.
How is the final grade determined?
The following aspects are considered for the final grade:
- The codebase on the main branch at the time of the code freeze.
- The user-facing and developer-facing documentation of the software project.
- The individual experience reports.
- The performance in the final presentation.
The corresponding course page lists the dates of the code freeze and the final presentation.
What should the experience report contain?
Each student submits an individual experience report of 500 to 800 words. In the report, students reflect on the development process, the end results, their own performance, and their experience during the practical course, including what they learned about software engineering. Students must write the report without GenAI tools. The corresponding course page lists the submission deadline.
How should the team organize itself? (Advanced)
In advanced labs, the students work as one team in a Scrum setup. The team members are responsible for organizing their internal communication and collaboration. In our experience, it makes sense to select one experienced student as Scrum Master and one as tech lead. These roles can rotate between sprints, but the team can also keep them for the entire practical course. We discuss the details in the kickoff meeting.
How should students organize their work? (Introductory)
In introductory labs, students work more independently, and there is no strict Scrum setup. Students can collaborate, but working individually on the topic is also fine.
What happens in a sprint review?
Advanced and introductory labs use the same meeting structure. In advanced labs, the team presents its progress and open questions in the sprint review. The product owner (PO) gives feedback that the team uses to plan the next sprint. In introductory labs, each student presents their own progress, and the supervisor gives feedback as PO. The calendar on the corresponding course page lists the dates of the sprint reviews.
Is meeting attendance mandatory?
After admission, students must attend the kickoff meeting, all sprint reviews, and the final presentation, as listed in the calendar on the corresponding course page. Students must attend in person unless the supervisor has agreed to online attendance in advance. Students who cannot attend a meeting must inform the supervisor themselves. A message from another student is not sufficient. Unexcused absences have a negative effect on the final grade.
Where is the source code hosted?
The source code, documentation, and other assets of the software must be hosted in a private repository in our GitHub organization. This eases supervision and grading. We create the repositories and grant the students access.
Under which license is the software developed?
The software is developed under the MIT license (tl;dr). This allows us to continue with the project in the future and, at the same time, allows students to use the source code under a permissive open-source license. Students who have questions or concerns about the license are asked to contact the supervisors before contributing to the project repository.
To what extent can GenAI tools be used in the practical course?
Students may use GenAI tools, including coding agents, to write, review, or debug code. However, students are responsible for all code that they contribute. They must be able to explain all of its details, including the parts that a GenAI tool generated. Students must not use GenAI tools to write their experience report, since it is a personal reflection.