
Программирование и искусственный интеллект
ПАСПОРТ ПРОГРАММЫ

01.04.02 Прикладная математика и информатика
Контрактных - 13
Технологии разработки информационных систем
Русский
Технологии разработки программного обеспечения
Русский

ОПИСАНИЕ ПРОГРАММЫ
Учебный процесс ведется по углубленной программе. Большинство практических дисциплин преподают ведущие специалисты компаний-разработчиков программного обеспечения (Яндекс, Mail.ru Group, JetBrains, DevExperts и др.). К чтению курсов привлекаются лучшие преподаватели вузов Санкт-Петербурга.
Среди студентов большое число победителей всероссийских и международных олимпиад по математике, информатике и программированию. Выпускников высоко оценивают российские и зарубежные компании. Студенты и аспиранты, которые принимают участие в научных исследованиях, получают специальные стипендии и выигрывают гранты. Их научные статьи публикуются в зарубежных изданиях, индексируемые Web of Science и Scopus.
Программа ориентирована на наиболее способных студентов, что позволяет вести обучение на глубоком теоретическом и практическом уровне. Фундаментальные знания в области теоретической информатики (computer science), непрерывной и дискретной математики преподаются известными специалистами в соответствующих дисциплинах. В практической части уделяется внимание разработке программного обеспечения и современным информационным технологиям. Занятия этой части проводятся представителями индустрии.
В образовательной программе выделены две специализации:
- Технологии разработки программного обеспечения. Данная специализация ориентирована на студентов, прошедших усиленную подготовку в рамках бакалавриата и сконцентрирована на темах связанных с управлением проектами. В рамках специализации рассматривается не только реализация программного обеспечения, но и весь жизненный цикл в целом: от проектирования до внедрения и сопровождения. Освоение этой специализации откроет пути подъема по карьерной лестнице в направлении менеджерских позиций.
- Технологии разработки информационных систем. Данная специализация ориентирована на студентов, желающих получить актуальный опыт в реализации информационных систем с концентрацией на разработке программного обеспечение. В рамках специализации рассматриваются современные языки программирование и их приложение к созданию мобильных и веб-приложений. Освоение этой специализации позволит развиваться в направлении получения глубокой экспертизы в одной из предметных областей.
Выпускники ОП «Программирование и искусственный интеллект» являются востребованными специалистами не только в Санкт-Петербурге и России, но и за рубежом. Студенты имеют возможность участвовать в исследованиях, проводимых в рамках международной научной лаборатории «Компьютерные технологии» и проходить практику в ведущих компаниях-разработчиках программного обеспечения, таких как Яндекс, JetBrains, Mail.ru Group, Одноклассники, Wärtsilä. Знания и опыт, полученные в результате обучения, позволяют выпускникам становиться ведущими исследователями в таких областях, как программная инженерия, машинное обучение и бионформатика. Многие выпускники становятся ведущими специалистами и руководителями в области разработки программного обеспечения, в том числе, открывают собственные стартапы.
АКТУАЛЬНОСТЬ И ЗНАЧИМОСТЬ ПРОГРАММЫ
Программа рассчитана на абитуриентов с высоким уровнем подготовки в сфере Computer Science, что позволяет вести обучение на углубленном теоретическом и практическом уровне. В практической части уделяется внимание разработке программного обеспечения и современным информационным технологиям.
ЦЕЛЬ ПРОГРАММЫ
Цель нашей образовательной программы — подготовка высококвалифицированных и востребованных рынком специалистов в области информатики и программной инженерии. В результате освоения программы выпускники должны быть готовы как к проведению научных исследований в информатике и смежных областях, так и к внедрению полученных навыков на практике в рамках работы в компаниях по разработке программного обеспечения.
ДИСЦИПЛИНЫ
Верификация программного обеспечения
Курс раскрывает базовые алгоритмы современных методов доказательства и автоматической проверки работоспособности программного и аппаратного обеспечения. Освоение курса позволит получить теоретические знание и практические навыки, необходимые для разработки верификаторов и анализаторов кода. Курс ведётся выпускником кафедры КТ.
Современная теория информации
Курс посвящен основным принципам, лежащим в основе алгоритмов сжатия данных без потерь и с потерями. Освоение курса позволит не только понять, как работают существующие архиваторы, кодеки изображений и видеоинформации, но и получить необходимые навыки для разработки новых алгоритмов сжатия. Курс преподаётся сотрудником МНЦ Компьютерные Технологии.
Методы математической статистики в научных и инженерных исследованиях
Курс даёт полное понимание глубокого обучения, начиная со способов построения простейших линейных моделей, заканчивая архитектурами с последних конференций по машинному обучению. С помощью этого курса можно научиться строить глубокие нейронные сети с нуля. По результатам курса, студенты напишут свой фреймворк для глубокого обучения. Курс преподаётся сотрудником JetBrains
Криптография
Курс даёт понимание основных криптографических примитивов такие как протоколы шифрования, генераторы хеш-функций, блокчейн и криптовалюты. На практике же обсуждаются результаты последних лет в области криптографии. Курс преподаётся исследователем в области криптографии.
Обработка и анализ данных
Курс позволяет обучиться обработке данных, полученных из социальных сетей. В отличие от данных классического машинного обучения, в социальные сети имеют специальную структуру, которую можно и нужно использовать для более эффективной обработки. Курс преподаётся сотрудниками МНЦ Компьютерные технологии.
Управление проектами в информационных технологиях
Курс ориентирован на разработчиков программного обеспечения и посвящен тому, как разработать и вести проект от начала до его конца. На курсе рассказывается про все этапы, которые предстоит пройти, а также обучают правильно оформлять документацию, соответствующую всем требованиям современного IT-сообщества.
Алгоритмы и структуры данных (углубленный курс)
В этом курсе раскрываются продвинутые алгоритмы и структуры данных. Рассматриваются различные быстрые поисковые структуры данных, как Van-Emde Boas деревья, X- и Y- trie, и тому подобные. Также рассказывается про персистентные структуры данных и алгоритмы в разных моделях, такие как стриминговая модель и модель внешней памяти. Курс преподают чемпионы мира по программированию.
Разработка мобильных приложений (Специализация "Технологии разработки информационных систем")
Курс вводит в разработку мобильных приложений под операционную систему Android. В результате курса каждый студент напишет нетривиальное приложение, который не стыдно вписать в резюме.
Технологии разработки информационных систем (Специализация "Технологии разработки информационных систем")
Курс раскрывает подробности того, как реализовать свой движок поисковой системы. Поисковая система включает в себя очень много важных составных частей из разных областей Computer Science, таких как индексация, ранжирование, лингвистическая обработка текстов, и фильтрация спама.
Технологии и инструменты построения языковых процессоров (Специализация "Технологии разработки программного обеспечения")
Курс раскрывает как классические, так и современные подходы к построению интерпретаторов и компиляторов. Освоение курса позволит получить теоретические знания и практические навыки, необходимые для разработки новых языков программирования и создания реализаций уже существующих. Курс ведется преподавателями из JetBrains.
Управление качеством разработки программного обеспечения (Специализация "Технологии разработки программного обеспечения")
Курс раскрывает классические и современные подходы к тестированию реальных систем. Освоение курса позволит студентам научиться правильно и удобно тестировать сложнейшие системы, что является очень важным качеством для высококвалифицированного разработчика.
Программирование на языке Kotlin (Специализация "Технологии разработки информационных систем")
Курс даёт введение в и покрывает все особенности нового языка программирования Kotlin, разработанного выпускниками кафедры КТ в компании JetBrains. Kotlin становится популярным для разработки сложнейших систем. Как результат, студенты научатся пользоваться этим языком, а также остальной инфраструктурой, которая была специально разработана для него.
Прикладной искусственный интеллект
Курс посвящён методам решения практических задач анализа данных, с которыми сталкиваются современные специалисты по машинному обучению. Под руководством преподавателей и с использованием самых современных инструментов для анализа данных, студенты будут решать различные задачи из областей компьютерного зрения, анализа текстов и анализа социальных сетей. Курс преподаётся сотрудниками МНЦ Компьютерные технологии.
Современные проблемы прикладной математики и информатики
Курс знакомит с актуальными методиками разработки программного обеспечивания такими как Agile, Test Driven Development и т.д. Благодаря этому курсу, студенты могут без проблем влиться в процесс разработки в IT-компании. Курс преподаётся выпускником кафедры КТ, основавшим собственную компанию.
Математические модели комплексов программ (Специализация "Технологии разработки программного обеспечения")
Курс раскрывает структурный подход к разработке программного обеспечения. на примере языка UML, который позволяет описывать связь различных компонент системы друг с другом. В дальнейшем результат проектирования планомерно переводится на нужный язык программирования с нужными зависимостями.
ПРЕПОДАВАТЕЛИ













НАБОР КОМПЕТЕНЦИЙ
Выпускники программы:
- компетентны в разработке, анализе, реализации и внедрении алгоритмов и структур данных;
- способны определять эффективный способ решения прикладных задач, разрабатывать и внедрять программные решения;
- проектируют и реализовывают сложные программные системы и комплексы, в том числе высоконагруженные, распределенные и масштабируемые гетерогенные системы.
ТРУДОУСТРОЙСТВО И ВОСТРЕБОВАННОСТЬ ПРОФЕССИИ
На рынке производства программного обеспечения специалисты из России все больше занимаются выполнением сложных проектов, развитием и доведением инновационных идей до коммерческого использования, а также проведением научно-исследовательских работ.
Студенты проходят исследовательскую практику в международной научной лаборатории «Компьютерные технологии», а также в ведущих компаниях, среди которых Яндекс, JetBrains, Mail.ru Group, Одноклассники, с возможностью трудоустройства по результатам практики.