Нынешним челябинским студентам-математикам нисколько не  легче, чем было когда‑ то Пифагору

13 Декабря 2013
Нынешним челябинским студентам-математикам нисколько не    легче, чем было когда‑  то Пифагору

14 декабря в Южно-Уральском государственном университете стартует чемпионат по программированию факультета вычислительной математики и информатики.

14 декабря в  Южно-Уральском государственном университете стартует чемпионат по программированию факультета вычислительной математики и  информатики.

Соревнования проводятся ежегодно с  момента образования факультета.

Традиционно в  чемпионате участвуют ведущие IT-компании Челябинской области. Так, например, в  этом году в  качестве генерального спонсора чемпионата выступила компания ООО «Малахит», которая является одним из  ведущих разработчиков корпоративных информационных систем на  Южном Урале. Среди спонсоров чемпионата также можно отметить не  менее значимые на  рынке IT-услуг компании    — ООО «Редсолюшн», ГК «RUgion», ООО «АСГОР».

Участие подобных компаний говорит о  значимости проводимого мероприятия не  только для факультета, но и  для будущих работодателей, которые достаточно высоко оценивают студентов ЮУрГУ, считая их  уже своими потенциальными сотрудниками.

 Ориентир на  ACM

           Организуя работу в  Школе олимпиадного программирования, мы прежде всего ориентируемся на  опыт крупнейшей студенческой олимпиады по программированию ACM/ICPC. Таким образом наши усилия направлены на  организацию качественной подготовки наших студентов к  соревнованиям международного уровня,    — рассказывает Раиса Федянина, координатор школы олимпиадного программирования.

Школа олимпиадного программирования организована лишь в  начале этого года?

Да, но,  несмотря на  это, несколько команд из  числа наших студентов уже имеют успешный опыт участия в  четверть финале чемпионата мира по программированию ACM/ICPC, который проходил не  так давно в  Екатеринбурге. Ребята привезли с  собой комплект дипломов третьей степени.

Кто может участвовать в  чемпионате и  что побуждает студентов к  участию?

В чемпионате участвуют студенты с  первого по четвертый курсы. В  этом году в  финал соревнования проходят 30 студентов, занявших по результатам личных и  командных тренингов, а  также по результатам прочих соревнований по программированию верхние позиции в  рейтинге Школы олимпиадного программирования. Что касается мотивации, то студенты с  большим желанием принимают участие в  чемпионате, поскольку высоко оценивают его значимость и  получаемый опыт для своей будущей карьеры. Кроме того, победители получат дипломы, ценные призы и  существенные денежные премии. В  частности, за  первое место    — 15 000, за  второе    — 10 000, за  третье    — 5 тысяч рублей.

Как проходят соревнования?

Финал чемпионата проходит очно и  длится четыре часа.

Каждая программа, подготовленная участником соревнований, проверяется системой автоматизированного тестирования на  секретном наборе тестов. В  ходе соревнований участникам предлагается для решения шесть задач различной сложности, две из  которых    — на  английском языке. Это очень важно, поскольку международные соревнования проходят на  английском языке.

 Оживить душу машины

 Леонид Соколинский, проректор ЮУрГУ по информатизации, доктор физико-математических наук, профессор:

 — Сегодня информационные технологии    — это одно из  самых бурно развивающихся направлений…

Темпы их  роста, появление новых программных продуктов возрастают с  каждым годом. Появились многоядерные процессоры, причем количество ядер с  каждым годом будет только расти. В  ближайшее десятилетие появятся смартфоны, ноутбуки и  планшеты, которые по своей вычислительной мощности будут сравнимы с  тем, что сегодня мы  называем мощными вычислительными системами, суперкомпьютерами. Но  свой механический интеллект они смогут реализовать только с  помощью программиста. Только он  сможет «вдохнуть в  них душу» и  сделать эти сложнейшие устройства очень дружелюбными, понятными для обычного человека.

В той  же гигантской американской компьютерной компании «Apple»  огромный штат программистов, которые разрабатывают операционные системы, программное обеспечение для айфонов или айпадов.

Сегодня задача высшей школы не  только России, но и  всего мира    — готовить высококлассных специалистов, успевая за  этим невиданно быстрым ростом информационных технологий…

—  Но  как это сделать? Ни  один вуз в  мире сегодня сделать это не  может! В  будущего бакалавра за  четыре года практически невозможно успеть вложить гигантский объем современных, чрезвычайно сложных информационных технологий.

Предположим, в  одной фирме используется технология X, в  другой — Y, в  третьей — Z. Если бакалавр имеет хорошую базовую подготовку, то он  уже через месяц для продуктивной работы сможет освоить любую из  этих технологий. Через полгода он  уже трудится на  среднем уровне, а  через год становится экспертом в  этой технологии.

Проблема  же в  другом. Ни  один учебник не  научит тебя решать сложные задачи  по той простой причине, что их  огромное множество! И  само развитие новых информационных технологий регулярно порождает миллиарды проблемных задач.

 Алгоритм успеха

 —  Насколько решение этих олимпиадных задач пригодится в  работе программиста?

Как правило, практического значения они не  имеют. На  олимпиаде другие цели. Интеллектуально очень трудная задача придумывается искусственно. Нужно найти ее  решение и  реализовать его в  виде алгоритма, программы, которая проверяется автоматической системой по заранее заготовленным тестам. Соответственно олимпиады по программированию развивают способность решать задачи. Этот процесс намного более сложный, чем передача базовых знаний. Здесь важна активная позиция самого студента. Если ему интересно, то у  него появляется азарт, здоровое чувство конкуренции. Это своего рода спорт!

Есть задачи, напоминающие систему ТРИЗ, решение которых связано не с  информационными технологиями. Вначале нужно поставленную проблему формализовать, то есть привезти ее к  некоторым математическим моделям. Например, задача формализуется в  виде задачи сортировки массива. Но  это надо понять! А  сделать это порой очень трудно. И  как раз этому  то и  надо учиться.

—  При подготовке подобных задач изучается опыт других университетов?

—  Безусловно! Сегодня соревнования по программированию    — это очень глобальное мероприятие, которое привлекает огромное внимание во  всем мире и, прежде всего, компании, работающие в  сфере информационных технологий.

Уже с  первого семестра мы  собираем первокурсников и  рассказываем о  Школе олимпиадного программирования, участвовать в  которой проявляет желание большинство. Мы  стараемся брать всех.

В Интернете на  факультетском сайте есть специальная страница, посвященная группе олимпиадного программирования. Здесь формируется текущий рейтинг, по которому можно определить все ступени в  иерархии: в  статусе членов сборной команды факультета сегодня девять человек, в  статусе кандидата в  сборную    — 12. Кроме того, есть большое количество студентов, находящихся в  статусе вольнослушателей.

Один раз в  месяц в  школе проводится персональный тренинг, где решают задачи по одному. А  также  командный тренинг, где они объединяются по тройкам и  результат начисляется тройке  же в  целом. Это формат мирового чемпионата по программированию. Каждой тройке дается один компьютер. Делается это намеренно: очень важно, чтобы студенты получали навыки работы в  команде. Уже вскоре они с  этим столкнутся: современное программное обеспечение невозможно разработать в  одиночку.

—  В  известной песне пелось: «Кандидат наук и  тот над задачей плачет…» Есть  ли такие задачи, которые не  могут решить даже ваши профессора?

Конечно, есть! Они сами признаются, что среди собственных студентов могут легко выйти в  аутсайдеры.

 Спроектировать лабиринт

 — Не правда ли, считается, что сложную задачу составить легче, чем ее  решить?

Это своего рода парадокс, но  это так. Спроектировать лабиринт намного легче, чем из  него выйти. То  же самое с  задачами по олимпиадному программированию. Есть определенная технология, когда ты  идешь от  алгоритма, потом все запутываешь в «лабиринт». Есть огромное количество блестящих составителей задач, которые оказываются совершенно слабыми «решателями» подобных  же задач.

На факультете идет жесткий контроль на  всех уровнях    — зачеты, сессия, диплом. Если студент не  преодолел хотя  бы одну ступень, мы  его никогда не  выпустим    — или отчислим, или оставим на  второй год. Поэтому подавляющая масса наших студентов получает все  же достаточно качественное образование. И  компании это прекрасно знают, и с  удовольствием берут наших выпускников.

Но все  же особый интерес проявляется к  студентам, способным решать нетривиальные, олимпиадные задачи?

Именно потому что в  реальной жизни такие задачи возникают повсеместно в  ходе разработки сложного программного обеспечения. И  такого студента они поставят на  сложные направления, где остальные пасуют.

Сложность программного обеспечения сегодня просто запредельная. Даже представить себе невозможно программы, которые пишутся    — это тысячи и  даже миллионы строк кода! Причем кода очень сложных алгоритмов. И с  каждым годом возникает потребность в  программистах не  просто квалифицированных, но  тех, кто способен формализовать, быстро понять, как оптимально решить сложную задачу алгоритмами.

В бой идут одни профи

 —  Если через 10 лет смартфоны превратятся в  суперкомпьютеры, то какими в то время могут стать ваши олимпиады по программированию?

—  Думаю, что каких  то кардинальных изменений не  произойдет. Потому что решение сложной задачи даже в 2023 году потребует тех  же умений и  навыков, которые стояли перед Пифагором. И  эта способность уметь решать нестандартные задачи никогда не  стареет, а  через 10 лет, может быть, станет ценна еще более. 

Интересно, кем стали ваши студенты, которые занимали призовые места в  олимпиадном программировании?

Великими учеными в  области информационных технологий они не  стали. Руководителями каких  то больших компаний    — тоже нет. Не  стали они даже начальниками отделов. Они действительно пошли в  эти компании и  работают программистами. Но  программистами супервысокого класса!

Именно эти ребята обеспечивают уровень современных технологий. И  именно они позволяют уже невероятно сложным информационным технологиям становиться еще более сложными и  вместе с  тем    более понятными.

Попробуйте их  изъять из  системы    — тотчас все затормозится, поскольку даже огромная армия рядовых программистов с  этим разобраться не  сможет.

Если вообще программистов сравнить с  пехотой, то эти профи    — авангард. Они прошибают стены крепостей. Это элита. По статистике их  может быть 3-5 процентов. Но  сама состязательность обучения в  нашей школе помогает тянуться за  сильными. А  значит, получать более качественное образование и в  отношении будущей карьеры иметь более предпочтительные шансы.

 

Поделиться

Публикации на тему
Новости   
Спецпроекты