Rules
Basic rules:
-
Each student carries out a single project topic;
-
The project classes are mandatory - due to remote classes only sending a short description about progress once a month;
-
Finished project consisting of the source code and report in electronic format (pdf) must be delivered by e-mail before the last project class in the semester;
Implementation of the project:
-
Main point of the project is to analyze a single algorithm or compare a few similar algorithms.
-
To complete the task, a program must be developed. The program must be able to run the algorithm(s) using different input data (e.g. variable number of elements, different ordering) and return results.
-
The program may be developed using any programming language.
-
The number of key operations (e.g. comparisons, visited graph nodes, iterations of a list) must be counted and the time of operations must also be measured.
-
Random data may be used as an input, but only if compared algorithms are ran using exactly the same data (e.g. from a file, generated with the same seed).
The project must be accompanied by a report (electronic version only – a PDF file), which should include:
-
Topic of the project, author info;
-
Description of algorithms in your own words (no Wikipedia!).
-
Description of the program with fragments of source code, comments and screenshots.
-
Explanation of methods used for measuring the efficiency of algorithms (e.g. the way counters were handled, how the time was measured).
-
Results of tests with diagrams.
-
Summary.