[Из песочницы] Google Code-In 2014
Привет, хабрахабр! В этой публикации я продолжу традицию, основанную на серии конкурсов Google Code. На днях завершился Google Code-In 2014, в котором я стал победителем.Отмечу, что в GCI этого года задания предлагали 12 организаций (их список можно найти на официальном сайте). Согласно статистике участников было 665 (которые завершили хотя бы по 1-му заданию). Задания каждая организация предлагала выполнять под присмотром менторов (проще говоря, проверяющие, которые специализируются на определенном виде работы). Соревнование длится 7 недель. В этом году оно началось 1 декабря 2014 и завершилось 18 января 2015. Для принятия участия достаточно заполнить свои данные, подписать документ участника и отправить подтверждение того, что вы ученик.
Участники из СНГ: В этом году соревнование стало более популярным и в нем принимало участие довольно много наших соотечественников. Из KDE в победителях оказались призер GCI 2012 Илья Ковалевский (кстати, мой земляк, киевлянин) и призер GCI 2013 Михаил Ивченко (из Ижевска, Россия). Также финалистами стали Сергей Попов, Даник Пастущак. Из участников других организаций это были Имран Татриев, Евґений Шульгин (принимал участие в OpenMRS, кстати, имевший довольно высокие шансы, находился на первом месте в топе, однако победу получили 3-е и 5-е места). Из моей организации была одна девушка, но, похоже, так и не сдала ни одного задания. И Алексей Савенков. Это те, кого я знаю. Уверен, было больше. Кстати, кому интересно, вот ссылка на общий рейтинг.
ВведениеМеня зовут Станислав Кривенко. Учусь я в Оптико-Механическом Колледже КНУ им. Шевченка в городе Киеве на программиста (чем увлекался, туда и решил идти).Узнал я об этом соревновании от моего папы, который прочитал статью в одной газете. Раньше я уже находил информацию по этому соревнованию, но не хотел принимать участие. Программирую в течении 8 лет, но за этот период ни разу не выдвигал себя на олимпиады или какие-то конкурсы. Поэтому это был мой первый конкурс, в который я решил уже с первого дня вложить все свои навыки и идти к финалу. Выбор пал на организацию Apertium.
С организацией я не ошибся. Сдал задание самым первым из всех и удивился. Это было написание скрапера существительных из языка faroese в специальном формате, при этом необходимо было пройти по каждой странице вики-словаря и собрать информацию по каждому словообразованию (окончания, слова, которые изменяются в определенном времени и падеже). Писалось это на python, который до конкурса я не знал, поэтому приходилось изучать много нового материала. Все задания выполнял в этом плане, попеременно отдыхая на ручной обработке текста. Под конец декабря я решил идти к победе и, узнав у ментора о заданиях, которые важны для организации, немного испугался. Мне предложили работать над системой Bison & Yacc. Задания были рассчитаны от 5-и до 7-и дней.
Программа писалась на C++ используя два парсера (ссылка). 3 дня было потрачено на сбор информации и общее представление о этих парсерах. Увы, но важность для организации состояло в том, что менторы сами не были знакомы с этими системами. Смысл задания был в том, чтобы организовать работу программы даже при получении ошибок (работа с Bison Error Token). Задание я сдал за 6 дней. Дальше потянуло на еще сложнее задание. Пользуясь мною же написанной системой, необходимо было оформить построение AST (абстрактного синтаксического дерева). Задание рассчитывалось на 5 дней, но оно попало как раз на новогодние праздники, сдал за 8.
Менторы очень дружелюбны и помогают во многих вопросах. Единственное, некоторые довольно сильно придираются, иногда даже могут потребовать больше, чем того требует задание. Но это, в основном, случалось тогда, когда я решал идти своим путем, а не подготовленным (не привык работать в open source проектах, поэтому для меня по началу было легче делать свои системы, чем дорабатывать чужие).
Что ж, поездка назначена на 7-е июня. Планирую написать отчет после поездки.
Вывод GCI предоставляет возможность проявить свои силы, при этом выучив много нового, познакомиться с новыми людьми и попрактиковаться в выполнении open-source задач. Популярность конкурса растет. Так, в этом году победило 3 русскоговорящих, а участие приняли еще больше соотечественников.Желаю всем удачи, особенно тем, кто заинтересован в принятии участия в таких конкурсах.