Programming Competition
FINISHED
But you can try anyway
Prerequisites:
- Good at C++
- Good English
- St Petersburg resident
- Available for full-time employment in St Petersburg
The Task
Your task is to take our sample program and enhance it. Our sample program
is a simple ‘drawing’ program where the user uses the mouse to draw a freehand
line. We want you to interpret this freehand line as a series of straight-line
segments and display the straight lines over the top of the freehand line. This
interpretation must be done as the user draws, but you can change the interpretation
whenever you wish, i.e. erase the existing straight lines and draw a modified version.
The idea is that the user wishes to draw a diagram, and so they draw it roughly
using the mouse, but the program must interpret their freehand mouse movements
as a diagram i.e. a geometric object with straight lines. The freehand line must
be shown in green, and the geometric interpretation must be shown in white.
Lines close to vertical should be made exactly vertical and lines close to
horizontal should be made exactly horizontal.
You should use your own initiative to decide the best ‘parameters’ for the
program, based on the central idea of ordinary users wanting to create diagrams.
The program must be written in C++, not Java, not C, not any other language.
If you wish to use your own GUI library instead of our sample program, you may,
if it is more convenient for you (but this will not affect the marks). You must
submit both a stand alone executable and the relevant source-code.
You can only submit 1 version, so be sure to follow all these requirements
carefully.
You can download test right here
Registration
Registered candidates will be supplied with a copy of the sample program.
The Prize
The main purpose of the competition is to recruit programmers
to develop an idea, (probably but not definitely an idea like this) into a
commercial product. The programmers will be chosen from the successful candidates,
based on these criteria and also on interviews:
The beauty of their source code. We will read your source-code and examine
it for elegance. Small programs are usually elegant programs. It must have a
small amount of English language comments.
The suitability of the program for the task of creating diagrams. We don’t
want you to add any extra features other than what is specified, but within these
specifications there is room for variation. We want it to be easy for the user
to create neat diagrams with a mouse.
Must have adequate English language skills (very good English skills is not
necessary).