Студентам прививают глубокие знания в фундаментальных и прикладных аспектах информатики, алгоритмических методах, программировании, аппаратном и программном обеспечении компьютерных систем. Особое внимание уделяется изучению современных языков программирования, баз данных, сетевых технологий, параллельных и распределенных вычислений, а также стратегиям решения сложных вычислительных задач. Выпускники данной программы готовы к работе в различных областях, связанных с разработкой, внедрением и сопровождением информационных систем и технологий.
Основной отличительной чертой подготовки студентов по данному профилю является фундаментальность, позволяющая выпускникам быстро осваивать постоянно изменяющиеся конкретные технологии разработки информационных систем. Студенты получают полный спектр знаний в области IT, базируясь на теоретических основаниях информатики.
Изучаемые студентами дополнительные разделы математики и теории информации проясняют структуру, теоретические ограничения и возможности разработки новых и использования существующих алгоритмов, языков, информационных технологий.
К специальным разделам, характеризующим подготовку по данному профилю, относятся:
- Разработка и реализация языков программирования, программная инженерия
- Операционные системы
- Математическая логика и теория алгоритмов
- Компьютерное моделирование
- Теория информации
- Криптография и обеспечение безопасности информационных систем
- Методы верификации программных систем управления, параллельных и распределенных систем
- Помехоустойчивое кодирование и его приложения в системах хранения, обработки и передачи больших данных (Big Data)
- Архитектура вычислительных сетей и технологии сети Интернет, программирование сетевых приложений.
В процессе обучения студенты овладевают современными технологиями разработки программного обеспечения, позволяющими им работать квалифицированными профессиональными программистами.
Для этого в учебный план включено изучение дисциплин:
- Современные технологии программирования: объектно-ориентированное и функциональное программирование, языки Java, C, C++, web-программирование, базы данных;
- Системное программное обеспечение: операционные системы, компиляторы, виртуальные машины, платформы Java и .Net Framework;
- Цикл дисциплин программной инженерии, ориентированый на обучение эффективным методам создания высококачественного программного обеспечения. Особое внимание уделяется анализу и оценке, спецификации, проектированию и эволюции программного обеспечения. Кроме того, рассматриваются вопросы, связанные с управлением проектами и командной работой при создании ПО;
- Параллельные и распределенные вычисления: параллельное программирование, реализация эффективных алгоритмов для современных многопроцессорных и многоядерных систем, grid-вычисления, облачные вычисления.
Студенты изучают архитектуру компьютерных сетей, сетевые протоколы, технологии мультисервисных сетей, мультимедийные технологии, принципы и методы построения систем распределенных приложений.
В программу обучения включены современные курсы, в которых рассматриваются:
- Методы машинного обучения, используемые при построении систем, способных менять свое поведение на основе накопленного опыта;
- Методы машинного зрения, востребованные в задачах биоинформатики, медицины и обеспечения безопасности жизни;
- Методы и алгоритмы, используемые при обработке текстов, написанных на естественных языках, широко применяемые сегодня для задач машинного перевода, извлечения фактов, классификации и реферирования документов, реализации мобильных помощников.
В рамках этих курсов студенты изучают соответствующие методы и алгоритмы, приобретают практический опыт их реализации.