The goal of the seminar is to experiment with the evolutionary algorithms and find out how they behave while solving simple tasks. To this end, we will use a simple Java or Python library (you can choose). Your goal will be to augment/create an operator to make the algorithm perform better. You will not need a deep understanding of Java/Python - only the basics which are similar in most modern languages are required.
The Java source codes for the seminar are available at Github. The Python codes will be added later.
There will be 11 lessons during the semester. In each lesson, there will be an assignment and it will be possible to get 50 points for each assignment, i.e. 550 points for the whole term. Additionally, many of the assignments will contain bonus questions (e.g. for solving an extended version of the assignments, or for having a good solution compared to the rest of the class).
The deadline for the submission of the solution to the assignment will be 2 weeks after the lesson. In order to get the full amount of points, you need to submit the solution before the deadline. If you submit the solution less than two weeks after the deadline, you can still get half the points. Some of the bonus assignments will have shorter deadlines (typically one week).
In order to get the credit for the seminar, you need to have at least 360 points.
Each submitted solution should be accompanied by a short textual description of what you did and a convergence graph that shows the performance of the algorithm. More detailed requirements for the solutions and a tutorial on the creation of plots is on a special page.