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

Программирование и проектирование на Python

рабочая программа дисциплины
Закреплена за кафедройКафедра теоретической кибернетики и прикладной математики
Направление подготовки01.03.02. Прикладная математика и информатика
ПрофильПрикладной анализ данных и компьютерное моделирование
Форма обученияОчная
Общая трудоемкость4 ЗЕТ
Учебный план01_03_02_Прикладная математика и информатика_ПАДиКМ-2022
Часов по учебному плану 144
в том числе:
аудиторные занятия 42
самостоятельная работа 75
контроль 27
Виды контроля по семестрам
экзамены: 5

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

Курс (семестр) 3 (5) Итого
Недель 15
Вид занятий УПРПДУПРПД
Лекции 16 16 16 16
Лабораторные 26 26 26 26
Сам. работа 75 75 75 75
Часы на контроль 27 27 27 27
Итого 144 144 144 144

Программу составил(и):
Препод., Кротова О.С.

Рецензент(ы):
к.ф.-м.н., доцент, Пономарев И.В.

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

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 01.03.02 Прикладная математика и информатика (приказ Минобрнауки России от 10.01.2018 г. № 9)

составлена на основании учебного плана:
01.03.02 Прикладная математика и информатика
утвержденного учёным советом вуза от 29.10.2021 протокол № 1/1.

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

Протокол от 29.06.2022 г. № 11
Срок действия программы: 2022-2023 уч. г.

Заведующий кафедрой
к.т.н., доцент Понькина Е.В.


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

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

Кафедра теоретической кибернетики и прикладной математики

Протокол от 29.06.2022 г. № 11
Заведующий кафедрой к.т.н., доцент Понькина Е.В.


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

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

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

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

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

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

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Объектно-ориентированное программирование
1.1. Объектно-ориентированный анализ. Объектно-ориентированное программирование. Основы программирования классов. Основные принципы ООП. Паттерны проектирования Лекции 5 4 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
1.2. Объектно-ориентированное программирование на Python Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
1.3. Объектно-ориентированное программирование на Python Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
1.4. Паттерны проектирования Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
Раздел 2. Python для научных исследований
2.1. Работа с базами данных в Python (SQLite, MySQL, PostgreSQL) Лекции 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.2. Работа с базами данных в Python Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.3. Работа с базами данных в Python Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.4. Работа с многомерными массивами в NumPy Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.5. Работа с многомерными массивами в NumPy Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.6. Визуализация в Matplotlib. Научная графика Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.7. Визуализация в Matplotlib. Научная графика Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.8. Возможности библиотеки SciPy Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
2.9. Возможности библиотеки SciPy Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
Раздел 3. Моделирование сложных систем
3.1. Введение в моделирование сложных систем. Динамическое программирование Лекции 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.2. Динамическое программирование: решение сложных задач путем разбиения Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.3. Динамическое программирование Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.4. Алгоритмы поиска и сортировки Лекции 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.5. Анализ последовательностей ДНК Лабораторные 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.6. Алгоритмы поиска и сортировки Сам. работа 5 6 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.7. Графовые алгоритмы Лекции 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.8. Графовые алгоритмы: анализ социальных сетей Лабораторные 5 4 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.9. Графовые алгоритмы Сам. работа 5 7 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.10. Задачи с ограничениями Лекции 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.11. Задачи с ограничениями: задача восьми ферзей Лабораторные 5 4 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.12. Задачи с ограничениями Сам. работа 5 10 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.13. Генетические алгоритмы Лекции 5 2 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.14. Генетические алгоритмы: составление рабочего графика Лабораторные 5 4 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1
3.15. Генетические алгоритмы Сам. работа 5 10 ПК-1 Л1.1, Л2.2, Л1.2, Л2.1

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

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

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Л. Рамальо Python. К вершинам мастерства: ДМК Пресс, 2016//ЭБС издательства «Лань» e.lanbook.com
Л1.2 Буйначев С. К., Боклаг Н. Ю. Основы программирования на языке Python: Учебники и учебные пособия для ВУЗов Издательство Уральского университета, 2014 biblioclub.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Прохоренок Н., Дронов В. Python 3. Самое необходимое.: БХВ-Петербург, 2016 bhv.ru
Л2.2 Саммерфилд М. Python на практике: Учебные пособия Издательство "ДМК Пресс", 2014 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Python для научных исследований и моделирования сложных систем public.edu.asu.ru
6.3. Перечень программного обеспечения
Microsoft Windows
Microsoft Office
Дистрибутив Anaconda
7-Zip
AcrobatReaderMicrosoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
1. Основы алгоритмизации и программирования на языке Python [Электронный ресурс]: https://portal.edu.asu.ru/course/view.php?id=3237
2. Издательство «Лань» - электронно-библиотечная система [Электронный
ресурс]: http://e.lanbook.com
3. Издательство МЦНМО. Свободно распространяемые книги издательства
Московского центра непрерывного математического образования
[Электронный ресурс]: www.mccme.ru/free-books
4. Электронная библиотечная система Алтайского государственного
университета [Электронный ресурс]: http://elibrary.asu.ru
5. Электронная база данных ZBMATH: https://zbmath.org/

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

Аудитория Назначение Оборудование
408Л лаборатория математического моделирования - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска меловая 1 шт.; компьютер Depo - 10 шт., 5 шт. с мониторами LG и 5 шт. с мониторами Philips; мультимедиа-проектор Sony - 1 шт.; МФУ Canon - 1 шт.; стационарный экран: марка Digis Optima C - 1 шт.
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)
107Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица

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

Для успешного освоения дисциплины студент должен посещать лекции и лабораторные занятия, вовремя выполнять все задания, пользоваться основной и дополнительной литературой, рекомендованной настоящей программой. Во время лекции рекомендуется вести краткий конспект.
Навыки проетирования и программирования на языке Python студент приобретает на лабораторных занятиях. Для выполнения лабораторных заданий каждому студенту необходимо:
- скачать документ с описанием задания с образовательного портала (https://portal.edu.asu.ru/course/view.php?id=8703);
- внимательно прочитать задание. Вопросы, возникающие в процессе выполнения практических заданмй, необходимо грамотно сформулировать и обратиться за помощью к преподавателю на консультации или ближайшем занятии;
- разработать, отладить и оттестировать программы, решающие поставленные задачи.
Для каждого задания предусмотрена процедура защиты, в ходе которой преподаватель проводит устный опрос студентов для контроля понимания выполненных ими заданий.
При подготовке к экзамену в дополнение к изучению конспектов лекций и учебной литературы, рекомендуется посещать консультации и пользоваться свободными Интернет-ресурсами.