Правила за участие в конкурса по програмиране на списание PC Magazine Bulgaria и фирма Телерик

 

Описание на конкурса

Конкурсът, организиран от списание PC Magazine Bulgaria и фирма Телерик, цели да развива и разширява знанията и уменията в областта на алгоритмите и технологиите на участниците в конкурса. Задачите в конкурса ще представляват разработка на софтуерни приложения съдържащи комбинация от алгоритми, технологии и потребителски интерфейс. Жури от опитни софтуерни разработчици ще оценява проектите на участниците в конкурса. Ще се оценяват както алгоритмите, технологиите, бързодействието и сигурност на приложенията, така и техният дизайн и потребителски интерфейс. Могат да участват индивидуални състезатели и екипи до трима души. Сроковете за предаване на проектите ще бъдат обявявани в списание PC Magazine Bulgariaи на сайта на конкурса. В случай на разминаване в датите между списанието и сайта, по-актуалната дата винаги ще бъде в сайта. Класирането на участниците ще бъде изготвяно от журито до 2 седмици след крайния срок за изпращане на проектите и ще бъде публикувано в страниците на списанието и в сайта на конкурса.

Езици и платформи за разработка

Участниците могат да използват език за програмиране и технология по свой избор, освен ако за съответния кръг на конкурса не е изрично посочен език или платформа за разработка. Всички задачи ще бъдат изпълнявани в Windows 7 среда (64-bit), така че изпълнимите файлове или сорс кодът трябва да работят под Windows.Ако е необходимо инсталирането на допълнителен софтуер, за да може да работи изпратеното приложение, то освен самото приложение, участниците трябва да изпращат и линк или файл към необходимия софтуер.

Форма на конкурса

Конкурсът има 6 задочни кръга и един финален присъствен кръг. Започвайки от месец декември 2011 в продължение на 6 кръга се публикува по една задача в списание PC MagazineБългария. Във всеки задочен кръг се определя победител, който получава сертификат от организаторите и награди, осигурени от спонсорите.

Финалният кръг на конкурса се провежда присъствено през месец юни 2012 с 20-те най-добре представили се участници (с най-висок сумарен резултат от задочните кръгове).

Участие

Право на участие има всеки желаещ (или екип от желаещи), който не е служител във фирма Телерик или в PC Magazine Bulgaria. Могат да участват както индивидуални състезатели, така и екипи до трима души.

Предаването на решения и задаването на въпроси по условието на задачата става чрез onlineсистемата на сайта на конкурса.

Системата запазва последните десет предадени решения. При изготвяне на класиране за съответния кръг се оценява само последното изпратено решение.

Решението на задачата представлява ZIPархив, съдържащ:

  • Ако в условието на задачата не е указано друго, един изпълним EXE или DLLфайл (с посоченото в условието име), с който се извършва проверката, а за тези, които пишат на JAVA - JARархив, съдържащ всички необходими CLASSфайлове (с посоченото в условието име). Решенията не трябва да изискват библиотеки, които не са част от указаната по условие среда за тестване.
  • Сорс-код на решението (включително всички файлове, които не са част от стандарта на езика за програмиране), който не се оценява (т.е. не влияе на резултата), но задължително трябва да се изпрати.
  • Всякакъв допълнителен софтуер, който е необходим за да работи коректно изпратения от участниците проект (адрес за изтегляне). Това може да бъде безплатен софтуер или комерсиален софтуер, за който има пробна версия.
  • По желание (не се оценява) - описание на решението и реализирания алгоритъм, което ще бъде публикувано на сайта на конкурса и евентуално в списанието.

Всеки изпратен архив трябва да е не по-голям от 8 MB. Архив с размер над 8 MB не може да бъде предаден чрез системата.

По изключение или при проблеми със системата, решения могат да бъдат предавани и по e-mailна адреса на журито – academy@telerik.com, съдържащ личните данни на участника или екипа (включително потребителско име), архив с решението на задачата и причината, поради която решението не е било изпратено чрез системата.

Решения, получени след крайния срок за съответния кръг, няма да бъдат включени в класирането.

Оценка на изпратените решения в задочните кръгове

  • Схема на проверка:
    • В зависимост от условието и типа на задачата, журито може да прецени начина на оценяване.
    • Ако задачата представлява създаване на приложна програма, интернет приложение, мобилно приложение или друго приложение, съдържащо потребителски интерфейс, оценяването ще става по предварително зададени от журито критерии. Журито определя за всяко приложение броя точки, следвайки предварително описаните критерии. Максималният брой точки, които приложението може да получи, ако всички критерии са изпълнени е 100.
    • Ако задачата изисква директно съревнование на идеи или алгоритми, оценяването ще представлява класиране на базата на резултата от директното съпоставяне или сблъсък между всяка една двойка състезатели. В класирането всеки от участниците ще получава определен брой точки при победа, равен или загуба при всяко едно от съревнованията, като при равни точки журито ще определя съответния победител. Първият в класирането ще получи 100 точки, а останалите ще получат точки спрямо разликата между точките с първия в класирането.
    • За задачите, които изискват самостоятелна работа на програмите (например задачи, решаващи даден алгоритмичен проблем), журито подготвя набор от тестове (входни данни) за конкретната задача. На всеки тест, съобразно сложността му, се съпоставят определен брой точки, които представляват максималният брой точки, който може да получи всеки състезател, ако решението му премине успешно теста. Броят на тестовете и разпределението на точките между тях не са предварително известни. Знае се само, че за всяка задача сумата от максималните точки на всички тестове е 100.
      • На всеки тест журито предварително съпоставя време (определен брой секунди), за което програмата на всеки участник или екип трябва да завърши теста. Това времево ограничение се определя предварително, но не е задължително да бъде обявено публично. В случай, че програмата надвиши времето за работа, то тестът ще се счете за неуспешен (без значение дали генерираният от програмата резултат е верен или не) и ще му бъдат присъдени 0 точки.
      • Ако при изпълнението на програмата на участник или екип за даден тест се получи грешка по време на изпълнение на програмата (Run-time Errorили Exception), то тестът ще се счете за неуспешен и ще му бъдат присъдени 0 точки.
      • Ако програмата завърши тест в определеното време и в условието на задачата не е указана друга схема за оценяване, то ще бъдат присъдени или всички точки определени за теста (при верен резултат) или 0 точки (ако резултатът генериран от програмата е грешен - това включва и грешно форматиран изходен файл).
  • Наказания:
    • При доказан опит за преписване или използване на чужд код, виновните състезатели биват дисквалифицирани за съответния кръг.
    • При използване на нелицензирани материали или софтуер, виновните състезатели получават 0 точки за съответния кръг.
    • При неспазване на някое от изброените в условието изисквания, резултатът на състезателя ще бъде намален по преценка на журито.
    • Журито може по своя преценка да накаже състезател, като за всяко наказание ще се обоснове в писмена форма.
  • Особености по тестването:
    • Всички решения се тестват на един и същи компютър с един и същ софтуер на една и съща резолюция;
    • Компютърът, на който се тестват решенията ще бъде обявен на сайта на конкурса и журито си запазва правото да променя конфигурацията и софтуера като ще уведомява участниците своевременно за това.
    • Свободната оперативна памет при изпълнението на програмите на участниците ще е поне 2 GB;
    • При работата си, програмите на участниците имат право да използват временни файлове в текущата директория с обща големина до 1 GB.
  • Контестации:
    • След публикуване на резултатите от всяка задача, участниците имат право да подават контестации в писмен вид в срок от 1 седмица.
    • При нужда, журито има право да удължи срока за контестации.
  • Други изисквания: Всички предадени решения трябва да работят детерминистично, т.е. при няколко изпълнения върху един и същ набор входни данни, резултатът трябва да е еднакъв.

Обявяване на резултатите от задочните кръгове

През един брой на списанието (т.е. в брой X излизат резултатите от задачата публикувана в брой X-2) се публикуват:

  • Идея на решението на задачата (алгоритъм / технологии / инструменти / библиотеки).
  • Класиране за конкретната задача, както и обявяване на победител на задочния кръг.
  • Общото класиране до момента - на база всички задочни кръгове, които са се провели.

На сайта на конкурса се публикува всичко по т. 1, т. 2, т. 3, както и:

  • Текста на задачата, като условието на текущата задача се публикува 20 дни преди крайния срок за изпращане на решения.
  • Тестовите примери, критериите за оценка от журито, с които е извършена проверката; сорс кода на програмите на всички участници, изпратили решения; както и обяснения за начина на оценка. Целта е проверката и класирането да са максимално открити и прозрачни и всеки участник или екип да може сам да провери собственото си решение и да се убеди, че е оценен коректно.

Предложения на задачи

Журито приема предложения за задачи. Предложението за задача трябва да включва условие на задачата и описание на идеята за решение на задачата.

Участник (или екип от участници) в конкурса също може да предложи задача. Ако предложилият задача изпрати решение и то получи един от максималните резултати по точки в кръга, точките се запазват. Ако има участник с повече точки, то предложилият задача ще получи 0 точки за съответния кръг.

Участие във финалния присъствен кръг

След проверката на всеки задочен кръг, се сумират точките от всички кръгове до момента за всички участници и така се изготвя текущото общо класиране. След провеждането на всичките шест задочни кръга, общото класиране става крайно. Участниците, заемащи първите 20 места в крайното общо класиране, получават покана за участие във финалния присъствен кръг.

* Включвайки се в конкурса, всеки участник приема настоящите правила.

Допълнителна информация

 

 Ако имате нужда от допълнителна информация относно екипа на Академията на Телерик, той се състои от следните лектори:
 
· Д-р Светлин Наков - Ръководител отдел "Технологично обучение", Телерик АД с 20+ години опит като          софтуерен специалист, консултант и лектор.
 
· Дончо Минков - Технологичен трейнър, Телерик АД - студент по "Софтуерно инженерство" в СУ "Климент Охридски" и дългогодишен участник в състезания по информатика
 
· Николай Костов - Технологичен трейнър, Телерик АД - Дългогодишен участник в редица ученически и студентски олимпиади и състезания по информатика и двукратен победител в проектните категории "Приложни програми" и "Интернет приложения" на НОИТ.
Premium Drupal Themes by Adaptivethemes