Олімпіади з програмування
Щорічно в Україні та у світі проводиться велика кількість олімпіад з інформатики та програмування різного рівня.
Найсерйознішим та найпрестижнішим змаганням є Першість Чемпіонату Світу з програмування серед студентів вищих навчальних закладів, який щорічно
проводить асоціація комп'ютерної техніки Association for Computer Machinery.
Змагання з програмування традиційно проходять по алгоритміці, тобто учасникам дається декілька задач, до
яких вони мають побудувати правильний і ефективний алгоритм, а також його запрограмувати. Будь–яка поставлена задача перед програмістом
спочатку потребує побудови алгоритму, який буде виконувати посталену перед ним задачу, а тому розвиток алгоритміки в світі є одним з
першочергових завданнь в сфері ІТ. Кожного дня тисячі алгоритмістів світу придумують нові і нові алгоритми, які згодом зявляються у вигляді
статтей, журналів, книжок. Саме знання новітніх алгоритмів і технік позволяє таким країнам як Росія, США, Китай бути кожного року на призових
місцях різних олімпіад з інформатики.
Міжнародна олімпіада з інформатики (www.ioinformatics.org)
відбується влітку кожного року, куди кожна країна делегує по 4 кращих школярів – програмістів країни. Україна у цих змаганнях почала брати
участь з 1992 року. І першим результатом представників України на IOI була 1 срібна мелаль і 3 бронзові. З 1994 року кожного року Україна
клала до свого здобутку медалі різного гатунку. Перше золото для України з Міжнародної учнівської олімпіади з інформатики привіз учень Яковенко
Богдан у 2003 році з США. Від тоді Україна уже збагатилася 6 золотими медалями. Загалом, починаючи з 1992 року, Україна отримала 6 золотих
медалей, 14 срібних, 31 бронзову нагороду.
Враховуючи престижність таких змагань як IOI, уряд США розробив спеціальну програму підготовки своїх
учнів до змагань міжнародного рівня (Usaco), який почав зразу ж давати результати – команда США стабільно отримує 4 нагороди з 4-ох
можливих. Також різні країни запровадили різні літні та зимові школи для школярів з програмування та математики. Саме ці дві науки
ідуть пліч-о-пліч у 21 столітті. І ці країни також досягають помітних резільтатів на олімпіадах.
Першість світу проводиться в три етапи: національні олімпіади, регіональні олімпіади, які проводять за
географічним принципом у 30 регіонах, та фінал першості світу, в якому беруть участь близько 100 команд – переможців та призерів регіональних
олімпіад.
Україна входить до південно-східного Європейського регіону разом з Албанією, Болгарією, Боснією і Герцеговиною,
Грецією, Кіпром, Молдовою, Македонією, Румунією, Туреччиною, Хорватією, і Югославією.
Популярність цих змагань, які визначають престиж країни у галузі інформаційних технологій, дуже велика.
Наприклад, у 2002/2003 навчальному році тільки у регіональних олімпіадах першості світу взяли участь 3850 команд з 1329 університетів з 68
країн світу, а загальна кількість учасників першості світу, враховуючи команд-учасників національних першостей, приблизно оцінювалась у
24 – 25 тисяч. Але вже у 2008 році у відборах до чемпіонату світу стартувало 6700 команд із 1821 університету з 83 країн світу.
Європейські країни розпочали участь у цих змаганнях з 1991 року, а східно - європейські з 1995 р. З тих пір
американським командам рідко щастило стати чемпіоном світу. Зате частіше за інших перемогу святкували команди зі східної Європи: 1998 –
Чехія, 2000, 2001, 2004, 2006, 2008, 2009 – Росія, 2003, 2007 – Польща. У 2002, 2005 та 2010 роках чемпіоном світу ставав Китай.
Українські команди беруть участь у першості світу з програмування з 1995 року. З 1997 по 2000 рік у змаганнях
південно-східного Європейського регіону постійно брали участь команди лише трьох українських університетів: Київського національного
університету імені Тараса Шевченка, Вінницького національного технічного університету (ВНТУ) та Одеського національного університету ім. І.Мечнікова (ОНУ),
але кращими досягненнями команд були місця у першій призовій шістці.
Керівниками команд Київського національного університету імені Тараса Шевченка з програмування, починаючи з
1997 року, незмінно виступають: Медведєв Михайло Геннадійович, доцент кафедри математичної інформатики факультету кібернетики та Бондаренко
Віталій Вікторович, асистент кафедри теоретичної кібернетики факультету кібернетики.
З 2001 р. за підтримки Міністерства освіти і науки України (керівник – Журавльова Наталія Василівна)
проведення цієї олімпіади було організовано у три етапи: внутрішні університетські олімпіади, регіональні олімпіади за географічною ознакою
(південний, північний, західний, східний) та фінал у Вінницькому державному технічному університеті (керівник – Месюра Володимир Іванович),
в якому беруть участь команди - переможці регіональних олімпіад. Спочатку три, а згодом чотири призери фіналу Всеукраїнської олімпіади
отримують фінансування від Міністерства освіти і науки для участі у півфіналі першості світу в Бухаресті (Румунія). Право участі в олімпіаді
за власні кошти отримують також інші команди, що отримали кращі результати у Вінниці.
Вже перші організаційні кроки одразу принесли помітні результати. У 2001 і 2002 роках в олімпіаді в Бухаресті
взяли участь вже 8 українських команд. При цьому у 2001 р. українські команди мали кращий неофіційний показник – середню кількість задач,
розв'язаних однією командою А вже у 2002 році українські команди посіли 1, 2, 6 і 10 місця серед 44 учасників. Тим самим, вперше в історії,
обидва місця в фіналі, виділені Бухарестському півфіналу, посіли команди українських університетів – КНУ і НТУУ „КПІ". При цьому, в фіналі
першості світу команда КНУ посіла 9 місце і отримала бронзові медалі. Команда НТУУ „КПІ" посіла місця з 30 по 42, разом з командами таких
відомих університетів як, Гарвардський університет, університет Корнеля, університет Торонто, університет Міннесоти, державні університети
Санкт-Петербурга та Нижнього Новгорода.
У 2004 році в регіональних змаганнях всеукраїнської олімпіади взяла участь рекордна кількість команд – 124.
Чудові результати показали у фіналі Всеукраїнської олімпіади переможці – команди КНУ, ВНТУ та Донецького національного технічного
університету, які розв'язали 8 з восьми запропонованих задач. Але у півфіналі в першій заліковій шестірці була лише одна українська
команда – КНУ (третє місце).
У 2005 році в регіональних змаганнях всеукраїнської олімпіади взяло участь 120 команд і відбір до фіналу був
дуже серйозним. Особливістю цього фіналу стала активна спонсорська підтримка. Вперше в історії київська фірма „Арт-Мастер" взялася сама
фінансувати заходи фіналу, направивши для цього до Вінниці 8 своїх фахівців. Вісім кращих команд Всеукраїнського фіналу від'їжджають до
Бухаресту. За результатами півфінальних східноєвропейських змагань до першої п'ятірки увійшли одразу чотири українські команди: перша –
команда КНУ, третя – команда ВНТУ, четверта – команда НТУУ „КПІ", п'ята – команда фізико-технічного інституту НТУУ „КПІ", яка лідирувала найдовше,
але так і не змогла впоратися з шостою задачею. На жаль, наші команди поступилися другим фінальним місцем команді Софії,
відрив якої від ВНТУ склав дві хвилини (0,2% від загального часу на розв'язок задач). Фінал чемпіонату світу 2006, що відбувся в Сан-Антоніо
(США), для українських команд був досить скромним: 19 місце КНУ та 39 місце ВНТУ.
У 2006 році на Всеукраїнській олімпіаді факультет кібернетики представляли дві команди, які посіли скромні 3
та 5 місце. На півфінальних змаганнях в Румунії команди КНУ посідають відповідно 7 та 13 місця. Зазначимо, що цього року команда НТУУ „КПІ"
зайняла 1 місце, а ВНТУ – 3. Команда КПІ здобула право виступати у фінальній частині чемпіонату світу, який проходив в Токіо (Японія). У
фіналі команда НТУУ „КПІ" посіла 26 місце.
У 2007 році КНУ на Всеукраїнській олімпіаді представляли вже три команди, дві з яких які посіли призові місця
(2, 3 та 11 місце). На півфінальних змаганнях в Бухаресті (Румунія) для українських команд почалось справжнє свято: перші 8 із 11 місць
зайняли студенти з університетів України. Зазначимо першу трійку призерів: перше місце – Львівський національний університет імені Івана
Франка (ЛНУ), друге – ВНТУ, третє – КНУ. КНУ в Румунії представляли три команди, які посіли 3, 7 та 8 місце. Але лише дві команди -
переможці регіону мають право виступати в фіналі першості світу, який проходив в м.Банфф (Канада). До фіналу були відібрані 100 команд.
Найбільше представництво мали: США – 20 команд, Китай – 15 команд, Росія – 11 команд. Україну представляли дві команди – переможці
півфінальних змагань: ЛНУ та ВНТУ. У 2007 році в Україні з'явилася перша золота медаль – ЛНУ посів 4 місце в загальному заліку.
ВНТУ зайняло 31 місце.
На всеукраїнській олімпіаді 2008 року студенти факультету кібернетики посіли 1, 3 та 5 місце.
Півфінальні змагання 2008 року (Бухарест, Румунія), в якому КНУ був представлений трьома командами, пройшли
блискуче для наших студентів. Протягом останніх двох годин змагання трійця команд КНУ йшла в шістці переможців. Фініш також був яскравим:
студенти факультету кібернетики посіли залікові 1, 3 та 5 місце.
Перша команда КНУ представляла університет навесні 2009 року на фінальній першості ICPC (International
Collegiate Programming Contest) у Стокгольмі та посіла 34 місце в загальному командному заліку.
Півфінальні змагання 2009 року для КНУ були найкращими – дві команди університету посіли перше та друге місця,
але на жаль, до фіналіу за правилами чемпіонату може поїхати лише одна команда від вищого навчального закладу.
У 2010 році у м.Харбін (Китай) відбувся фінал чемпіонату світу, який довго чекав Київський національний
університет! Команда у складі трьох студентів (Гриненко А, Сімоненко В, Нейтер Д., тренер – Бондаренко В.В.) посіла четверте абсолютне
місце і здобула золоті нагороди чемпіонату. Таким чином покращивши особовий результат 2003 року, в якому було отримано бронзову нагороду.
З 27 по 31 травня 2011 р. у м. Орландо (США) відбувся фінал 35-го чемпіонату світу з програмування серед
студентів вищих навчальних закладів, який проводиться під егідою ACM (Association for Computing Machinery). У фіналі взяло участь
105 команд з 32 країн світу. Зокрема Африка та Близький Схід були представлені 7, Азія – 35, Європа – 24, Латинська Америка – 16,
Північна Америка – 21, Океанія – 2 командами. Україна була представлена двома командами – переможцями півфінальних змагань чемпіонату
світу, що відбулися у жовтні 2010 року у м. Бухарест (Румунія). Команда КНУ посіла 28 місце.
2013 рік – і ми знову у Фіналі Світової Першості ACM ICPC! Команда факультету кібернетики у складі
трьох студентів (Твердохліб Ярослав, Максай Андрій, Єдемський Роман) виборола срібні медалі Чемпіонату Світу у Санкт-Петербурзі.
Студенти факультету кібернетики брали активну участь і в інших змаганнях:
- Відкрита міжнародна студентська олімпіада з програмування ім. С.О. Лебедєва – В.М. Глушкова “KPI-OPEN", що проводиться НТУУ “КПІ" при підтримці Міністерства освіти України з 2006 року. У 2007 році в олімпіаді з програмування KPI-OPEN студентами факультету кібернетики були здобуті 1, 4 та 6 залікові місця. У 2008 році – 1, 4 та 13 місце.
- Всесвітньо відома комп'ютерна фірма Microsoft проводить щорічні змагання для програмістів IMAGINE CUP, яке має декілька напрямків (алгоритми, створення програмного забезпечення, комп'ютерних ігор, розробка інтерфейсу). У 2007 році в Сеулі (Корея) Роман Кошляк зайняв друге місце в цьому змаганні в номінації “алгоритми". У 2008 році у Парижі (Франція) Роман Кошляк покращив свій результат, виборовши перше місце.
- У 2007/2008 навчальному році відбувся відкритий кубок СНД з програмування, в якому взяли участь дві команди КНУ. За результатами 10 турів вони посіли 5 та 8 місця із 568 учасників.
- З 2007 року журнал “Мир ПК" проводить щорічний кубок з програмування. За результатами 2007/2008 навчального року із 213 учасників Антон Райчук посів 5 місце і був нагороджений дипломом II ступеня.
- У 2008 році студенти факультету кібернетики взяли участь у IX відкритій Всесибірській олімпіаді з програмування ім. І.В. Потосіна. У відбірковому інтернет турі із 211 команд представники КНУ посіли 4 та 6 місце і потрапили до очного фіналу. У фінальному турі взяло участь 46 команд, серед яких команда КНУ у складі: Райчук Антон (4 курс), Різванов Роман (3 курс), Зновяк Юрій (4 курс) посіла 7 місце.
- У 2008 році студенти факультету кібернетики приймали участь в Google Code Jam – змаганні з програмування, в якому студенти та професіонали змагаються в розв'язку алгоритмічних задач. Півфінальні ігри Європейського регіону відбулися у Цюріху 6 жовтня 2008р. КНУ був представлений 9 учасниками, двоє з яких потрапили до фіналу першості. Півфінальні змагання з різних регіонів налічували 500 учасників, 100 з яких зустрілися у фіналі в штаб-квартирі Google (США). Два учасники фіналу від КНУ посіли 25 (Гриненко Андрій) та 66 (Зновяк Юрій) місце.
За результатами алгоритмічної олімпіади, яку проволила міжнародна компанія Google кращих алгоритмістів світу вона
запрошувала до себе на роботу, адже менеджери компанії знають, що саме алгоритмісти зможуть розв'язати складні задачі, розробити нові алгоритми
і не тільки. В результаті чого кращі таланти України покидають нашу країну заради слави і більших перспектив на заході. Адже в України, не
зважаючи на її уже не малий досвід виступу на міжнародній арені, ще не утворено спеціальних програм та фондів для підтримки спортивного програмування.
Відносно недавно, в Харкові, кожного лютого почали організовувати зимові школи зі спортивного програмування. А у Севастополі кожного серпня –
літні школи.
Сьогодні таланти України потрібні усьому світу – наші студенти виборювали перемогу не тільки на Чемпіонаті Світу з
програмування ACM ICPC, а також на кубку хакера Фейсбук (Facebook Hucker Cup), Google Code Jam та Imagine Cup. Набирає обертів інтернатура відомих
комп'ютерних фірм – останніми роками щорічно кілька десятків студентів факультету кібернетики виборюють право пройти безкоштовне тримісячне (за
рахунок приймаючої сторони) навчання в Америці та Європі у таких гігантах світової IT індустрії як Фейсбук, Гугл, Майкрософт, Амазон, IBM та Яндекс.
Наприклад, у квітні 2012 року на факультеті кібернетики було проведено курс лекцій інженерами Фейсбуку, що закінчився Хакатоном.
Починаючи з 2007 року, для змістовної підготовки до змагань в Україні функціонує інтернет портал дистанційного
навчання з програмування www.e-olimp.com.ua, що містить архіви задач, алгоримів, форум для
спілкування між учасниками та внутрішня пошта. Портал E-olimp створений для залучення студентів та учнів загальноосвітніх шкіл до участі в олімпіадах
з програмування, підвищує якість підготовки майбутніх фахівців у галузі інформаційних технологій та програмування. Сьогодні кілька десятків Вузів та
шкіл України використовують портал у навчальному процесі. Щороку біля 50% абітурієнтів факультету кібернетики – вихованці цієї системи, які в
подальшому вдосконалюють свої знання та приносять перемогу Україні на світових першостях з програмування. Україна має таланти. Їх треба розвивати.
У 2009 році на факультеті кібернетики для другого курсу було введено предмет "Алгоритміка", який якраз і передбачає вивчення
студентами різного рівня складності алгоритмів та підготовку до змагань. Для покращення виступів команд України на міжнородних змаганнях варто було б
ввести цей предмет як обов'язковий у багатьох Вузах країни, де поглибленно вивчають інформатику. На кафедрі математичної інформатики на 3 та 4 курсі
читається ряд спецкурсів, що надають студентам сучасні знання зі структур даних, теорії графів та пошукових алгоритмів. Реалізуються алгоритми з використанням
об'єктно – орієнтованого підходу мовами C++ та Java.
На факультеті кібернетики багато років функціонує факультатив з алгоритміки, де ведеться підготовка студентів як до олімпіад,
так і до проходження успішного інтерв’ю для потрапляння на інтернатуру за кордон.
Починаючи з 2011 року студенти факультету кібернетики мають можливість у Києві пройти безкоштовне навчання в школі аналізу
даних Яндекс, а також отримати практичні навички на стажуванні в Москві та Санкт-Петербурзі.
У 2001 році у Сполучених Штатах Америки була створена корпорація Topcoder,
яка на поточний час налічує більше 170.000 членів, що регулярно беруть участь в різних типах змагань (алгоритми, розробка та кодування компонент, тестування).
Топкодер спеціалізується на проведенні змагань зі спортивного програмування. На відміну від офіційного Чемпіонату Світу з програмування (ACM International
Collegiate Programming Contest), ці змагання на Топкодері є індивідуальними. Світові комп'ютерні фірми фінансують проведення цих змагань, отримуючи від
учасників їх розробки для використання у власних програмних продуктах.
Популярними на Топкодері є змагання по швидкому розв'язанню алгоритмічних задач (аналогічно шкільним та
студентським олімпіадам з програмування). Найбільшими з турнірів є TopCoder Open (неофіційний чемпіонат світу з програмування серед
професіоналів) та Google Code Jam (до 2007 року, починаючи з 2008 проводиться компанією Google самостійно). Починаючи з 2006-07 рр.
проводяться окремі змагання і річний турнір для школярів – TopCoder High School.
У 2007 році компанією Topcoder було проведено номінацію найкращого викладача (2007 TopCoder Collegiate
Challenge Prestigious Professor Award, for making "a profound difference" in the lives of their students). Відбір викладачів здійснювався
студентами всього світу звичайним голосуванням на WEB-сторінці. До фіналу було відібрано 8 викладачів-конкурсантів, з яких було двоє
представників з України. За результатами фінального голосування перше та третє місця відійшли представникам з Китаю, друге місце посів
Бондаренко Віталій Вікторович, асистент кафедри теоретичної кібернетики факультету кібернетики КНУ, четверте – Медведєв Михайло
Геннадійович, доцент кафедри математичної інформатики факультету кібернетики КНУ.
Медведєв Михайло Геннадійович є членом журі Всеукраїнських та міжнародних студентських олімпіад з
програмування. З 2003 року керівник студентських команд України з програмування, що беруть участь у півфінальному, південно-східному
європейському регіоні. За роботу з обдарованою молоддю має почесні грамоти Міністерства освіти і науки України (2003, 2008 рр.) та подяки
(2005, 2006 рр.), Відмінник освіти України (2005 р.), володар гранту Президента України (2007 р.).
Бондаренко Віталій Вікторович є членом журі Всеукраїнських та міжнародних шкільних олімпіад з інформатики.
За роботу з обдарованою молоддю має почесні грамоти Міністерства освіти і науки України (2001, 2005 рр.), Відмінник освіти України (2008 р.).