Обща информация и правила за категория "Програмиране"

В категория “Програмиране” акцента пада върху строго backend разработката, като предизвиква участниците да създадат конзолни приложения. Целта е да подчертае значението на server-side логиката и обработката на данни. Задачата, която ще бъде предоставена в деня на състезанието, ще изисква от участниците да приложат фундаментални принципи на backend разработката.

Избор на технологии

За състезанието участниците могат да избират между следните програмни езици: C++, C#, Java, Python или Node.js. Ограничената селекция на езици е решение, взето с оглед улесняване на процеса както за участниците, така и за журито, и унифициране на разработъчната среда.

Проектни заготовки и автоматизирани тестове

Ще бъдат предоставени проектни заготовки с вградени тестове, които ще позволят на участниците да проверяват своите решения в реално време. Това представлява ценен ресурс за самопроверка и гарантиране на качеството на кода.

Състав на отборите

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

Време за работа и предаване на решения

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

Регистрационни и участнически изисквания

Всички участници са длъжни да имат активен GitHub акаунт. Той ще служи за предаване на решенията и ще улесни журито в процеса на оценка. Участниците също трябва да покажат базови умения в работата с Git, като това ще бъде важен елемент от процеса на състезанието.

Полезни ресурси

За да можете да се подготвите по-добре за състезанието сме подбрали кратка библиотека с ресурси, които може да използвате, за да опресните или натрупате знания.

Предварителни критерии

Журито ще оценява решенията на участниците в четири категории:

1. Коректност на имплементацията (60%): Оценява се дали приложението отговаря на зададените изисквания.

2. Качество на кода (15%): Преценява се чистотата, структурата и поддържаемостта на кода.

3. Време за предаване (15%): Отразява ефективността на участниците в управлението на времето и бързината на разработка.

4. Творчески подход/иновативност (10%): Оценява се оригиналността на решението, използване на съвременни технологии и подходи.

Представените критерии за оценяване целят да стимулират участниците не само към техническо майсторство, но и към ефективност и креативност при разработката на своите решения.

*Журито има право в деня на обявяването на задачата да обнови критериите спрямо заданието.