В Екатеринбурге есть Уральский Федеральный Университет (УрФУ), а в нем направление фундаментальной информатики и информационных технологий (ФИИТ), на котором готовят разработчиков. С 2019 года Контур совместно с IT‑сообществом региона меняет, развивает и поддерживает его. Здесь сократили количество обязательных математических дисциплин, позвали разработчиков читать лекции и дали студентам самим выбирать предметы на 3–4 курсах.В статье расскажем про процесс работы над программой и объясним, зачем она нужна Контуру, региону, IT‑сообществу и абитуриентам. УрФУ — самый крупный вуз на Урале. Это 13 институтов, 116 программ бакалавриата и 190 — магистратуры. С университетом Контур сотрудничает давно: поддерживает спортивное программирование в вузе, приглашает студентов на стажировки и больше 10 лет проводит курсы по тестированию, аналитике, бэкенду и другим специальностям.  Несколько лет назад в Контуре задумались о плотной работе с IT-сообществом региона и образованием. А на матмехе УрФУ недавно появилось новое направление — фундаментальная информатика и информационные технологии (ФИИТ). Университет идею поддержал: так Контур и вуз пришли к соглашению о реформировании ФИИТ. Относительно «свежее» направление реформировать проще, потому что в нем мало «наследия», а структура более гибкая, подвижная.  ФИИТ 2.0 должен был сработать на две глобальные цели: Создать, поддерживать и развивать IT-сообщество на Урале. Концентрация талантливых айтишников — это классные проекты, связи, обмен опытом и развитие региона. Чем больше классных людей рядом, тем меньше хочется уезжать на поиски лучшей жизни.  Сделать качественное образование в регионе, чтобы за ним не нужно было уезжать в Москву или в Питер. А еще собственная учебная программа — это возможность изменить подход к высшему образованию в целом. «Мы придумали концепт, который решал сразу две важные задачи, — поясняет создатель образовательной программы ФИИТ Павел Егоров. — Первое — это умные и талантливые студенты в одном месте, а второе — привлечение лучших преподавателей. Это — самоподдерживающаяся система, которая не требует постоянного внешнего контроля. Ведь преподавателям интересно работать с такими студентами, а у ребят появляется дополнительная мотивация, когда пары ведут хорошие лекторы». Идея была отличной, но впереди большая работа — построить IT-направление на бакалавриате. Что должно было войти в программу? Обучение поделили на две части. 1-2 курс — это базовая программа с обязательным набором предметов. В основном это математические и программистские дисциплины. В начале 1 курса у студентов двухнедельный интенсив «Введение в математику», после которого они изучают математический анализ и курс алгебры и геометрии. На втором курсе ребята проходят дискретную математику, теорию вероятностей и другие математические предметы.  Список программистских дисциплин первых двух лет построен так, чтобы студенты приобрели основные айтишные знания и навыки. В него входят, например, основы программирования на С#, алгоритмы и структуры данных, язык Python, объектно-ориентированное программирование, базы данных, архитектура компьютеров, протоколы интернета и другие курсы. На 3-4 курсе ребята сами формируют траекторию из курсов по выбору. Они могут включить в свою программу математические, программистские и софтскиловые дисциплины. Например, выбрать курсы про строковые алгоритмы, лингвистические основы информатики, промышленную разработку на Java или уделить больше внимания развитию мягких навыков на курсах по инклюзивному дизайну или редактуре в IT. Так каждый студент может прокачиваться в тех областях, которые ему интересны, и не тратить время на ненужные дисциплины.  Дальше концепт перевели в учебный план, оформленный по всем правилам университета, и утвердили его. Образовательные стандарты фиксируют в первую очередь набор навыков и знаний, которые должны быть у выпускников. Поэтому программа устроена так, что каждая дисциплина закрывает определенные компетенции. Это позволяет корректировать программу, меняя курсы и нагрузку, без выхода за заявленные образовательные пределы. Так программа остается актуальной, ведь если какой-то курс устарел, его можно заменить другим без долгих согласований и ненужной бюрократии.  «Идея была такой: в первые два года нужно было вместить всё, что мы считаем обязательным для изучения, а остальное «уезжало» в курсы по выбору, — говорит Павел. — Чтобы понять, какие темы стоит приземлить в «ядерную» программу, а какие нет, мы организовывали серию мероприятий, на которых собирали преподавателей и практиков, работающих в IT. На таких встречах мы раскладывали каждый курс по полочкам, обсуждали, слушали мнения и по итогу принимали решение. Так мы прошли по всей программе, которая была у ФИИТ на тот момент». Например, из программы первых двух лет убрали курс по математической логике. Базовые теоретические темы матлогики перенесли в курс введение в математику, а связь с практикой показали в рамках курса про архитектуру компьютеров. Более подробно изучить предмет можно на курсах по выбору. «Раньше, когда не было понятно, кто такой программист, всех учили математике. Считалось: если хорошо знаешь математику, будешь хорошим программистом. ФИИТ отказался от обязательных курсов, например, комплексного анализа, функционального анализа. Остался только матанализ, который учит терминам и языку. Если захотят больше, глубже — можно записаться на курсы по выбору. Математика — это о том, как решать задачи, которые никогда не видел, чтобы потом, в работе, легче справляться с нестандартными заданиями»,— говорит преподаватель математического анализа на ФИИТ Иван Симонов. А вот курс по основам компьютерной безопасности из предметов по выбору на старших курсах переместили в «ядерную» программу. Точнее, передвинули не весь курс, а сделали его шестинедельную мини-версию. Подробно изучить все темы за такое короткое время, конечно, не получится. Поэтому студенты, которые хотят глубже погрузиться в тему компьютерной безопасности, могут выбрать углубленный курс от Хакердома (сообщество компьютерной безопасности) на третьем году обучения.  «Задачи на курсе связаны с поиском и эксплуатацией уязвимостей в различных системах, — рассказывает соавтор и преподаватель курса Александра Котов. — Без знания в этой области невозможно создать по-настоящему безопасную программу». Изменения в программу вводили постепенно: в первый год обновили дисциплины для первого курса, во второй — для второго и так далее. Кроме того, для первых двух наборов после каждого семестра были обязательные ретроспективы со студентами и преподавателями. Мы собирали обратную связь и вносили корректировки, если такое требовалось.  Кроме обязательных математических и программистских курсов в учебный план первых двух лет включили предметы по мягким навыкам и смежным с разработкой дисциплинам. Например, так появился курс по основам продуктового дизайна, который в том числе развивает эмпатию к пользователям, и курс про создание продукта. Такого не было ни на одном направлении матмеха УрФУ, ведь дисциплины на мягкие навыки до этого присутствовали только в предметах по выбору на старших курсах. Зачем учить айтишников дизайну, ещё и включать эти курсы в обязательную программу? Для этого есть несколько причин:  Во-первых, грамотный разработчик должен не только хорошо выполнять свои обязанности, но и понимать, что и как делают другие члены команды. А эти курсы помогут ребятам разговаривать с продуктовыми дизайнерами на одном языке и, при необходимости, что-то сделать самостоятельно. Например, поправить верстку или спроектировать минимальные удобные интерфейсы.  Во-вторых, чтобы показать студентам, что IT — это не только код и программирование, здесь есть много других, не менее интересных ролей.  «Нам важно объяснить ребятам, что дизайнер — это не «я художник, я так вижу», это настоящий специалист, который использует исследования и накопленный опыт, чтобы сделать продукт не только красивым, стильным и привлекательным, но и функциональным и удобным в использовании», — поясняет создатель и преподаватель курса дизайна, продуктовый дизайнер Контура Андрей Пушин. Ещё одно отличие новой программы — многие предметы, для которых это уместно, ведем в формате «перевернутого класса». Это такая модель обучения, при которой весь теоретический материал студенты изучают самостоятельно дома: смотрят видеолекции, читают  рекомендованную литературу, выполняют домашнее задание, а полученные знания или проблемные места отрабатывают на очных практических занятиях с преподавателем.  «Почему лекции проходят не очно? Преподаватели устают повторять одно и то же из года в год, — комментирует инженер-программист Контура и один из преподавателей курса «Основы программирования» Антон Федоров. — Сложно годами поддерживать в себе мотивацию преподавать, поэтому проще один раз очень качественно записать лекции. Намного легче найти несколько преподавателей практики, которые будут помогать студентам изучать курс по готовым наработкам, чем хорошего лектора». Такой формат удобен и для студентов: можно слушать видеолекции в любое время с удобной скоростью и перерывами и перематывать, если отвлеклись или пропустили. Практические и домашние задания по многим курсам выложены на онлайн-платформе ulearn.me. Ее создали разработчики Контура для обучения программистов, поэтому эта площадка идеально подходит для студентов ФИИТ: решать задачи можно в любом месте и в любое время, а все, что для этого нужно — ноутбук или ПК с доступом в интернет.  В программе остались физкультура, иностранный язык, философия и история России, потому что это федеральный образовательный стандарт.  Одновременно с реформированием ФИИТ в 2018-2019 году все факультеты в университете обязали включить в учебные планы «Основы проектной деятельности». Несколько последних лет эту дисциплину внедряют в программы учебных заведений разных уровней: школы, колледжи, техникумы, вузы. На ней студенты должны создать и защитить собственный проект, то есть решить задачу, с которой они будут встречаться после вуза. В УрФУ дисциплину оформили в онлайн-лекции без практики. Но будущим айтишникам недостаточно теории, поэтому Контур реформировал и проектную работу. «У курса несколько целей: студенты должны узнать, что такое команда и проект, какие есть инструменты для выполнения проектов, что такое Scrum», — рассказывает куратор проектной работы ФИИТ и руководитель курса «Основы проектной деятельности» Иван Домашних. На первом курсе у ребят ещё недостаточно знаний для сложных проектов, поэтому первое, что они разрабатывают — настольные игры в Miro, свой технический проект на объектно-ориентированном программировании и концепцию стартапа в рамках создания продукта. С каждым курсом проекты усложняются, а заказчиками уже могут выступать представители компаний или отдельные команды разработчиков. Так, студентка третьего курса ФИИТ Алёна Полуяненко со своей командой работает над проектом для сервиса Тинькофф Путешествия. Ребята создают систему Тинькофф Экскурсии. Этот сервис поможет забронировать интересную экскурсию в нужном городе. Сам проект разделен на два семестра, поэтому ребята закончат его только к концу учебного года. В конце осеннего семестра студенты представят MVP без возможности модерации и выбора экскурсий по фильтрам, а к концу года они планируют доработать сервис и внести в него все возможности, которые были обозначены заказчиком в техническом задании. «В проекте я выполняю роль дизайнера, — поясняет Алёна. — Мой основной инструмент — Figma. В ней я создаю прототипы нужных страниц сервиса. Я рада, что на первом курсе у нас был предмет «Основы продуктового дизайна». Всё то, что мы изучали, очень помогает в работе над текущим проектом. А ещё я помогаю фронтенд-разработчику нашей команды. Сейчас на ФИИТ я прохожу курс по React от HTML Academy, и мне кажется очень продуктивным, сразу применить полученные знания». Проектная деятельность помогает студентам понять, как ведется реальная разработка продукта, а для компаний — это отличная возможность «присмотреть» талантливых стажеров. «Проектное обучение стремится поставить вопрос «зачем?» на первое место, — комментирует Иван. — Например, зачем надо изучить стандарт OAuth? Чтобы добавить аутентификацию в веб-приложение бронирования книг. Зачем? Чтобы пользователи приложения видели свои взятые книги и могли взять другие. Зачем? Чтобы люди читали хорошие книги и развивались. Таким образом обучение через проекты мотивирует студентов развиваться, а навыки лучше закрепляются по сравнению с теоретическими лекциями и даже практическими задачами». Заменили устаревшие дисциплины. Например, отменили курс, где изучался JScript. Вместо него студенты ФИИТ изучают современный JavaScript на курсе веб-разработки в конце 2 курса.  Перенесли часть предметов. Так, мы убрали из основной программы курсы «Математическая логика», «Дифференциальные уравнения», «Теория автоматов», распределив минимально необходимую теорию по курсам алгебры, математического анализа и дискретной математики. Расширенные версии этих дисциплин «уехали» в курсы по выбору. Нематематический предмет БЖД тоже сдвинули на третий год обучения.А вот курсы по основам проектирования баз данных, математической статистики и теории вероятностей не сокращали, но перенесли со старших курсов в основную программу. Это сделали для того, чтобы недостаток знаний не мешал студентам выполнять проекты на других дисциплинах. То же произошло и с курсом «Основы компьютерной безопасности», о котором мы упоминали ранее.  Урезали некоторые дисциплины. К таким предметам относятся «Объектно-ориентированное программирование», время преподавания которого сократили с двух семестров до одного, так как часть нужного материала студенты теперь проходят на курсах по основам программирования, и по Python. Сокращения в курсе «Сети и протоколы интернета» коснулись, в основном, «железячной» части. Те ребята, которым эта тема кажется интересной и нужной, могут выбрать курс по выбору, который рассказывает про «железо» и его настройку. Переделали некоторые курсы. Как пример — «Основы проектной деятельности». Мы увеличили время проведения этого курса и полностью сделали его сами, отказавшись от стандартного онлайн курса, так как считаем, что умение работать в команде — важный и необходимый навык для каждого разработчика. Переработали курс, посвященный алгоритмам.  Добавили новые дисциплины. Например, «Основы веб-разработки», «Машинное обучение», «Создание программного продукта», «Психология и социология», «Публичные выступления», которые создали специально для студентов ФИИТ с прицелом на будущих айтишников. Оставили без изменений время проведения некоторых предметов, скорректировав их программу. Курс по алгебре и геометрии получил новую программу. Она реорганизована так, чтобы более важные и нужные темы студенты изучили в первую очередь. Плюс к этому были добавлены задания на программирование, в которых алгебраическими методами ребята решают разные задачи. Это сделало курс более интенсивным и эффективным. Компьютерные практики добавили и к курсам по математическому анализу и дискретной математики. Это помогает наглядно демонстрировать студентам пользу преподаваемых предметов. В обучении студентов участвуют разработчики и другие эксперты. Например, на 1-2 курсе ФИИТ в 2022-2023 учебном году преподаватели это 32 сотрудника университета и 64 специалиста из IT-компаний региона. В это количество не входят преподаватели физкультуры, английского языка, а также кураторы и наставники проектного обучения. На третьем и четвертом курсе ФИИТ 55 преподавателей,10 из которых с матмеха, плюс наставники курсов от компаний-партнеров. Точное количество последних назвать сложно, ведь со студентами работают целые команды преподавателей, кураторов и менеджеров. В основном курсы читают их авторы.  «Участие IT-компаний в обучении студентов — это хороший сигнал, — говорит руководитель образовательной программой ФИИТ Павел Егоров. — С одной стороны, это говорит о качестве самой программы, ведь бизнес тщательно подходит к выбору партнеров, а с другой — если компании делают свои курсы, берут студентов на стажировки и прочее, они улучшают образование». Чаще всего курсы от IT-компаний или самостоятельных разработчиков попадают в учебный план третьего и четвертого годов обучения. Например, сейчас в нем есть «Бэкенд от Контура», «Школа анализа данных от Яндекса», «Анализ данных в индустрии от Тинькофф» и ещё много всего интересного.  Чтобы оценить свою работу и понять, что всё не зря, Контур ориентируется на несколько показателей. Например, на проходные баллы — чем они выше, тем более сильные и мотивированные абитуриенты приходят на ФИИТ. А это значит, что при усилиях со стороны студентов, из них получатся грамотные и востребованные специалисты.  При этом высокие проходные баллы на ФИИТ — это не искусственно созданный показатель успешности, а результат прямого диалога с абитуриентами. «Мы не накрутили баллы, потому что пиар‑агентство сделало нам продающую рекламу, которая всех обманула, а дали слово нашим студентам, и это сработало и привлекло больше крутых абитуриентов, — комментирует Павел Егоров. — Только в связке с открытостью баллы — это показатель качества». Проходной балл на бюджет в 2019 году составил 267 баллов, а в 2021 — уже 277. По сравнению с предыдущим годом проходные баллы в 2022 году немного уменьшились: с 277 до 274. Зато количество победителей и призёров олимпиад, поступивших без вступительных экзаменов, увеличилось почти в два раза: с 27 человек в 2021 году до 50 в 2022. На проходные баллы в 2022 году могло повлиять много факторов: от изменения правил приема документов до усложнения ЕГЭ. Судя по данным https://4ege.ru/, упали баллы ЕГЭ, сдававших математику, русский и информатику, их результаты стали ниже на 6 баллов по сравнению с прошлым годом. А у тех, кто выбрал ЕГЭ по математике, русскому и физике — на 4 балла.  Вместе с проходными баллами на ФИИТ увеличилось и количество бюджетных мест, а значит направление привлекает всё более талантливых и замотивированных абитуриентов.  А ещё студенты проходят стажировки в разных IT-компаниях Екатеринбурга, а после стажировок трудоустраиваются. Вот так выглядят результаты опроса ребят об осенней стажировке студентов 2022 года: IT-компании выделяют стажеров с ФИИТ.  «Студенты ФИИТ хорошо показывают себя на стажировке. У них достаточно знаний, чтобы комфортно чувствовать себя стажером в большой компании. Ребята быстро учатся и круто общаются внутри команды и между собой в стажерском комьюнити. А ещё они точно знают себе цену, ориентируются в рынке и лучшие из них имеют по несколько офферов на руках к третьему курсу, если задаются такой целью»,— говорит менеджер стажировки в Контуре Маша Дудниченко.  «В первые три года работы мы полностью сконцентрировались на подготовке ребят к промышленной разработке, и это у нас получилось. Наши студенты уже работают в IT-компаниях, например, в Контуре, Яндексе, Сбере, Точке, Doubletapp, Тинькофф и других», — говорит руководитель образовательной программы Павел Егоров. Студенты ФИИТ также пробуют себя в роли спикеров на айтишных событиях. Например, в мае этого года Михей Мельников, третьекурсник ФИИТ, выступит с докладом на конференции DUMP Екатеринбург. Но мы хотим «дальше и больше» — у нас есть идея привлечь студентов к научной работе. Сделать так, чтобы они участвовали в исследованиях на кафедрах вуза, писали статьи в научные журналы. Пока мы выстраиваем стратегию для достижения этой цели и думаем, что в скором будущем сможем воплотить её на практике. А ещё мы открыты к партнерству. Если у вас есть идеи проектов для студентов, интересный айтишный курс или вы хотите рассказать ребятам с ФИИТ о стажировке — напишите нам на fiit@skbkontur.ru Автор статьи — Наталья Алаева  Менеджер по коммуникациям