В каких проектах ты участвовал до того, как поступил сюда?
В этом году я был на Летней школе программирования, которая проходила на базе Университета центральной Флориды. У меня был выбор, заниматься изучением языка Java или делать игры на движке Unity. Я решил выбрать изучение Java: заранее знал, что мне предстоит с ним познакомиться во втором семестре в Университете ИТМО. По четным дням мы изучали теорию, по нечетным — применяли знания на практике, а по итогам двух недель мы должны были представить готовый проект. Задание для проекта можно было выбрать из предложенного списка, в помощь нам также дали учебник. Естественно, он был на английском языке, и, когда я его читал, пришел к мысли, что было бы неплохо сделать язык изложения попроще. Я обсудил эту идею с куратором и решил, что использую ее для проекта. В итоге я написал прототип приложения, которое проверяет текст и заменяет сложные слова на более простые синонимы.
Это консольное приложение или у него есть пользовательский интерфейс?
Да, программа изначально работала в консоли, так как мы были ограничены по времени, и заниматься сразу всем не представлялось возможности. Но по приезде домой я сделал полностью графический интерфейс, и сейчас стараюсь его постоянно дорабатывать и дополнять. Проект можно найти на GitHub.
Откуда приложение берет слова?
Существует словарь, по запросу к API которого можно получить список синонимов. Затем я из них выбираю те, которые будут наиболее простыми для понимания, — для этого у меня есть отдельная база слов, где для каждого слова указана частота его использования. Из этой базы я выбираю те синонимы, которые встречаются чаще всего. Конечно, у программы есть недостатки, потому что в каких-то случаях синонимы подставлять нельзя, но я работаю над этой проблемой.
Как ты решил стать программистом?
Я начал заниматься программированием классе в седьмом — сначала просто на уроках информатики, затем с девятого класса начал участвовать в олимпиадах. Я тогда думал, чем хочу заниматься больше — любимым делом или подготовкой к Централизованному тестированию, это белорусский аналог ЕГЭ, и решил сделать упор на программирование. В итоге благодаря Белорусской республиканской олимпиаде по информатике и Открытой олимпиаде школьников в Москве я и поступил в Университет ИТМО.
Думаю, абсолютно все, кто принимал участие в различных контестах, знают такие платформы, как TopCoder и Codeforces, и я не исключение. Я участвовал в региональном этапе TopCoder Open, который проходил в Университете ИТМО, но своим выступлением не вполне доволен — нужно работать дальше и улучшать результат. В Университете ИТМО я хочу продолжать заниматься спортивным программированием: наверное, любой, кто интересуется этой темой, мечтает поучиться у Андрея Станкевича, и я тоже надеюсь попасть в сборную участников ACM ICPC. В то же время я понимаю, что не буду всю жизнь решать задачи, однако спортивное программирование дает возможность научиться по-особому мыслить, эти навыки пригодятся и в промышленном программировании. Одновременно со спортивным программированием я планирую принимать участие в обычных проектах и контрибьютить в OpenSource, что также важно для получения работы мечты.