Программа дисциплины «Методы обработки экспериментальных данных»

Вид материалаПрограмма дисциплины

Содержание


3 зачетных единиц, 108
Программа дисциплины
4 зачетных единиц, 144
Программа дисциплины
Основные разделы дисциплины
Программа дисциплины
Основные разделы дисциплины
Программа дисциплины
Основные разделы дисциплины
Программа дисциплины«Методология научных исследований»(аннотация)
Основные разделы дисциплины
Программа дисциплины
Основные разделы дисциплины
Программа дисциплины
Программа дисциплины
3 зачетных единиц, 108
Программа дисциплины
Основные разделы дисциплины
Программа дисциплины
Основные разделы дисциплины
...
Полное содержание
Подобный материал:
Приложение В. Аннотации рабочих программ учебных курсов.


ПРОГРАММА ДИСЦИПЛИНЫ

«Методы обработки экспериментальных данных»


Рекомендуется для подготовки магистров

по направлению 231000.68 «Программная инженерия»


(Аннотация)


Цели освоения дисциплины

Дисциплина «Методы обработки экспериментальных данных» предназначена для магистрантов второго курса, обучающихся по направлению 231000.68 «Программная инженерия».

Целью изучения дисциплины «Методы обработки экспериментальных данных» является получение компетенций, необходимых для проведения квалифицированного статистического анализа экспериментальных данных в автоматизированных системах обработки информации и управления.

В результате изучения дисциплины «Методы обработки экспериментальных данных» приобретаются знания: о существующих подходах к обработке и анализу данных и основных методах статистических расчетов.

Студент должен уметь подготавливать экспериментальные данные к обработке, выбирать необходимые методы для обработки и проводить интерпретацию полученных результатов.

Студент должен получить навыки по обработке данных с использованием современных математических пакетов, таких как, MatLab, MathCad, Statistica.


Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 часов.


Содержание дисциплины

Введение. Основные этапы обработки информации. Основные статистические характеристики.

Классификация в распознавании образов. Байесовская теория принятия решений при дискретных и непрерывных признаках. Идеи классификации. Прямые методы восстановления решающей функции.

Планирование эксперимента. Планирование эксперимента при построении линейной статической модели объекта. Полный факторный эксперимент. Дробные реплики. Обработка результатов эксперимента. Ортогональное планирование второго порядка.

Методы непараметрической обработки информации. Оценивание функционалов. Простейшие оценки функции и плотности распределения вероятности. Оценка Розенблатта-Парзена. Оценивание условной плотности вероятности. Оценка регрессии. Адаптивное управление при априорной неопределенности.

Дисперсионный анализ. Многофакторный дисперсионный анализ. Ковариационный анализ.

Временные ряды. Анализ трендов и сезонности. ARIMA процессы.

Идентификация статических моделей объектов. Критерий наименьших квадратов. Адаптивные алгоритмы метода наименьших квадратов. Простейший адаптивный алгоритм подстройки параметров.

ПРОГРАММА ДИСЦИПЛИНЫ

«Методы оптимизации в примерах и задачах»


Рекомендуется для подготовки магистров

по направлению 231000.68 «Программная инженерия»


(Аннотация)


Цели освоения дисциплины

Дисциплина «Методы оптимизации в примерах и задачах» предназначена для магистрантов первого курса, обучающихся по направлению 231000.68 «Программная инженерия».

Цель изучения дисциплины «Методы оптимизации в примерах и задачах» состоит в формировании базы знаний и умений по такому направлению математики, как методы исследования и решения экстремальных задач.

Изучение дисциплины «Методы оптимизации в примерах и задачах» позволяет сформировать у магистрантов компетенции, необходимые для решения оптимизационных задач в производственно-технологической, проектной и научно-исследовательской деятельности.

Студент должен уметь формулировать задачу оптимизации и выбирать подходящий для ее решения метод оптимизации.

Студент должен получить навыки решения оптимизационных задач с использованием современных математических пакетов MatLab и MathCad.


Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 часов.


Содержание дисциплины

Введение в методы оптимизации. Классификация задач оптимизации. Целевая функция и ее некоторые свойства. Задачи оптимизации.

Одномерная оптимизация. Безградиентные методы детерминированного поиска. Аналитический метод. Численные методы поиска экстремума. Метод локализации экстремума. Метод деления интервала пополам. Метод дихотомии. Метод «золотого сечения». Метод поиска экстремума с использованием чисел Фибоначчи. Аппроксимация кривыми. Квадратичная аппроксимация.

Многомерная оптимизация. Аналитический метод. Методы поиска для функций N переменных. Градиентные методы. Задачи без ограничений. Метод покоординатного спуска. Метод скорейшего спуска. Метод наискорейшего спуска. Методы прямого поиска для функций N переменных. Метод Ньютона. Метод Хука-Дживса. Симплексный метод.

Задачи с ограничениями. Поиск оптимума в задачах с ограничениями типа равенств. Метод неопределенных множителей Лагранжа. Поиск оптимума в задачах с ограничениями типа неравенств. Метод штрафных функций. Градиентный метод.


Программа дисциплины

«Комплексная защита информации»

(аннотация)


Дисциплина «Комплексная защита информации» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Комплексная защита информации" является изучение магистрантами вопросов защиты информации в компьютерных системах.

В результате изучения дисциплины "Комплексная защита информации" магистранты должны знать о возможных угрозах безопасности информации, уметь классифицировать эти угрозы, владеть методами и средствами защиты от незаконного проникновения в вычислительные сети, уметь строить и эксплуатировать комплексные системы защиты информации.


Общая трудоемкость дисциплины составляет 4 зачетных единицы, 144 часов.

Основные разделы дисциплины

Предмет и объект защиты.

Угрозы безопасности информации в компьютерных системах.

Правовые и организационные методы защиты информации в компьютерных сетях.

Защита информации от случайных угроз.

Методы и средства защиты информации в КС от традиционного шпионажа и диверсий.

Методы и средства защиты от электромагнитных излучений и наводок.

Методы защиты от несанкционированного изменения структур КС.

Защита информации в КС от несанкционированного доступа.

Криптографические методы защиты информации.

Компьютерные вирусы и механизмы борьбы с ними.

Защита информации в распределенных КС.

Построение комплексных систем защиты информации

Организация функционирования комплексных систем защиты информации


Программа дисциплины

«Компьютерная обработка результатов эксперимента»

(аннотация)


Дисциплина «Компьютерная обработка результатов эксперимента» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Компьютерная обработка результатов эксперимента" является приобретение магистрантами навыков написания программных систем обработки экспериментальных данных.

В результате освоения курса магистрант будет знать базовые представления, лежащие в основе компьютерной обработки статистических данных, как полученных в эксперименте, так и справочных. Уметь выполнять анализ массивов данных с целью расчёта различных величин, обобщающих информацию в терминах принятой модели, разрабатывать математические компьютерные программы и эксплуатировать их.


Общая трудоемкость дисциплины составляет 4 зачетных единицы, 144 часа.

Основные разделы дисциплины

Обработка результатов эксперимента.

Формулировка задачи.

Преобразование исходных данных.

Расчёт параметров уравнения модели.

Теоретическое обоснование уравнения модели.

Статистическое обоснование уравнения модели.

Реализация программы компьютерной обработки данных.


Программа дисциплины

«Междисциплинарный курсовой проект»

(аннотация)


Дисциплина «Междисциплинарный курсовой проект» предназначена для магистрантов третьего курса, обучающихся по направлению 231000.68 «Программная инженерия».

Целью освоения дисциплины "Междисциплинарный курсовой проект" является закрепление знаний и умений, полученных во время изучения профессионального цикла дисциплин.

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

Уметь применять на практике современные подходы проектирования, выбирать наиболее подходящую методологию и средства реализации программных продуктов, грамотно пользоваться выбранной методологией и средствами разработки..


Общая трудоемкость дисциплины составляет 2 зачетных единицы, 72 часов.

Основные разделы дисциплины

Дисциплина предназначена для самостоятельного изучения, содержание определяется согласно индивидуальному плану магистранта.


Программа дисциплины
«Методология научных исследований»
(аннотация)



Дисциплина «Методология научных исследований» предназначена для магистрантов первого года обучения, обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины «Методология научных исследований» является освоение студентами сложной методологии научно-исследовательской деятельности по организации и изучению явлений и процессов реальной действительности.

В результате изучения курса студент должен знать проблемы логики и методологии научного исследования, вопросы типологии методов научного познания, владеть диалектикой процесса научного исследования, уметь применять в научо-теоретической и практической деятельности основные методы, способы и приемы эмпирического и теоретического уровней познания.


Общая трудоемкость дисциплины составляет 2 зачетных единицы, 72 часа.

Основные разделы дисциплины

Философские основы методологии научного исследования. Сущность обыденного и научного познания. Понятие о методе и методологии научного исследования. Типология методов научного исследования.

Логика процесса научного исследования. Научные факты и их роль в научном исследовании. Понятие научной проблемы, ее постановка и формулирование. Содержание научной гипотезы, ее выдвижение и обоснование. Сущность теории и ее роль в научном исследовании.

Уровни и методы научного исследования. Понятие и содержание уровней научного исследования. Методы сбора эмпирической информации. Наблюдение. Специфика социологических наблюдений. Эксперимент. Особенности социологического эксперимента. Сравнение и измерение. Проблема измерения в социологических исследованиях. Методы теоретического обобщения эмпирической информации. Общелогические методы научного исследования. Теоретические методы научного исследования. Исторический и логический методы научного исследования.

Социологическое исследование как способ научного познания. Характеристика социологического исследования и его видов. Структура и основные элементы социологического исследования. Содержательный анализ программы социологического исследования. Методология программирования социологического исследования. Методика программирования социологического исследования. Модель программы социологического исследования. Методы анализа и обработки социологической информации.


Программа дисциплины

«Методология программной инженерии»
(аннотация)



Дисциплина «Теория систем и системный анализ» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины «Методология программной инженерии» является освоение студентами методологических основ современной программной инженерии, обеспечивающих жизненный цикл сложных программных средств.

В результате изучения курса студент должен знать методологические основы современной программной инженерии, уметь разрабатывать требования к программному обеспечению, осуществлять планирование, структурное и объектно-ориентированное проектирование, управлять ресурсами проектов, оценивать риски при разработке ПС на всех этапах жизненного цикла, владеть методами верификации, тестирования и оценивания корректности программных компонентов, а также их интеграции, квалификационного тестирования и испытаний крупных комплексов программ.


Общая трудоемкость дисциплины составляет 12 зачетных единицы, 432 часа.

Основные разделы дисциплины

Программная инженерия в жизненном цикле программных средств.

Профили стандартов жизненного цикла программных систем.

Модели и процессы управления проектами.

Системное проектирование программных средств.

Технико-экономическое обоснование проектов программных средств.

Разработка требований к программным средствам.

Планирование жизненного цикла программных средств.

Объектно-ориентированное проектирование программных средств.

Управление ресурсами в жизненном цикле программных средств.

Дефекты, ошибки и риски в жизненном цикле программных средств.

Характеристики качества программных средств.

Выбор характеристик качества в проектах программных средств.

Верификация, тестирование и оценивание корректности программных компонентов.

Интеграция, квалификационное тестирование и испытания комплексов программ.

Сопровождение и мониторинг программных средств.

Управление конфигурацией в жизненном цикле программных средств.

Документирование программных средств.

Удостоверение качества и сертификация программных продуктов.

Программа дисциплины

Иностранный язык

(Аннотация курса)


Содержание дисциплины: обучение магистрантов переводу научно-технических текстов с английского языка на родной и с русского языка на английский, деловой переписке, развитию языка профессионального общения (конференции, симпозиумы, дискуссии), восприятию иноязычной речи на слух, совершенствованию навыков устной речи.


Формируемые компетенции: ИК-3 – владение специальной лексикой иностранного языка, основной терминологией сферы своей профессиональной деятельности, навыками устной и письменной речи, перевода общего и профессионального текста, техникой общения и иностранным партнером; СЛК-1 – способность к профессиональному росту через умение обучаться самостоятельно, планировать и реализовывать устранение пробелов в знаниях; ПК-10.


Трудоемкость дисциплины: 8 ЗЕ, 288 часов


ПРОГРАММА ДИСЦИПЛИНЫ

«Методы и алгоритмы глобальной оптимизации»


Рекомендуется для подготовки магистров

по направлению 231000.68 «Программная инженерия»


(Аннотация)


Цели освоения дисциплины

Дисциплина «Методы и алгоритмы глобальной оптимизации» предназначена для магистрантов первого курса, обучающихся по направлению 231000.68 «Программная инженерия».

Цель изучения дисциплины «Методы и алгоритмы глобальной оптимизации» состоит в формировании базы знаний и умений по такому направлению математики, как методы исследования и решения задач глобальной оптимизации.

Изучение дисциплины «Методы и алгоритмы глобальной оптимизации» позволяет сформировать у магистрантов компетенции, необходимые для решения оптимизационных задач в производственно-технологической, проектной и научно-исследовательской деятельности.

Студент должен уметь формулировать задачу глобальной оптимизации и выбирать подходящий для ее решения метод оптимизации.

Студент должен получить навыки решения оптимизационных задач с использованием современных математических пакетов MatLab, MathCad и Global Optimizer.


Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 часов.


Содержание дисциплины

Введение в методы глобальной оптимизации. Основные понятия. Локальный и глобальный экстремумы. Целевая функция и ее некоторые свойства. Примеры задач глобальной оптимизации.

Случайный поиск. Предпосылки случайного поиска. Алгоритмы случайного поиска. Метод мультистарта.

Генетические алгоритмы глобальной оптимизации. История появления эволюционных алгоритмов. Генетические алгоритмы. Символьная модель простого генетического алгоритма. Работа простого генетического алгоритма.

Метод усреднения координат. Алгоритмы поисковой оптимизации. Поиск экстремума при наличии помех. Использование непараметрических оценок инверсных регрессий. Поиск главных минимумов.

Условная минимизация при ограничениях типа неравенств. Условная минимизация при ограничениях типа равенств. Условная минимизация при ограничениях типа неравенств и равенств.

Программный комплекс глобальной оптимизации «Global Optimizer v2.0». Общее описание системы. Решение задач оптимизации.


Программа дисциплины

«Методы принятия решений в сложных системах»

(аннотация)


Дисциплина «Методы принятия решений в сложных системах» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Методы принятия решений в сложных системах" является рассмотрение классических задач принятия решений, формулируемых как задачи выбора вариантов из допустимого множества. В частности, рассматриваются задачи конечномерной оптимизации. Дается введение в экспертные системы принятия решений, что позволит разработать свою собственную экспертную систему.

В результате изучения дисциплины студент должен знать основные теории выбора вариантов из заданного множества альтернатив при различных типах неопределенностей; теории конечномерной оптимизации; основные виды экспертных систем принятия решений; системы поддержки принятия решений, на основе метода t-упорядочения и с применением нейлоровской концепции построения диагностирующих байесовских экспертных систем.


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов.

Основные разделы дисциплины

Проблемы принятия решений в управлении экономическими системами.

Основные понятия и категории теории принятия решений.

Технология принятия решений.

Описание и анализ проблемной ситуации.

Принятие решений в структурированных систуациях.

Групповой выбор для структурированных задач.

Примеры решения структурированных задач.

Решение многокритериальных задач.

Компьютерное решение неструктурированных задач многокритериального выбора.

Методы решения многокритериальных задач со структурированными критериями.

Примеры компьютерного решения многокритериальных задач.

Примеры многокритериальных задач с группировкой критериев.

Принятие решений в условиях риска и неопределенности.

Экспертные (групповые) методы выбора в сложных задачах принятия решений.

Автоматизация процедур принятия решений.


Программа дисциплины

«Методы разработки ПО для АСУ»

(аннотация)


Дисциплина «Методы разработки ПО для АСУ» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Методы разработки ПО для АСУ" является изучение магистрантами методов разработки программного обеспечения для автоматизированных управляющих систем.

В результате изучения дисциплины "Методы разработки ПО для АСУ" магистранты должны знать сущность методов проектирования, применяемых при разработке программного обеспечения для АСУ, пути формирования частных и распределенных АСУ, методы решения задач преоктирования.

Уметь вести проектную деятельность при разработке ПО для АСУ, выбирать оптимальный состав программных средств, входящих в АСУ, оценивать надежность программного комплекса, рассчитывать показатели эффективности его работы.


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов.

Основные разделы дисциплины

Комплексы средств для АСУ. Сети передачи данных. Локальные технологические станции. Операторские станции. Координирующие станции. Программное обеспечение. Системные характеристики комплексов. Современные комплексы для АСУ. Проблемы проектирования ПО для АСУ. Общая схема проектирования. Построение функционального графа. Определение структуры вычислительной системы АСУ. Выбор состава ПО. Размещение операций обработки, прикладных программ и массивов данных. Расчет и улучшение показателей эффективности прикладных функций. Минимизация времени выполнения периодических прикладных функций. Сокращение запаздывания выполнения непериодических прикладных функций. Надежность АСУ.

Программа дисциплины

«Моделирование»

(аннотация)


Дисциплина «Моделирование» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Моделирование" является приобретение студентами знаний и навыков применения методологических основ моделирования сложных систем и проведения вычислительного эксперимента.

В результате изучения дисциплины "моделирование" магистранты должны знать сущность методов моделирования, применяемых при системных исследованиях, методологические основы имитационного моделирования сложных систем и методы моделирования случайных факторов, основы применения существующих аппаратно-программных средств для проведения вычислительного эксперимента, принципы моделирования и основные требования, предъявляемые к моделям сложных систем.

Владеть в комплексе научно-методическим аппаратом моделирования сложных систем и планирования вычислительного эксперимента, методами постановки задач системного исследования, формализации исходной информации, разработки имитационных моделей с использованием существующих аппаратно-программных средств, подготовки и обработки исходных данных для системного моделирования, планирования вычислительного эксперимента;

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


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов.

Основные разделы дисциплины

Методы моделирования, применяемые при исследовании сложных систем

Объектно-классификационное моделирование сложных систем

Имитационные модели исследования сложных систем

Современные информационные технологии в моделировании сложных систем


Программа дисциплины

ПАРАДИГМЫ И СТИЛИ ПРОГРАММИРОВАНИЯ

(Аннотация курса)

Цели освоения дисциплины

Дисциплина «Парадигмы и стили программирования» предназначена для магистрантов первого года, обучающихся по направлению 231000.68 «Программная инженерия».

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

Студент должен уметь анализировать методы абстрагирования, лежащие в основе разработки языков и систем программирования; иметь представление о возможностях сложившихся подходов к задачам информатик на стадии постановки задач, а также при разработке и совершенствовании программного обеспечения, включая решение задач искусственного интеллекта и высокопроизводительных систем; применять императивное, структурное, функциональное, высокопроизводительное и другие стили программирования и критерии их выбора при решении конкретных задач.

Общая трудоемкость дисциплины составляет 5 зачетных единиц, 180 часов.

Содержание дисциплины

Обзор парадигм программирования и представлены наиболее очевидные особенности применения языков программирования, отражающие расширение класса решаемых задач, прогресс элементной базы и рост квалификации программистов. Ключевые моменты развития парадигм программирования и закономерности в процессе реализационного освоения новых областей обработки информации. Следствия теоремы Гёделя о неполноте для программирования. Логическая несовместимость разных классов задач. Практическая несовместимость внутри стилей. Взаимодействия и сочетаемость стилей.

Определение систем программирования. Определение семантики языка программирования в виде интерпретатора, задающего операционную семантику на примере подмножества существующего языка.

Парадигма низкоуровневого программирования. Язык ассемблера. Основные методы адресации памяти. Определение языково-ориентированной абстрактной машины. Использование абстрактной машины для определения операционной семантики языка программирования по Венской методике. Машинно-независимое эффективное программирование. Приемы и примеры программирования на языке Forth, его основные преимущества и недостатки

Языки управления процессами. Технические проблемы управления процессами. Базовые средства для решения таких проблем на уровне функционирования операционных систем, исполнения отдельных задач и разработки информационных систем. Языки реализации операционных систем.

Общие формы представления информации символьными выражениями и анализ требований к полноте и эффективности методов их обработки. Базовые понятия: списки, атомы, данные, значения, функции. Приемы программирования на языках функционального программирования.


Недетерминизм и зависимость вычислимости выражений от учета границ представления данных. Типы данных: варианты, последовательности, множества, приспособленные к декларативному стилю программирования. Организация недетерминированных вычислений: вычисления с возвратами, перебор вариантов, откат. Соответствие точности решения задач и уровня постановки задачи. Представление и обработка недетерминированных программ как средство повышения надежности вычислений. Связь диагностической интерпретации и средств логического программирования.

Системное программирование. Анализ ограничений на структуры управления и информационные потоки при обработке данных. Дисциплина программирования на стандартных императивно-процедурных языках. Проблема сопряжения программ, подготовленных на разных языках. Достоинства структурного программирования, повышающего сходимость процесса отладки программ. Приемы программирования на языках системного программирования.

Объектно-ориентированное программирование. Основные принципы объектно-ориентированного программирования и схемы их реализации на примере простой модели объектно-ориентированного языка, встраиваемого в язык декларативного программирования. Реализация методов обработки объектов заданного класса, сводимой к отдельной категории функций, вызов которых управляется анализом принадлежности аргумента классу. Приемы программирования на объектно-ориентированных языках.

Языки параллельного программирования. Основные понятия, достоинства и недостатки языков параллельного программирования, сферы их применения. Приемы практического использования языков параллельного программирования.

Трансляция и оптимизация программ. Аппарат функций высших порядков при организации высококвалифицированных процессов информационной обработки, использующей формализацию и спецификацию данных, таких как синтаксический анализ, кодогенерация, конструирование интерпретаторов и компиляторов по формальному определению реализуемого языка. Приемы программирования с использованием функций высшего порядка. Эффективное обобщение процесса информационной обработки, вытекающее из возможности отложенных действий. Обобщенные процессы и методы динамической оптимизации вычислений. Смешанные и параллельные вычисления. Приемы программирования.

Тенденции современного программирования, еще не получившие языковой поддержки. Компонентное программирование.


Программа дисциплины

ПРАКТИКУМ ПО РАЗРАБОТКЕ КОМПИЛЯТОРОВ

(Аннотация курса)


Цели освоения дисциплины

Дисциплина «Практикум по разработке компиляторов» предназначена для магистрантов первого года, обучающихся по направлению 231000.68 «Программная инженерия».

В результате изучения курса студент должен знать алгоритмы и методы построения лексических анализаторов; алгоритмы и методы построения возвратных и однопроходных синтаксических анализаторов; методы статического семантического анализа, основанные на атрибутных грамматиках и атрибутных трансляциях; алгоритмы и методы генерации промежуточного представления программы, основанные на атрибутных грамматиках и атрибутных трансляциях.

Студент должен уметь разрабатывать лексические анализаторы; разрабатывать как однопроходные, так и однопроходные синтаксические анализаторы; применять методы обработки и нейтрализации синтаксических ошибок; применять методы статического семантического анализа для проверки типов и контекстно-зависимых условий; разрабатывать генераторы промежуточного представления программы, основанные на атрибутных грамматиках и атрибутных трансляциях.


Общая трудоемкость дисциплины составляет 4 зачетных единицы, 144 часа.


Содержание дисциплины

Место трансляторов в системном программном обеспечении. Процесс трансляции: этапы, фазы и проходы. Компиляторы и интерпретаторы. Организация таблиц идентификаторов и методов их поддержки. Обработка ошибок. Основы теории формальных языков и грамматик. Синтаксис и семантика. Алфавит языка. Регулярные выражения. Сентенциальная форма и предложение. Продукции и их использование для описания порождения предложений языка. Классификация Хомского языков и грамматик: регулярные, контекстно-свободные, контекстно-зависимые и рекурсивно-перечислимые языки и грамматики. Эквивалентные и неоднозначные грамматики и языки. Ограничения контекстно-свободных грамматик. Атрибутные грамматики. Распознаватели и преобразователи.

Задачи фазы лексического анализа. Распознаватели – конечные автоматы. Состояния автомата и переходы между ними. Табличное и графическое представление конечных автоматов. Три эквивалентных способа описания регулярных языков: регулярные выражения, регулярные грамматики и конечные автоматы. Связь между регулярными грамматиками и конечными автоматами. Автоматизированные средства генерации программ лексического анализа на основе расширенных регулярных выражений на примере программы flex.

Нисходящий синтаксический анализ. Левое порождение предложения языка. Символы предпросмотра. Множества первых порождаемых символов. Стартовый символ и символ-последователь. Алгоритмы синтаксического анализа для LL(K)-грамматик. LL(1)-грамматики и языки. Метод рекурсивного спуска. Преобразование грамматик: удаление левой рекурсии и факторизация. Введение действий в грамматику. Восходящий синтаксический анализ. Действия: перенос, свертка, переход и допуск. Конфликты перенос-свертка и свертка-свертка. LR(K)-грамматики и языки. Алгоритмы синтаксического анализа для LR(K)-грамматик. Таблица синтаксического анализа как основа синтаксического анализатора. LR(0)-, SLR(1)-, LALR(1)- и LR(1)-грамматики. Автоматизированные средства генерации программ синтаксического анализа на основе LALR(1)-грамматик на примере программы BYacc.

Не-контекстно-свободные характеристики языков. Примеры. Таблицы трансляции. Идентификаторы: переменные, функции, типы, метки. Включение семантики в алгоритмы синтаксического анализа.

Распределение памяти как фаза трансляции, вызываемая генератором кода. Память глобальная и локальная, статическая и динамическая. Управление динамической памятью. Стек, куча. Адреса времени компиляции и времени выполнения. Стековый фрейм, дисплеи. Методы управления кучей: сборка мусора и использование счетчиков ссылок. Генерация промежуточного кода. 3-адресный код, P-code и байт-код.


Программа дисциплины

«Проектирование программных систем, ориентированных на предметную область»

(аннотация)


Дисциплина «Проектирование программных систем, ориентированных на предметную область» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Проектирование программных систем, ориентированных на предметную область" является приобретение магистрантами знаний о современных технологиях проектирования программных систем, ориентированных на предметную область (DDD – Domain Driven Design).

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

В результате изучения дисциплины магистрант будет знать принципы определения цели и области действия программного проекта, принципы создание структуры пооперационного перечня работ, технологии идентификации задач и действий, принципы распределения ресурсов, принципы формирования рабочего графика, спецификацию требований к ПО. Уметь производить выбор жизненного цикла разработки ПО с ориентацией на предметную область, анализировать процессы предметной области, производить отбор команды разработчиков проекта, производить оценку размера и возможности повторного использования ПО в смежных проблемных областях, производить оценку длительности и стоимости разработки ПО, разрабатывать спецификацию требований к ПО. Иметь представление об agile-методике проектирования ПО, рефакторинге модели и исходного кода.


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов.


Основные разделы дисциплины

Единый язык общения группы разработчиков.

Глубокая связь между моделью и программной реализацией.

Выделение ключевых черт модели.

Управление циклом существования объектов.

Написание легко интегрируемого кода предметной области.

Как сделать сложный код очевидным и предсказуемым в поведении.

Формулировка введения в предметную область.

Дистилляция ядра предметной области.

Поиск неявных понятий, скрытых в модели.

Применение аналитических шаблонов.

Архитектурные шаблоны в моделях.

Поддержание целостности больших систем.

Сосуществование нескольких моделей в одном проекте.

Организация систем в соответствии с крупномасштабными структурами.

Качественные скачки в моделях.


Программа дисциплины

«Проектирование программных систем»

(аннотация)


Дисциплина «Проектирование программных систем» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия». Является дисциплиной по выбору.

Целью преподавания дисциплины "Проектирование программных систем" является приобретение магистрантами знаний о современных технологиях проектирования программных систем.

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

В результате изучения дисциплины магистрант будет знать принципы определения цели и области действия программного проекта, принципы создание структуры пооперационного перечня работ, технологии идентификации задач и действий, принципы распределения ресурсов, принципы формирования рабочего графика, спецификацию требований к ПО. Уметь производить выбор жизненного цикла разработки ПО, анализировать процессы предметной области, производить отбор команды разработчиков проекта, производить оценку размера и возможности повторного использования ПО в смежных проблемных областях, производить оценку длительности и стоимости разработки ПО, разрабатывать спецификацию требований к ПО. Иметь представление о спецификации требований к ПО, о ГОСТ стандарте на разработку ПО.


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов.


Основные разделы дисциплины

Выбор жизненного цикла разработки ПО.

Управление процессами предметной области.

Отбор команды разработчиков проекта.

Определение цели и области действия программного проекта.

Создание структуры пооперационного перечня работ.

Идентификация задач и действий.

Оценка размера и возможности повторного использования ПО.

Оценка длительности и стоимости разработки ПО.

Распределение ресурсов.

Формирование рабочего графика.

Спецификация требований к ПО.


Программа дисциплины
«Проектная деятельность при разработке программных систем»
(аннотация)



Дисциплина «Проектная деятельность при разработке программных систем» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Проектная деятельность при разработке программных систем" является приобретение магистрантами знаний о современных технологиях управления проектами и информационных технологий в данной сфере.

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

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

Уметь применять организационный инструментарий управления проектом и приобретенные знания и навыки на практике, разделять деятельность на отдельные взаимозависимые задачи, назначать необходимое для завершения задачи количество времени и ресурсов, анализировать реализуемость проекта и визуализировать результаты анализа, использовать MS Project и Project Expert для управления проектами.


Общая трудоемкость дисциплины составляет 2 зачетных единицы, 72 часа.

Основные разделы дисциплины

Управление интеграцией проекта

Управление содержанием проекта

Управление сроками проекта

Управление стоимостью проекта

Управление качеством проекта

Управление человеческими ресурсами проекта

Управление коммуникациями проекта

Управление рисками проекта

Управление поставками проекта


Программа дисциплины
«Разработка пользовательских интерфейсов»
(аннотация)



Дисциплина «Разработка пользовательских интерфейсов» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия» в качестве дисциплины по выбору.

Целью преподавания дисциплины «Разработка пользовательских интерфейсов» является освоение магистрантами теоретических и практических основ проектирования пользовательских интерфейсов ПО в различных областях применения информационных технологий.

В результате изучения курса студент должен знать принципы проектирования пользовательского интерфейса; основные этапы и методы проектирования пользовательского интерфейса; основы проектирования взаимодействия пользователя с цифровым продуктом (в частности, ПО).

Студент должен уметь выполнять цикл проектирования пользовательского интерфейса в доступной степени глубины проработки каждого этапа; применять принципы и шаблоны проектирования взаимодействия пользователя с ПО.


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часа.

Основные разделы дисциплины

Основные понятия курса. Цикл разработки ПО в соответствии с человеко-ориентированным подходом. Участники проектирования (междисциплинарная команда).

Сбор и анализ данных для формирования требований к продукту.

Методы сбора данных. Виды методов сбора (прямые и косвенные, групповые и индивидуальные, выполнение и обсуждение). Методы сбора данных. Юзабилити-тестирование, Другие косвенные методы: анализ обратной связи от пользователей (службы поддержки, форумы, сообщества), журналы событий и веб-аналитика, обратная связь от "первопроходцев" или партнёров, анализ продуктов конкурентов и продуктов-заменителей.

Методы анализа собранных данных. Количественные методы. Нормализация данных. Отбор наиболее значимых параметров.

Профиль пользователя. Профиль среды. Профиль задач. Виды задач (производственные, личные). Характеристики задач (частотность, важность, очередность). Одномерный анализ задач (общая матрица «задачи – роли пользователей»): выявление наиболее нагруженных участков функциональности. Двумерный анализ задач (для каждого профиля пользователя – задачи в пространстве «важность-частота»).

Методы анализа собранных данных. Формирование сценариев взаимодействия персонажей с продуктом. Понятие и назначение сценариев. Типы сценариев (контекстные, ключевые, проверочные). Алгоритм формирования сценариев каждого типа.

Проектирование информационной архитектуры (ИА). Основные компоненты ИА.

Системы организации контента (типы оснований для группировки (чёткие, нечёткие, гибридные), типы отношений между группами (иерархические, гипертекстовые)). Системы навигации. Системы поиска.

Шаблоны и нормативы проектирования пользовательского интерфейса.


ПРОГРАММА ДИСЦИПЛИНЫ

«Современные методы обработки информации»


Рекомендуется для подготовки магистров

по направлению 231000.68 «Программная инженерия»


(Аннотация)


Цели освоения дисциплины

Дисциплина «Современные методы обработки информации» предназначена для магистрантов первого курса, обучающихся по направлению 231000.68 «Программная инженерия».

Целью изучения дисциплины «Современные методы обработки информации» является получение компетенций, необходимых для проведения анализа больших объемов информации с использованием современных методов добычи данных (data mining).

Изучение дисциплины «Современные методы обработки информации» позволяет сформировать у магистрантов компетенции, необходимые для решения задач по обработке информации в производственно-технологической, проектной и научно-исследовательской деятельности.

Студент должен уметь: производить подготовку данных к проведению анализа, выбирать подходящий метод для анализа и визуализации данных.

Студент должен получить навыки проведения анализа с использованием современных математических пакетов Statistica и Deductor.


Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 часов.


Содержание дисциплины

Технологии анализа данных. Введение в анализ данных. Структурированные данные. Подготовка данных к анализу.

Консолидация данных. Задача консолидации. Основные концепции хранилищ данных. Очистка данных.

Трансформация данных. Трансформация упорядоченных данных. Группировка данных. Слияние данных. Нормализация и кодирование данных.

Визуализация данных. Визуализаторы общего назначения. OLAP-анализ.

Data Mining. Ассоциативные правила. Алгоритм кластеризации k-means. Сети и карты Кохонена.

Анализ и прогнозирование временных рядов. Временной ряд и его компоненты. Модели прогнозирования.

Аналитическая платформа Deductor.


Программа дисциплины

«Современные методы обработки информации»

(аннотация)


Дисциплина «Моделирование» предназначена для магистрантов обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины "Современные методы обработки информации" является приобретение магистрантов знаний и навыков обработки информации с использованием компьютерных систем.

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


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов.

Основные разделы дисциплины

Математические модели данных

Модели непрерывных данных

Спектры сигналов. Преобразование Фурье. Линейные системы

Представление данных в компьютере

Последовательности и линейные системы с постоянными параметрами

Описание дискретных сигналов и систем в частотной области

Описание дискретных сигналов и систем с помощью z-преобразования

Спектральный анализ дискретных сигналов

Вероятностные модели обработки данных

Критерии качества данных и погрешности их дискретного представления

Повышение качества и оценивание параметров входных данных

Алгоритмы и информационные технологии обработки данных

Оценивание по малому числу наблюдений в задачах обработки данных


Программа дисциплины
«Теория систем и системный анализ»
(аннотация)



Дисциплина «Теория систем и системный анализ» предназначена для магистрантов первого года обучения, обучающихся по направлению 231000.68 «Программная инженерия».

Целью преподавания дисциплины «Теория систем и системный анализ» является освоение студентами теоретических основ системного анализа.

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


Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часа.

Основные разделы дисциплины

История возникновения и становления системного подхода. Сущность и основные характеристики системности. Возникновение и развитие системных идей. Мир в свете системных представлений

Понятие "система". Категориальный аппарат системного подхода. Системообразующие факторы.

Типология систем. Проблема построения классификации систем. Характеристика сложных систем.

Структура и организация систем. Структурный аспект систем. Проблема организации систем.

Функционирование системы. Характеристика основных разновидностей функций системы. Проблемы эффективного функционирования системы.

Система и среда. Среда и ее роль в жизни системы. Взаимодействие системы и среды.

Жизненный путь системы. Характеристика основных этапов жизненного пути системы. Система в переходных и критических состояниях.

Отражение систем наукой. Моделирование систем различной природы. Математическое и кибернетическое моделирование систем.

Проблемы проектирования, внедрения систем и управления ими. Системные аспекты проектировочной деятельности. Управленческая деятельность в свете системных идей.

Аналитическая деятельность:
технологический аспект. Сущность и технологии аналитической деятельности. Характеристика основных разновидностей аналитической деятельности.

Основы системного анализа. Основные разновидности системного анализа. Содержание и технология системного анализа.

Роль системного подхода в науке и практике. Функции системности в науке. Системные идеи в практической жизни общества.