In this project, you will develop and implement a tool of your choice. Your project should focus on techniques not covered by the previous projects, notably:
To get an idea on what the expectations are, here are some suggestions for concrete project ideas. You can pick one of these ideas or suggest one of your own.
Pick some git project. Which files are most frequently changed together? Visualize. Uses mining changes: “Sitemap.html and 404.html are always changed together”.
Before you start, we ask you to hand in a project proposal. You can either build it on top of the suggestions mentioned above or pursue your own project idea.
A project proposal should be a concise one-paragraph description of your idea. It should briefly address the problem at hand and how you want to approach it. Furthermore, it should indicate whether or not you plan to do your project alone or together with a partner.
To be able to work on your own project idea, you need to hand in the proposal by Wednesday, February 10, 23:59. We will then notify you, whether your project idea is approved, is approved with changes, or is rejected. If we approve it with changes, you need to agree to the changes we proposed. If we cannot achieve an agreement on the included features, you can still continue with one of the aforementioned project ideas.
For this project, you can work alone or form a team of two persons. If you form a team, please consider these additional rules:
The above suggestions list the expectations for a single-person project; your pair project thus should be sufficiently sophisticated for two persons. A team can use the above suggestions as starting points, though. The project proposal of a team must detail why it cannot be done by one person.
If you want to work in teams, you are required to build teams in the CMS until Tuesday, February 23, 23:59. You can either create or join a team on your personal page in the CMS.
Once the team building phase is over, you cannot change your team any longer. If you want to work alone, there is no need to create a team in the CMS.
The time frame for this project is 4 weeks, and the deadline is March 12, 23:59.
The submission should be in form of a Jupyter notebook and you are expected to hand in the submission as a .zip archive.
The notebook must include (but not limited to)
The "Implementation" section must contain not only the implementation (part of it can be placed in auxiliary python modules), but also explanations and reasoning (in markdown cells) behind the decisions that lead to the solution. The "Demo" section should demonstrate how to interact with the tool, its features, and the use cases.
Projects that lack explanations cannot get more than 15 points.
For this project, you can get a total of 30 Points. We will assess your submission with respect to
Please double check that your submission satisfies the submission format, as listed above.