The contest will consist of three separate submissions. Each submission will have one complex function (with additional support variables/functions as required). The output of the student code will be tested by comparing with the output of a 'correct' function. At the end of the iteration, student's entry will be given marks based on performance on all the test files. Additional tests (performance + quality) will be performed offline at the end of the contest.
Contestants with python experience can get bonus marks by submitting additional python solution. A standalone python solution (without corresponding C solution) will not get any marks.
Apart from execution on functional test cases, the entries in the running will also be graded for performance. The submission will be used against increasing complexity tests and marks will be given based on the test cases successfully executed in a given time. The performance marks will depend upon the nature of the problem and the complexity of creating an efficient algorithm. The top entries after performance testing will be graded on the 'quality' of the code (20% of the evaluation for each entry). As you know, maintenance effort is more than 50% of total effort worldwide. The code should be readable and easily understandable. It should also be easy to modify. Please take the effort to find out what constitutes good programming practices. Alternately, you can study the test sample supplied with each submission as that piece of code is well written.
Each submission will have a zip file for download. The file will contain a ReadMe file. It will contain a mini TestExecutive file for you to compile and test your entry. It will also have a set of test files and expected output files. Please read the ReadMe file carefully. You are expected to create your own test executive and test with your own test files (apart from the ones supplied) on your own machine prior to submission. Please note that testing effort constitutes nearly 50% of a software project effort. The test executive supports -i, -o and other options to support testing. The ReadMe instructions are valid for an UNIX environment. Other users can use their own build mechanisms.
You can use your email to register in the site www.codzilla.org.in where you can practice problems as well as submit your contest solutions (by end of January). This site was developed by four members of the 2015 internship team under the guidance of Rajanikant Jangir.
You will be allowed multiple submissions.
The three submissions are as follows:
- Detecting a sequence with one entry wrong
- Inserting appropriate operators in an array of integers to yield given RHS (download to be provided within a day or two)
- Generating all possible palindromes for a given string
We reserve the right to add more problems if required.