МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Практикум по современным технологиям программирования

рабочая программа дисциплины
Закреплена за кафедройКафедра вычислительной техники и электроники
Направление подготовки09.04.01. Информатика и вычислительная техника
ПрофильНейроинформационные технологии и робототехнические системы
Форма обученияОчная
Общая трудоемкость4 ЗЕТ
Учебный план09_04_01_НТиРС-2-2020
Часов по учебному плану 144
в том числе:
аудиторные занятия 36
самостоятельная работа 108
Виды контроля по семестрам
зачеты: 2

Распределение часов по семестрам

Курс (семестр) 1 (2) Итого
Недель 18
Вид занятий УПРПДУПРПД
Лабораторные 36 36 36 36
Сам. работа 108 108 108 108
Итого 144 144 144 144

Программу составил(и):
старший преподаватель, Уланов П.Н.

Рецензент(ы):
к.ф.-м.н., доцент, Рудер Д.Д.

Рабочая программа дисциплины
Практикум по современным технологиям программирования

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования по направлению подготовки 09.04.01 Информатика и вычислительная техника (уровень магистратуры) (приказ Минобрнауки России от 19.09.2017 г. № 918)

составлена на основании учебного плана:
09.04.01 Информатика и вычислительная техника
утвержденного учёным советом вуза от 30.06.2020 протокол № 6.

Рабочая программа одобрена на заседании кафедры
Кафедра вычислительной техники и электроники

Протокол от 26.06.2019 г. № 69/18-19
Срок действия программы: 2020-2021 уч. г.

Заведующий кафедрой
д.т.н., Седалищев Виктор Николаевич


Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2020-2021 учебном году на заседании кафедры

Кафедра вычислительной техники и электроники

Протокол от 26.06.2019 г. № 69/18-19
Заведующий кафедрой д.т.н., Седалищев Виктор Николаевич


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

1.1.Целями освоения учебной дисциплины «Современные технологии программирования» являются:
а) формирование у будущих магистров теоретических знаний и практических навыков в разработке ПО для решения прикладных задач различных предметных областей;
б) показать значимость технологии разработки ПО как современного направления прикладной информатики;
в) развитие умений и навыков проектирования и разработки прикладных программ на языках высокого уровня;
г) знакомство с современными инструментальными системами для проектирования и разработки программ на языках программирования высокого уровня.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.О.02

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ОПК-5 Способен разрабатывать и модернизировать программное и аппаратное обеспечение информационных и автоматизированных систем;
ОПК-8 Способен осуществлять эффективное управление разработкой программных средств и проектов;
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.- основные методы разработки современного ПО;
- принципы организации современного программного обеспечения;
- принципы проектирования современного ПО;
- принципы работы современных инструментальных сред разработки ПО.
3.2.Уметь:
3.2.1.- создавать проекты и разрабатывать ПО для решения конкретных задач различных предметных областей;
- разрабатывать программные комплексы, используя современные инструментальные среды;
- использовать знание принципов разработки ПО в профессиональной деятельности.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.- навыками составления проектов для разработки современного ПО;
- технологиями сбора, обработки, передачи и хранения информации.

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Технологии программирования. Аппликативные и императивные языки программирования. Структуры данных и типизация в программировании
1.1. Императивные языки программирования. /Лаб/ Сам. работа 2 24 ОПК-5 Л1.2, Л1.3
Раздел 2. Абстрактные типы данных и объектно-ориентированное программирование
2.1. Объектно-ориентированное программирование (ООП). /Лаб/ Лабораторные 2 8 Л1.2, Л1.1, Л1.3
Раздел 3. Технологии проектирования программного обеспечения (ПО). Жизненный цикл ПО. Модели проектирования ПО. Руководство программным проектом
3.1. Конструирование ПО. /Лаб/ Сам. работа 2 36 ОПК-5 Л1.2, Л1.1
3.2. Планирование проектных задач. /Лаб/ Лабораторные 2 8 Л1.2
Раздел 4. Анализ ПО. Структурный анализ ПО. Методы анализа ПО ориентированные на структуры данных
4.1. Классические методы анализа программных проектов. /Лаб/ Лабораторные 2 4 Л1.2
Раздел 5. Синтез программных систем. Структурное проектирование ПО. Декомпозиция подсистем на модули. Языки описания программных проектов
5.1. Моделирование управления системой. /Лаб/ Лабораторные 2 4 Л1.2
5.2. Современные методы синтеза используемые при разработке ПО. Сам. работа 2 24 ОПК-5 Л1.2
Раздел 6. Принципы объектно-ориентированного представления программных систем. Описание явлений объектами
6.1. Принципы объектно-ориентированного представления программных систем. /Лаб/ Лабораторные 2 4 Л1.2
Раздел 7. Технологии программирования с использованием ресурсов операционной системы. Визуальное программирование
7.1. Аппаратные и программные ресурсы. Интерфейс программных приложений ОС (API). /Лаб/ Лабораторные 2 4 Л1.2
7.2. Изучение API выбранных библиотек Сам. работа 2 24
Раздел 8. Основные понятия и принципы тестирования ПО. Анализ сложности программных систем. Меры сложности
8.1. Тестирование программной системы (ПС). /Лаб/ Лабораторные 2 4 Л1.2
Раздел 9. Аттестация

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Принципы проектирования.
Организация процесса конструирования ПО.
Классический жизненный цикл ПО.
Модели проектирования ПО.
Стратегии конструирования ПО.
Модели качества процессов конструирования.
Руководство программным проектом.
Планирование проектных задач.
Метрики программного проекта.
Размерно-ориентированные метрики.
Функционально-ориентированные метрики.
Классические методы анализа программных проектов.
Структурный анализ. Диаграммы потоков данных.
Описание потоков данных и процессов.
Методы анализа, ориентированные на структуры данных.
Метод анализа Варнье—Орра. диаграммы Варнье.
Метод анализа Джексона.
Этапы методики анализа Джексона.
Особенности процесса синтеза программных систем. Особенности этапа проектирования.
Моделирование управления системой. Декомпозиция подсистем на модули. Свойства модулей.
Сложность программной системы.
Основы проектирования программных, систем.
Классические методы проектирования.
Языки описания программных проектов. Универсальный язык описания программных проектов (UML).
Case – системы. Элементы описания Use Case.
Принципы объектно-ориентированного представления программных систем.
Классы. Их свойства и характеристики.
Унифицированный процесс разработки объектно-ориентированных ПС.
Эволюционно-инкрементная организация жизненного цикла разработки. Управление риском.
Этапы унифицированного процесса разработки.
Понятие ресурсов операционной системы (ОС). Аппаратные и программные ресурсы.
Интерфейс программных приложений ОС (API). Системные вызовы ОС (API – функции).
Структура программной системы использующей ресурсы ОС.
Инструментальные среды, использующие ресурсы ОС.
Визуальные инструментальные среды.
Тестирование программной системы (ПС). Этапы тестирования ПС.
Стратегии разработки тестов. Автономное и комплексное тестирование ПС.
Понятие качества ПС. Критерии качества ПС. Подходы к обеспечению качества ПС.
Сложность ПС. Определение сложности ПС.
Характеристики сложности. Меры сложности.
Вычисление сложности. Анализ сложности ПС.
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Программный комплекс для численного интегрирования.
Программный комплекс для решения дифференциальных уравнений.
Программный комплекс для выполнения операций с матрицами.
Программный комплекс для выполнения операций с полиномами.
Программный комплекс – симулятор ИНС.
Программный комплекс для выполнения операций с векторами.
5.3. Фонд оценочных средств для проведения промежуточной аттестации
приведен в Приложении

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Тузовский А.Ф. Объектно-ориентированное программирование: Учебное пособие для прикладного бакалавриата М.: Издательство Юрайт, 2018 // ЭБС "Юрайт" urait.ru
Л1.2 Сергиевский Г.М., Волченков Н.Г. Функциональное и логическое программирование: учеб. пособие для вузов М.: Академия, 2010
Л1.3 Федоров Д. Ю. Программирование на языке высокого уровня Python: учебное пособие для среднего профессионального образования  М.:Издательство Юрайт, 2023 urait.ru
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Практикум СТП portal.edu.asu.ru
6.3. Перечень программного обеспечения
Microsoft Windows
Microsoft Office
7-Zip
Acrobat Reader
6.4. Перечень информационных справочных систем
не требуется

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
202С библиотека (читальный зал) - помещение для самостоятельной работы Учебная мебель на 53 посадочных места; компьютеры с подключением к информационно-телекоммуникационной сети «Интернет», доступом к электронной информационно-образовательной среде АлтГУ; ноутбуки (по запросу)
001вК склад экспериментальной мастерской - помещение для хранения и профилактического обслуживания учебного оборудования Акустический прибор 01021; виброизмеритель 00032; вольтметр Q1202 Э-500; вольтметр универсальный В7-34А; камера ВФУ -1; компьютер Турбо 86М; масспектрометр МРС -1; осциллограф ЕО -213- 2 ед.; осциллограф С1-91; осциллограф С7-19; программатор С-815; самописец 02060 – 2 ед.; стабилизатор 3218; терц-октавный фильтр 01023; шкаф вытяжной; шумомер 00026; анализатор АС-817; блок 23 Г-51; блок питания "Статрон" – 2 ед.; блок питания Ф 5075; вакуумный агрегат; весы; вольтметр VM -70; вольтметр В7-15; вольтметр В7-16; вольтметр ВУ-15; генератор Г-5-6А; генератор Г4-76А; генератор Г4-79; генератор Г5-48; датчик колебаний КВ -11/01; датчик колебаний КР -45/01; делитель Ф5093; измеритель ИМП -2; измеритель параметров Л2-12; интерферометр ИТ 51-30; источник "Агат" – 3 ед.; источник питания; источник питания 3222; источник питания ЭСВ -4; лабораторная установка для настройки газовых лазеров; лазер ЛГИ -21; М-кальк-р МК-44; М-калькул-р "Электроника"; магазин сопротивления Р4075; магазин сопротивления Р4077; микроскоп МБС -9; модулятор МДЕ; монохроматор СДМС -97; мост переменного тока Р5066; набор цветных стекол; насос вакумный; насос вакуумный ВН-01; осциллограф С1-31; осциллограф С1-67; осциллограф С1-70; осциллограф С1-81; осциллоскоп ЕО -174В – 2 ед.; пентакта L-100; пирометр "Промень"; пистонфон 05001; преобразователь В9-1; прибор УЗДН -2Т; скамья оптическая СО 1м; спектограф ДФС -452; спектограф ИСП -51; стабилизатор 1202; стабилизатор 3217 – 4 ед.; стабилизатор 3218; стабилизатор 3222 – 3 ед.; станок токарный ТВ-4; усилитель мощности ЛВ -103 – 4 ед.; усилитель У5-9; центрифуга ВЛ-15; частотомер Ч3-54А; шкаф металлический; эл.двигатель; электродинамический калибратор 11032
203К лаборатория цифровой обработки сигналов - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 12 посадочных мест; рабочее место преподавателя; доска меловая 2 шт.; компьютеры: марка компьютер Парус модель 945 MSI - 12 единиц; коммутатор D-LINK; методические указания по выполнению лабораторной работы по дисциплине "Нейроинформационные технологии": алгоритм обратного рассеяния; обучение без учителя; персептрон; Сети Хопфилда и Хемминга.

8. Методические указания для обучающихся по освоению дисциплины

не требуется