Дисциплины специальности
ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ И СТРУКТУР
Принципы организации и построения компиляторов.
Конечные автоматы. Кодирование состояний матричным методом.
Грамматики формальных языков. Регулярные выражения.
Рекурсивно-логическое программирование
Основные понятия логического программирования на языке Пролог (факт, правило, предложение, предикат, терм, унификация). Алгоритм поиска решений, используемый в языке Пролог, на примере предикатов работы со списками.
Системы искусственного интеллекта
Назначение, области применения, структура, особенности функционирования экспертных систем. Экспертные системы с нечеткой логикой: основные понятия, обобщенный алгоритм вывода решения.
Ситуационная и продукционная модели представления знаний и вывода решений в интеллектуальных системах. Прямая и обратная стратегии вывода.
Функциональное программирование
Понятие о функциональном стиле программирования. Язык функционального программирования Lisp: определение функций, простые и условные формы. Рекурсивная обработка списков на примере поиска элемента в списке
Язык функционального программирования Haskell: типы, функции и задание определяющих уравнений для функций. Образцы и сопоставление с ними. Рекурсивная обработка списков на примере поиска элемента в списке
ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
Параллельные вычисления, классификация вычислительных систем.
Закон Амдала, следствие закона Амдала., подходы к созданию параллельных алгоритмов.
Стандарт MPI. Индивидуальные взаимодействия.
Стандарт MPI. Коллективные взаимодействия.
Администрирование ИС.
Система доменных имен. Основные понятия и принципы.
Служба каталогов Active Directory. Назначение службы каталогов. Логическая и физическая структура Active Directory.
Архитектура системы безопасности SQL Server. Режимы аутентификации. Типы учетных записей, пользователи, роли сервера, роли баз данных.
Резервное копирование баз данных в SQL Server. Типы резервного копирования. Восстановление баз данных. Стратегии резервного копирования и восстановления БД.
Назначение прав доступа к файлам и каталогам в ОС семейства Unix.
FreeBSD - концепция работы с пользователями. Выполнение команд от имени других пользователей (SU, SUDO).
ТРПО
Объектно-ориентированный подход в программировании. Понятие класса и объекта. Поля, методы и свойства объектов. Создание и разрушение объектов. Описание пользовательских конструкторов.
Свойства объектов, их отличие от полей, ограничение на запись и чтение. Инкапсуляция. Показать реализацию принципа на примере.
Принцип наследования. Перекрытие полей и методов. Области видимости. Показать реализацию принципа на примере.
Принцип полиморфизма. Абстрактные классы. Переопределение методов.
Обработка исключительных ситуаций. Защищенные блоки. Стандартные исключения и примеры их использования. Создание собственных исключительных ситуаций.
Понятие многозадачности. Процессы и потоки, приоритеты потоков. Программирование потоков.