ПРЕДЛОЖЕНИЕ
за финансиране на проект от Централен фонд за стратегическо развитие
към Настоятелството на НБУ
1.    Име на проекта
Школа Състезателно програмиране за изявени студенти
2.    Описание на проекта
Моля, посочете и вида на проекта (научен, творчески, образователен) и връзката му с приоритетната за НБУ проектна област (ако има такава):
   Всяка година (редовно от 2002 г.) през м. май се провежда Републиканска студентска олимпиада по програмиране (РСОП), в която участват отбори от българските университети, където се преподава информатика. На тези олимпиади участва и НБУ, като най-добрите класирания на отбора са през 2004 г., когато НВУ е трети след Софийски университет и домакините от Пловдивския университет и 2005 г., когато пред нас са само Софийски и Шуменски университети. На олимпиадите през 2008 и 2009 година отборът на НБУ се класира на 6-то място от 12 участващи български университета.
    За успешно участие в РСОП е необходима допълнителна работа с изявените студенти (1-4 курс) от бакалавърски програми “Мрежови технологии”, “Информатика”, “Компютърни медийни технологии” и “Телекомуникации” на департаментите “Информатика” и “Телекомуникации” и от магистърска програма “Софтуерни технологии в Интернет”. За тази цел предлагам да бъде финансирана школа “Състезателно програмиране”. Школата ще се провежда ежеседмично (по два учебни блока) в Интел иновационен център за софтуерни технологии, Институт по математика и информатика – БАН. На нея ще бъдат поканени лектори от НБУ, БАН и Софийски университет. Студенти ще подготвят по една тема от програмата на школата и ще я представят на колегите си, като най-добрите презентации ще бъдат наградени. Ще бъдат проведени четири вътрешноуниверситетски (в рамките на НБУ) състезания по програмиране (по правилата на провеждане на РСОП) с по 10 задачи за всяко състезание. Ще се поддържа сайт на школата, сега на временен адрес http://nikolay.kirov.be/2010/WCP/index.html
     Записването за школата е свободно за всички студенти от НБУ с отличен успех по учебни дисциплини, свързане с програмирането, или след входен практически изпит върху уменията им по програмиране.
    Дейността на школата ще допринесе за повишаване на мотивацията на силните студенти за овладяване на една трудна област на Информатиката – програмирането, ще стимулира привличането на добри ученици в четирите програми на НБУ, ще издигне авторитета на НБУ сред колегията от преподаватели по Информатика в българските университети и ИТ обществото в България.   

3.    Очаквани резултати и приноси за НБУ
Моля, посочете резултатите (издания, публикации, аудио-/видеоматериали, форуми/прояви и др.) и приносите за НБУ от реализирането на проекта (напр. постигане на трайно подобрение в определена област; иновативна дейност, разгласена в общественото пространство; привличане на външни средства за развитието на университета и т.н.)
Научно-изследователска работа с изявени студенти и добро представяне на НБУ на Републиканска студентска олимпиада по програмиране през м. май 2010 г.
4.    Етапи
Моля, посочете основните дейности и сроковете за тяхното реализиране.
8 лекции за есенния семестър (от преподаватели)                                       30/01/2010 г.
2 занятия: презентации - конкурси за студенти за есенния семестър         30/01/2010 г.
2 състезания по програмиране през есенния семестър                                30/01/2010 г.
8 лекции за пролетния семестър (от преподаватели)                                   01/05/2010 г.
2 занятия: презентации – конкурси на студенти за пролетния семестър    01/05/2010 г.
2 състезания по програмиране през пролетния семестър                            10/05/2010 г.
Участие на XXII Студентска олимпиада по програмиране                          30/05/2010 г.
5.    Ръководител
Моля, посочете: име, длъжност в НБУ (за хоноруваните преподаватели – основна месторабота, за студентите и докторантите – Ф№ и програма, в която се обучават), координати за връзка (мобилен и стационарен телефон, е-mail, служебен адрес и др.)
доц. д-р Николай Киров
6.    Членове на екипа, сътрудничество и принос
Моля, посочете: име и длъжност в НБУ или в друга организация, координати за връзка, вида на сътрудничеството (вътрешноуниверситетско, с др. организации в страната, международно), партньорите и техния принос към проекта.
Проф. Иван Ланджев, НБУ
Доц. Станислав Иванов, НБУ
Доц. Петя Асенова, НБУ
Д-р Ласко Ласков, НБУ
Н.с. Емил Келеведжиев, ИМИ-БАН, НБУ
Доц. Красимир Манев, СУ
Проф. Стоян Капралов, ТУ-Габрово, ИМИ-БАН
7.    Бюджет на проекта
8.    Приложения
План-график за провеждане на школата
Правила за провеждане на Републиканска студентска олимпиада по програмиране
Интел иновационен център за софтуерни технологии
Списък на изявени студенти по програмиране

Дата: 10/10/2009 г.                                                                   Ръководител: ………………………………………

План-график
на школа Състезателно програмиране
за академичната 2009/2010 година

Есенен семестър
(12-16.10) Уводна лекция (Н. Киров)
(19-23.10) Лекция 1
(26-30.10) Лекция 2
(2-6.11) Лекция 3
(9-13.11) Лекция 4
(16-20.11) Лекция 5
21.11.2009 г. - І състезание по програмиране (отг. Н. Киров)
(23-27.11) - Обсъждане на задачите от състезанието (Н. Киров)
(30.11-4.12) - Студентски презентации (П. Асенова)
(7-11.12) - Студентски презентации (П. Асенова)
(14-18.12) Лекция 6
(4-8.01) Лекция 7
(11-15.01) Лекция 8
16.01.2010 г. – ІІ състезание по програмиране с награди (отг. Н. Киров)
(18-22.01) - Обсъждане на задачите от състезанието (Н. Киров)

Пролетен семестър
(22-26.02) Лекция 1
(1-5.03) Лекция 2
(8-12.03) Лекция 3
(15-19.03) Лекция 4
(22-26.03) Лекция 5
27.03.2010 г. - ІІІ състезание по програмиране (отг. Н. Киров)
(29.03-1.04) - Обсъждане на задачите от състезанието (Н. Киров)
(6-9.04) - Студентски презентации (П. Асенова)
(12-16.04) - Студентски презентации (П. Асенова)
(19-23.04) Лекция 6
(26-30.04) Лекция 7
(3-7.05) Лекция 8
08.05.2010 г. – ІV състезание по програмиране с награди (отг. Н. Киров)
(10-14.05) - Обсъждане на задачите от състезанието (Н. Киров)
Участие на XXII Студентска олимпиада по програмиране (домакин - Русенски университет "Ангел Кънчев")
Обсъждане на резултатите от Олимпиадата (Н. Киров)

Място на провеждане на занятията и състезанията:
Интел център за иновационни софтуерни технологии
Институт по математика и информатика, БАН
Ул. “Акад. Г. Бончев”, бл. 8

Сесиите на школата ще се провеждат всяка сряда:
14:40-16:10 Занятие от програмата
16:10-17:50 Упражнения: индивидуална работа или екипна работа в компютърна зала (с консултации от Н. Киров)

Примерни теми за лекциите:
1.    Комбинаторни задачи
2.    Сортиране и търсене
3.    Пълно изчерпване
4.    Динамични програмиране
5.    Задачи върху графи
6.    Геометрични задачи
7.    Методи “Разделяй и владей”
8.    Низови алгоритми

На студентите ще бъдат раздадени теми за разработка и подготовка на презентации по някои техники и алгоритми, прилагани в състезанията по програмиране. Примерни теми:
1.    Префиксни дървета
2.    Опашка с приоритет, реализирана като пирамида
3.    Алгоритъм на Хъфман за компресиране на файлове
4.    Топологично сортиране
 
Връзки към Студентски олимпиади по програмиране:
http://nikolay.kirov.be/comp_bg.html

Основна литература:
[1] Робърт Седжуик, Алгоритми на С. Том 1 и 2, ИК "Софтех", София, 2002.
    [Библиотека на НБУ: Ч 681.3 / С 307]
[2] Преслав Наков, Панайот Добриков,  Програмиране = ++Алгоритми;  TopTeam Co., 2003.    [Библиотека на НБУ: 681.325.3 / Н 186]
[3] Джeймс Рoс, Сaймън Хaрис, Oснoви нa aлгoритмитe, AlexSoft, 2006.
[4] Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", София,  2001.

РЕГЛАМЕНТ
за провеждане на Републиканската студентска олимпиада по Програмиране
(Във вида от XX-тата РСОП, София 2008.)

1. ЦЕЛИ И ХАРАКТЕР НА ОЛИМПИАДАТА
1.1. Цел на Републиканската студентска олимпиада по Програмиране (РСОП) е да осигури възможност на най-добрите студенти от университети, работещи на територията на Република България и поддържащи програми по информатика да контактуват помежду си и в състезателни условия да проверят качеството на подготовката и възможностите си да се справят с не прости програмистки задачи.
1.2. РСОП е независимо състезание, организирано с добрата воля на университетите участници, като правилата за провеждането му се променят и утвърждават единствено от участващите него.
1.3. Доколкото съществува международен образец, доколкото далечна цел на състезанието е да бъде етап от подготовката за участие в него и доколкото позволяват възможностите на участниците, РСОП се провежда по правила, максимално близки до тези на Международната студентска олимпиада по Програмиране на АСМ (http://icpc.baylor.edu).
1.4. Правилата на РСОП се състоят от две отделни, но еднакво значими части:
1.4.1. РЕГЛАМЕНТ на Олимпиадата - относително постоянна съвкупност от правила, целяща да осигури стабилност и предсказуемост на общите принципи на състезанието и да бъде база за дълготрайна подготовка на потенциалните участници.
1.4.2. УСЛОВИЯ на Олимпиадата - относително променлива съвкупност от правила, целяща да отрази конкретните възможности на университета, който организира състезанието и конкретната ситуация към деня на състезанието. Този документ съдържа цялата информация, необходима на участниците бързо и без проблеми да усвоят работното място - конфигурация, процедури по стартиране, имена на устройства и каталози и т.н., както и всяка друга информация по условията предоставени от Домакина (по смисъла на член 2.1) и организацията на състезанието.
1.5. Условията на Олимпиадата се оповестяват на задължителна Техническа конференция, която се провежда в деня преди състезанието, като печатен екземпляр от условията се предоставя на всеки ръководител и състезател.
1.6. По време на Техническата конференция се формира и структурира журито на Олимпиадата. Журито е съставено от ръководителите на отборите и се председателства от представител на Домакина. Председателят на журито ръководи заседанията и няма никакви специални права.

2. ВРЕМЕ И МЯСТО НА ПРОВЕЖДАНЕ НА ОЛИМПИАДАТА
2.1. РСОП се провежда един път годишно и се организира от университет, работещ на територията на Република България и наричан за кратко Домакин на Олимпиадата.
2.2. Домакинът на всяка следваща Олимпиада се определя в края на предишната доброволно и по възможност на ротационен принцип.
2.3. Домакинът избира дата на Олимпиадата (около средата на месец май) и съобщава тази дата на интересуващите се най-малко три месеца предварително.
2.4. В случай, че Домакинът е в невъзможност да осигури провеждането на Олимпиадата, той съобщава това на интересуващите се най-късно до началото на летния семестър на съответната година и става инициатор за намиране на нов Домакин. В случай, че се намери нов Домакин, всички срокове се променят от него в зависимост от закъснението. В случай, че не се намери желаещ, състезанието за текущата година се анулира, но настоящият Домакин продължава опитите за осигуряване домакин за следващата година.
2.5. В случай, че Домакинът е в невъзможност да проведе Олимпиадата на предварително обявената дата, той съобщава на интересуващите се нова дата, най-малко два месеца предварително.
2.6. Домакинът избира Секретар на Олимпиадата, който да координира всички дейности по подготовката на турнира и съобщава името и адреса му за връзка на интересуващите се заедно с датата за провеждане.

3. СЪСТАВ НА УЧАСТНИЦИТЕ В ОЛИМПИАДАТА
3.1. РСОП е отборно състезание. Всеки участващ университет се представя от един отбор в състав: ръководител и трима състезатели.
3.2. При възможност от страна на домакина се допуска участието на повече от един отбор от един университет. В този случай в официалното класиране участва най-добре представилият се отбор насъответния Университет. Домакинът е в правото си да кани за участие, извън официалното класиране, и отбори от университети извън територията на Република България.
3.3. Ръководител на отбора е преподавател или друго лице, привлечено за целта, което се удостоверява с официален документ на учебното заведение (университет или факултет).
3.4. Състезатели могат да бъдат само редовни студенти на съответния университет (в бакалавърски или магистърски програми), които не са завършили семестриално към датата на провеждане на турнира.
3.5. Редовността на състезателите се гарантира от ръководителя на отбора, който лично попълва имената им в Тимов лист и подписва този лист
3.6. Един от състезателите е Капитан на отбора и това се указва изрично в тимовия лист

4.ТЕХНИЧЕСКО ОСИГУРЯВАНЕ НА ОЛИМПИАДАТА
4.1. РСОП се провежда на еднакви за всички участници компютри, свързани в мрежа. Минималната конфигурация трябва да включва дисково пространство (локално или в мрежата) достатъчно за инсталиране на необходимия системен софтуер и работните файлове на състезателя.
4.2. Всеки отбор разполага с един персонален компютър (или работна станция в мрежата).
4.3. Официални езици за програмиране на състезанието са Java, Pascal и С/С++.
4.4. На всяко работно място Домакинът инсталира еднакви версии на среди за програмиране на официалните езици за програмиране.
4.5. За отпечатване на текстовете на програмите Домакинът осигурява поне един мрежов принтер.
4.6. Домакинът подготвя предварително поне осем задачи. Задачите трябва да са самостоятелни (решаването на никоя задача не трябва да зависи от решаването на друга задача) и такива, че не изискват използването на специални софтуерни средства, различни от официалните среди за програмиране.
4.7. В текстовeте на задачите ясно се поставя условието на задачата и се привежда поне един пример. Описват се ясно форматите на входните и изходните данни. Входните данни трябва да се четат от стандартния вход, а резултатите да се извеждат на стандартния изход. Всички понятия, за които има съмнение, че не са общоизвестни, трябва да бъдат пояснени в текста на задачата.
4.8. Домакинът инсталира и подготвя за работа състезателната система PC ^2 в официалната версия, която се използва на Международната студентска олимпиада по Програмиране. Ръководството за работа със системата се предоставя в печатан вид на всеки участващ отбор по време на Техническата конференция.

5. ПРОВЕЖДАНЕ НА ОЛИМПИАДАТА
5.1. Състезанието се провежда в един ден и е с продължителност 5 часа.
5.2. По време на състезанието, чрез PC^2, участниците могат да отправят до Журито въпроси по текстовете на задачите. Ако отговорът на въпроса може да се намери в текста на задачата, тогава Журито може да остави въпроса БЕЗ ОТГОВОР. Ако неяснотата в текста, за която е получен въпрос е сериозна, Журито подготвя обяснение, което се изпраща на всички участници чрез PC^2.
5.3. По време на състезанието участниците могат да използват всякакви ръкописни и печатни материали – книги, справочници, листинги и др. Използването на магнитни и оптически носители на данни, както и собствени компютри и мобилна свързочна техника е забранено .
5.4. Решението на всяка от задачите се състои от изходен текст на един от официалните езици за програмиране. Програмите трябва да са написани така, че да съответстват буквално на изискванията на текста по отношение на формата на входните и изходните данни. Не се допуска извеждането на информация на друго място освен стандартния изход под какъвто и да е предлог.
5.5. PC^2 компилира получения изходен текст на състезателите с посочения от тях компилатор. В случай, че Домакинът е предоставил и други среди за програмиране, освен официалните, и състезателите са използвали за разработка на програмата такава среда, те трябва преди изпращането и да я приведат в съответствие с изискванията на официалния компилатор, с който искат да бъде компилирана програмата.
5.6. Задължение на състезателите е да съхраняват регулярно на твърдия диск създаваните от тях работни файлове. Загубата на програмен текст заради липса на съответно копие не се възмездява с допълнително време. В случай на неизправност на компютъра/работната станция, Капитанът на отбора уведомява Журито и времето за работа на отбора се удължава с времето за осигуряване на изправно работно място.
5.7. Временните резултати се обявяват в мрежата чрез PC^2. Половин час преди края на състезанието обявяването на временните резултати се прекратява.

6. ОЦЕНКА НА РЕШЕНИЯТА И КЛАСИРАНЕ
6.1. Решенията на задачите се проверяват с неизвестни на състезателите тестови данни, едни и същи за всички отбори, подготвени предварително от Научния комитет. За целия комплект от тестове е предвиден лимит от време, който не е известен на състезателите. За правилно се признава решение, което намира верен резултат за всички тестови примери в рамките на определения лимит от време.
6.2. В случай, че решението е правилно, членът на журито извършващ проверката уведомява за това състезателите чрез PC^2. В последните 30 минути на състезанието съобщения за правилни решения не се правят.
6.3. В случай, че решението не е правилно, членът на журито извършващ проверката уведомява отбора чрез PC^2, като посочва една от следните възможни причини за непризнаване на решението:
• грешка при компилация (Compilation Error - CE);
• грешка при изпълнение (Run-Time Error - RT);
• изтичане на определения лимит от време за тестване (Time Limit Exceeded - TL);
• неправилен формат на изхода (Presentation Error - PE) ;
• грешен резултат (Wrong Answer - WA).
При повече от един възможен отговор се изпраща този, който е по-напред в горния списък. Съобщенията за неправилни решения се изпращат до края на състезанието.
6.4. Класирането се извършва по броя на правилно решените задачи. При равен брой решени задачи, за всяка правилно решена задача се пресмята времето (в минути) от началото на състезанието до момента на предаването й. Сумират се получените времена и сумата се увеличава с по 20 минути за всяко предадено неправилно решение. Отборът с по-малка сума на така изчислените времена се класира на по-предна позиция.
6.5 . Домакинът осигурява на всички участници Сертификат за участие, а на класираните на първите места в официалното класиране и Диплом за класиране.

7. ОРГАНИЗАЦИЯ И ФИНАНСИРАНЕ НА ОЛИМПИАДАТА
7.1. Домакинът на Олимпиадата осигурява настаняването и храната на участниците на цени в рамките на командировъчните, регламентирани от нормативни документи, като своевременно уведомява потенциалните участници за размера на тези цени.
7.2. Разноските по пътуването, настаняването и храната на участниците са за сметка на учебните заведения, които представят.
7.3. Домакинът и участващите университети се поощряват да сключват Договори за спонсориране, както на своето участие така и за осигуряването на турнира, като поемат ангажименти за реклама на спонсора по време на състезанието.

http://www.ue-varna.bg/bcpc21/bg/index.php?page=2&id=1984