Институт № 8 «Информационные технологии и прикладная математика»

Во время обучения на программе бакалавриата по направлению Фундаментальная информатика и информационные технологии на младших курсах студенты получают базовую подготовку по физико-математическим дисциплинам и углубленную по основам информатики и информационным технологиям. Знания, полученные в начале обучения, позволяют освоить специальные дисциплины, технологии, концепции информационных технологий и компьютерных наук при дальнейшем обучении.

Отметим важнейшие предметы и дисциплины профессионального цикла.

  1. Фундаментальные алгоритмы. Темами данной дисциплины являются непосредственно алгоритмы для решения актуальных прикладных задач, которые повсеместно встречаются на практике. Речь прежде всего идет о методах сортировки, поиска данных, методах генерации и описания комбинаторных объектов, методах обработки строк; о структурах данных, которые используются для реализации соответствующих алгоритмов (списки, очереди, деревья и др.).
  2. Алгоритмы и анализ сложности. Основной задачей данной дисциплины является анализ сложности алгоритмов и их сравнение с точки зрения скорости работы. Здесь изучаются математические методы оценки требуемой памяти, числа операций необходимых для выполнения конкретных алгоритмов. Важным навыком, который получают студенты после изучения этой дисциплины, является способность оценивать качество и эффективность алгоритмического решения соответствующей задачи.
  3. Операционные системы. Изучение устройства современных операционных систем, исследование архитектуры операционных систем. Знакомство с устройством ядра популярных операционных систем. Подробное изучение и анализ программного интерфейса операционных систем семейств Unix и Windows (API). Системное программирование и разработка приложений и утилит на уровне операционных систем на языке С.
  4. Архитектура компьютеров. Изучение аппаратного устройства компьютера. Организация узлов компьютера. Изучение физических основ организации, хранения и обработки данных.
  5. Математическая логика и теория алгоритмов. В рамках данной дисциплины изучают законы логики, правила построения высказываний, заключений и выводов. Язык математической логики позволяет универсальным образом описывать и исследовать алгоритмы.
  6. Теория автоматов и формальных языков. Дисциплина изучает устройство формальных языков, базовые принципы, концепции и алгоритмы синтаксического анализа. На углубленном уровне изучается теория и методика разработки компиляторов.
  7. Разработка прикладных компьютерных систем. При изучении данной дисциплины студенты изучают методы построения пользовательских приложений и прикладных программ с использованием современных парадигм программирования и паттернов проектирования. Разработка приложений ведется на языках C++ 17 (с использованием stl, qt, boost), C# 7.0.net framework 4.7. Студенты разрабатывают оконные, консольные и web приложения, используют технологии многопоточного программирования для создания своих приложений.
  8. Компьютерные технологии. Изучаются современные технологии разработки разнообразных приложений на языке python 3.7. При изучении дисциплины акцент делается на эффективной разработке приложений с использованием библиотек готовых решений.
  9. Базы данных. Студенты изучают основы реляционной теории баз данных, методы проектирования грамотной логической структуры базы данных, язык SQL и его диалекты, на практике знакомятся с СУБД MS SQL Server, MySQL, PostreSQL. Разрабатывают клиентские приложения для доступа к базе данных, организации отображения данных.
  10. Компьютерные сети. Изучаются принципы и методы передачи данных, теория компьютерных сетей, технологии передачи данных, методы сетевого взаимодействия прикладных программ и методы разработки многопользовательских сетевых приложений. Центральное место уделено протоколам передачи данных: TCP, UDP, IP, HTTP, FTP.
  11. Компьютерная графика. Изучаются методы цифровой обработки изображений. Внимание уделяется алгоритмам улучшения качества изображений, реконструкции изображений, выделению объектов на изображении по заданному критерию. На практических занятиях студенты разрабатывают приложения для обработки и анализа графических данных с использованием библиотеки opencv.
  12. Вычислительные технологии. В данной дисциплине изучаются алгоритмы для численного решения задач алгебры, математического анализа, дифференциальных уравнений и других разделов математики. Стоит отметить, что по мимо изучения самих алгоритмов, внимание уделяется алгоритмическим вопросам их реализации. Каждый изученный студентом алгоритм реализуется внутри соответствующего программного обеспечения.
  13. Компьютерная алгебра. В данной дисциплине изучаются арифметические алгоритмы для работы с полиномами от одной и нескольких переменных. Рассматриваются точные методы решения полиномиальных систем уравнений и применение этих методов в робототехнике, целочисленной оптимизации, арифметике многократной точности, теории сжатия данных и алгебраической геометрии.