Programming project: Topics

Select your topic until 5th November 2022 by the latest (submission through Canvas).

You can give the suggested topics an interpretation to make them most relevant to your experience, interest, and use cases from other work. They are meant as proposals for interesting project work, not as "exam questions" with a right and wrong answer. The grade will be based on how you address data structures, algorithms/performance, and concurrency from the specific perspective under which you address the problem.


Pixels to circles

Summary

As an input, a two-dimensional image or landscape is given by an n x n square of black-and-white pixels.

Your code should create an approximation of this landscape by a set of superimposed circular disks. It should aim at the best possible accuracy for a given maximum number of circular disks that can be varied as part of the input. It should also be able to generate a lossless representation of the image/landscape using an unlimited number of circular disks.

More material on the topic will be provided as time progresses, based on our discussions and any concrete requests for more precise information. See also the benchmark generator and the benchmark series.


Paths in labelled graphs

Summary

This problem with graphs where both the nodes and the edges are labelled. The user provides the following input:

Your algorithm and implementation should determine whether there are any nodes in the graph that are simultaneously connected both by a path with edge labels corresponding to the sequence p and also by a path with edge labels corresponding to the sequence q.

More material on the topic will be provided as time progresses, based on our discussions and any concrete requests for more precise information. See also the questions & answers and the benchmark input generator.


Minimize overlap between spheres

Summary

There are a n spheres, for each of which the diameter and the coordinate of the centre is given as part of the input. Your code should, as a first functionality (which already existed in code from the lecture), be able to efficiently compute the number of overlaps. As a second functionality, the code should (re)arrange the spheres, confined within a finite volume, in order to reduce the number of overlaps. In particular, where possible, a configuration completely without overlaps should be generated.

More material on the topic will be provided as time progresses, based on our discussions and any concrete requests for more precise information. See also the benchmark input generator.


Binary classification problem

Summary

Solving a binary classification problem by an artificial neural network.

More material on the topic will be provided as time progresses, based on our discussions and any concrete requests for more precise information.


Return to index