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

Современные технологии программирования

рабочая программа дисциплины
Закреплена за кафедройКафедра вычислительной техники и электроники
Направление подготовки11.04.02. Инфокоммуникационные технологии и системы связи
ПрофильЦифровые инфокоммуникационные системы
Форма обученияОчная
Общая трудоемкость5 ЗЕТ
Учебный план11_04_02_ИКТиСС-1-2020
Часов по учебному плану 180
в том числе:
аудиторные занятия 54
самостоятельная работа 99
контроль 27
Виды контроля по семестрам
экзамены: 2

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

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

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

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

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

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

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

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

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

Заведующий кафедрой
Пашнев В.В.


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

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

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

Протокол от 08.06.2020 г. № 79/19-20
Заведующий кафедрой Пашнев В.В.


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

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

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

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

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

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

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Технологии программирования. Аппликативные и императивные языки программирования. Структуры данных и типизация в программировании
1.1. Императивные языки программирования. Структуры, ориентированные на присваи-вание. Синтаксис и семантика императивных ЯП. Операторы. Переменные и при-сваивание. Состояние программы. Функциональное значение операторов и их операционная семантика. Технология императивного программирования. Метод утверждений и доказательство терминированности. Объявления типов в программировании. Скалярные элементы. Объявление типов посредством перечисления. Функциональное программирование. Лекции 2 2 ОПК-2 Л1.1, Л1.2, Л2.2
1.2. Технологии имитационного моделирования в проектировании ПО. Адаптивные тех-нологии разработки ПО. Сам. работа 2 8 ОПК-4 Л1.2, Л2.2
1.3. Изучение особенностей использования типов данных Лабораторные 2 12 ОПК-4 Л1.2, Л2.2
Раздел 2. Абстрактные типы данных и объектно-ориентированное программирование
2.1. Понятие абстрактного типа данных (АТД). Пользовательские типы. Тип структуры. Элементы структур. Агрегатные типы. Проектирование типов данных соответст-вующих задаче. Объектно-ориентированное программирование (ООП). Объектно-ориентированный подход. Основные принципы объектно-ориентированного программирования. Объект, сооб-щение, класс, экземпляр объекта и метод. Абстракция, инкапсуляция, наследование и полиморфизм. Объектно-ориентированное проектирование. Классы. Описания протокола класса. Инструментальная реализация принципов ООП. Объектно-ориентированные языки программирования. Лекции 2 2 ОПК-2 Л1.1, Л2.1
2.2. Переделка старых лабораторных на принципы ООП Лабораторные 2 24 ОПК-4 Л1.2, Л2.2
Раздел 3. Технологии проектирования программного обеспечения (ПО). Жизненный цикл ПО. Модели проектирования ПО. Руководство программным проектом
3.1. Конструирование ПО. Организация процесса конструирования ПО. Классический жизненный цикл ПО. Модели проектирования ПО. Макетирование. Стратегии кон-струирования ПО. Быстрая разработка приложений. Спиральная модель. Компо-нентно-ориентированная модель. Тяжеловесные и облегченные процессы. XP-процесс. Лекции 2 2 ОПК-2 Л1.1, Л1.2
3.2. Модели качества процессов конструирования. Руководство программным проектом. Процесс руководства проектом. Планирование проектных задач. Метрики про-граммного проекта. Измерения, меры и метрики. Размерно-ориентированные метри-ки. Функционально-ориентированные метрики. Лекции 2 2 ОПК-2 Л1.2
3.3. Современные методы организации разработки ПО и управления программными про-ектами. Сам. работа 2 8 ОПК-4 Л1.2, Л2.2
Раздел 4. Анализ ПО. Структурный анализ ПО. Методы анализа ПО ориентированные на структуры данных
4.1. Классические методы анализа программных проектов. Структурный анализ. Диа-граммы потоков данных. Описание потоков данных и процессов. Расширения описа-ний для систем реального времени. Расширение возможностей описания элементов управления. Методы анализа, ориентированные на структуры данных. Метод анализа Варнье—Орра. диаграммы Варнье. Метод анализа Джексона. Этапы методики анализа Джексона. Примеры анализа и описания программных проектов. Лекции 2 2 ОПК-2 Л1.2
4.2. Современные методы анализа используемые при разработке ПО. Сам. работа 2 8 ОПК-4 Л1.2, Л2.2
Раздел 5. Синтез программных систем. Структурное проектирование ПО. Декомпозиция подсистем на модули. Языки описания программных проектов
5.1. Особенности процесса синтеза программных систем. Особенности этапа проектиро-вания. Структурирование системы. Моделирование управления системой. Декомпо-зиция подсистем на модули. Свойства модулей. Сложность программной системы. Основы проектирования программных, систем. Классические методы проектирова-ния. Языки описания программных проектов. Универсальный язык описания про-граммных проектов (UML). Case – системы. Элементы описания Use Case. Лекции 2 2 ОПК-2 Л1.1
5.2. Современные методы синтеза используемые при разработке ПО. Сам. работа 2 16 ОПК-4 Л1.2, Л2.2
Раздел 6. Принципы объектно-ориентированного представления программных систем. Описание явлений объектами
6.1. Принципы объектно-ориентированного представления программных систем. Абст-рагирование, инкапсуляция, модульность, иерархическая организация. Объекты и их общие характеристики. Отношения между объектами. Их виды. Классы. Их свойства и характеристики. Отношения между классами. Ассоциации классов. Унифициро-ванный процесс разработки объектно-ориентированных ПС. Эволюционно-инкрементная организация жизненного цикла разработки. Управление риском. Эта-пы унифицированного процесса разработки. Примеры объектно-ориентированной разработки программной системы. Лекции 2 2 ОПК-2 Л2.1, Л1.2
6.2. Современные методы организации разработки ПО и управления программными про-ектами. Тенденции развития инструментальных сред разработки. Сам. работа 2 12 ОПК-4 Л1.2, Л2.2, Л2.3
Раздел 7. Технологии программирования с использованием ресурсов операционной системы. Визуальное программирование
7.1. Понятие ресурсов операционной системы (ОС). Аппаратные и программные ресур-сы. Интерфейс программных приложений ОС (API). Системные вызовы ОС (API – функции). Структура программной системы использующей ресурсы ОС. Инструмен-тальные среды, использующие ресурсы ОС. Визуальные инструментальные среды. Визуальные программные системы их структура. Примеры разработки визуальных программных систем. Лекции 2 2 ОПК-2 Л1.2, Л2.3
7.2. Методы искусственного интеллекта в разработке ПО. Современные автоматизиро-ванные системы разработки ПО. Сам. работа 2 16 ОПК-4 Л2.1, Л1.2, Л2.3
Раздел 8. Основные понятия и принципы тестирования ПО. Анализ сложности программных систем. Меры сложности
8.1. Тестирование программной системы (ПС). Этапы тестирования ПС. Стратегии раз-работки тестов. Автономное и комплексное тестирование ПС. Понятие качества ПС. Критерии качества ПС. Подходы к обеспечению качества ПС. Сложность ПС. Опре-деление сложности ПС. Характеристики сложности. Меры сложности. Вычисление сложности. Анализ сложности ПС. Лекции 2 2 ОПК-2 Л1.2, Л2.3
8.2. Разработка программных систем реального режима времени. Разработка сетевых и параллельных программных систем. Сам. работа 2 20 ОПК-4 Л1.2, Л2.2
8.3. Современные системы разработки и тестирования алгоритмов. Современные методы комплексного тестирования используемые при разработке ПО. Сам. работа 2 11 ОПК-4 Л1.2, Л2.2
Раздел 9. Аттестация
9.1. Экзамен 2 27 ОПК-2, ОПК-4 Л2.1, Л1.2, Л2.3

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

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Фонд оценочных средств представлен в Приложени.
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Не предусмотрены.
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Фонд оценочных средств представлен в Приложени.

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Тузовский А.Ф. Объектно-ориентированное программирование: Учебное пособие для прикладного бакалавриата М.: Издательство Юрайт, 2018 // ЭБС "Юрайт" urait.ru
Л1.2 Кубенский А.А. Функциональное программирование: учебник и практикум для вузов Москва : Издательство Юрайт, 2020 urait.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Николаев Е. И. Объектно-ориентированное программирование: учебное пособие Ставрополь : СКФУ, 2015 // ЭБС e.lanbook.com
Л2.2 Гуськова О.И. Объектно ориентированное программирование в Java: учебное пособие , 2018 // ЭБС e.lanbook.com
Л2.3 Сорокин А.А. Объектно-ориентированное программирование. LAZARUS (Free Pascal): учебное пособие Ставрополь : СКФУ // Лань : электронно-библиотечная система, 2014 // ЭБС e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 СТП portal.edu.asu.ru
Э2 Объектно-ориентированный анализ и проектирование с примерами приложений на С++ www.helloworld.ru
Э3 Объектно-ориентированное_программирование ru.wikibooks.org
6.3. Перечень программного обеспечения
Microsoft Windows 10 (Windows 10 Professional, № 61834699 от 22.04.2013), бессрочно
Microsoft Office 2007 (Office 2007 Professional, № 49464762 от 14.12.2011), бессрочно
Mozila FireFox (https://www.mozilla.org/en-US/about/legal/eula/), бессрочно
7-Zip (http://www.7-zip.org/license.txt), бессрочно
FAR (http://www.farmanager.com/license.php?l=ru), бессрочно
GIMP (https://docs.gimp.org/2.8/ru/), бессрочно
DjVu reader (http://djvureader.org/), бессрочно
Visual Studio (https://code.visualstudio.com/license), бессрочно
Microsoft Office 2010 (Office 2010 Professional, № 49464762 от 14.12.2011), бессрочно
Microsoft Windows 7 (Windows 7 Professional, № 60674416 от 17.07.2012), бессрочно
6.4. Перечень информационных справочных систем
Профессиональная база данных: электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
Профессиональная база данных: научная электронная библиотека elibrary (http://elibrary.ru)

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

Аудитория Назначение Оборудование
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска, мультимедийное оборудование стационарное или переносное)
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)
203К лаборатория цифровой обработки сигналов - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 12 посадочных мест; рабочее место преподавателя; доска меловая 2 шт.; компьютеры: марка компьютер Парус модель 945 MSI - 12 единиц; коммутатор D-LINK; методические указания по выполнению лабораторной работы по дисциплине "Нейроинформационные технологии": алгоритм обратного рассеяния; обучение без учителя; персептрон; Сети Хопфилда и Хемминга.
Помещение для самостоятельной работы помещение для самостоятельной работы обучающихся Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ
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

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

В ходе изучения дисциплины, магистры, работая с фондом оценочных средств набирают определенное количество баллов.
При подготовке к экзамену необходимо прорабатывать соответствующие теоретические и практические разделы курса, все неясные моменты фиксируйте и выносите на плановую консультацию.При подготовке к лабораторным работам
- руководствоваться графиком лабораторных работ;
- накануне перед очередной работой необходимо по конспекту или в методических указаниях к работе просмотреть теоретический материал работы;
- обратить внимание на оформление отчета, в котором должны присутствовать: цель работы, описание алгоритма, журнал опытных данных, цели работы, необходимые графические зависимости (при их наличии) и их анализ, объяснение полученных результатов и выводы и заключение по выполненной работе;
- при подготовке к отчету руководствоваться вопросами, приведенными в методических указаниях к данной работе.
Работа считается выполненной полностью в случае, когда ее результаты соответствуют представленным выше критериям оценивания практических заданий и ответов на вопросы.
На экзамене студенту предлагается ответить на два теоретических вопроса из списка и выполнить одно практическое задание в виде составления программы решения задачи с использованием двух языков программирования.Экзамен проводится в устной форме. На подготовку студенту отводится 90 минут. Баллы, полученные во время сдачи экзамена, добавляются к баллам, набранным во время изучения дисциплины и выполнения лабораторных работ.Перевод баллов в оценку представлен в разделе «Описание показателей и критериев оценивания компетенций на различных этапах их формирования, описание шкал оценивания».