Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Description:
Processing large files in an efficient manner is of top importance in real world applications. The
objective of this application is to resolve the processing tasks described below by using the
least amount of resources as possible.
Problem to be solved:
On the provided Input Files execute a set of provided image basic operations (i.e image
translation and matrix convolution) in as possible as efficient manner, oferring results as
output image files accompanied by a web based user interface app.
Task 1: Web-based User Interface - provide a web-based user interface which must be
able to:
1. Access the images in the Input and Output folders on the file system
2. Display for each input image in the Input folder, the corresponding output
image generated by the application described in Task 2
3. The GUI must allow stepping through the images by user interaction (E.g.
clicking on Next/Previous buttons
4. The GUI must be accessible in the browser by accessing http://127.0.0.1
This is how a simple GUI could look like
5. Please include source files and instructions about running the application
Task 2: Console application - provide a console application which must be able to:
1. Load all the images from the provided Input Files folder
2. Load the provided image operations file – Operations.txt
3. Apply provided operations on every image of the provided input image folder
4. Save/Write the transformed result image into the Output Files folder
Scoring: Code from each entry will be made public when the results are published. The scoring
will be done with the help of the evaluator tool included in this package.
Validation: The resulted transformed images are evaluated for corectness. Every valid entry will
be scored on a 100p scale as follows:
Task 1: 20p
Task 2: 40p
- 10p peak memory consumption:
your_score = LMC/YMC*10p
LMC - lowest peak memory consumption
YMC - peak memory consumption of your application
- 30p execution speed: the total time spent to complete correctly all tasks:
your_score = LET/YET*30p
LET - lowest execution time
YET - execution time of your application
Task 1 + Task 2: 10 p
Application design & code readability: 30p
your_score = code review performed by the contest's organizer
At least 50p are needed to qualify for a prize. Only the first three projects registering
the highest score will be financially rewarded, as specified in the flyer.
Restrictions:
1. You must be a student to participate in this contest
2. Implementing Task 2 will be done in one of the following languages: C++, C# (at
least .NET 4.0), Python
Testing Environment:
1. Windows 7 SP1 on Intel Core i7-3770 CPU
2. For evaluation purposes, the evaluator.exe tool provided in the package will be used.
3. We will use Google Chrome for reviewing the web interface
Using evaluator.exe: copy your executable file in the package folder and run the evaluator tool
with your executable as start parameter. Once the evaluation is ready, it will generate a report
containing the evaluation results.
Things that might help you:
1. using different libraries such as boost
2. consider using a multi-threaded approach
3. think about making compromises between execution speed and memory
consumption
4. think about optimizing the provided operations file before applying the operations
21 december 2018
Latest date for granting contest awards.