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

Программирование на Python

рабочая программа дисциплины
Закреплена за кафедройКафедра информатики
Направление подготовки09.04.01. Информатика и вычислительная техника
ПрофильИнженерия искусственного интеллекта
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план09_04_01_Информатика и вычислительная техника_ИИИ-2023
Часов по учебному плану 108
в том числе:
аудиторные занятия 36
самостоятельная работа 45
контроль 27
Виды контроля по семестрам
экзамены: 1

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

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

Программу составил(и):
к.ф.-м.н., Доцент, Половикова О.Н.

Рецензент(ы):
к.ф.-м.н., доцент, Козлов Д.Ю.

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

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

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

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

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

Заведующий кафедрой
к.т.н., доцент Козлов Д.Ю.


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

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

Кафедра информатики

Протокол от 29.06.2022 г. № 11
Заведующий кафедрой к.т.н., доцент Козлов Д.Ю.


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

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

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

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

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

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

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Философия Python. Введение в программирование.
1.1. Философия Python. Введение в программирование. Интерпретируемые языки программирования. Интерпретатор. IDE Переменные, основные типы данных Лекции 1 2 Л2.5, Л1.4, Л1.2
1.2. Переменные. Операторы. Практические 1 2 Л2.1, Л2.5, Л1.4, Л1.2
1.3. Основы структур данных Лекции 1 4 Л2.5, Л1.4, Л1.2
1.4. Основы структур данных Практические 1 2 Л2.5, Л1.4, Л1.2
1.5. Основы структур данных Практические 1 2 Л2.1, Л2.5, Л1.4, Л1.2
Раздел 2. Репозитории и библиотеки
2.1. Библиотеки Репозитории Инструменты разработчика Code review. Стили программирования Лекции 1 2 Л2.5, Л1.4, Л1.2
2.2. Библиотеки Репозитории Инструменты разработчика Code review. Стили программирования Практические 1 2 Л2.5, Л1.4, Л1.2
2.3. Библиотеки Репозитории Инструменты разработчика Code review. Стили программирования Сам. работа 1 2 Л2.1, Л2.5, Л1.4, Л1.2
2.4. Модули и пакеты модулей. Сам. работа 1 2 Л2.1, Л2.5, Л1.4, Л1.2
2.5. Работа с файлами. Модули для работы с файлами. Сам. работа 1 4 Л2.5, Л1.4, Л1.2
Раздел 3. Объектно-ориентированное программирование (ООП)
3.1. Объектно-ориентированное программирование. Основы программирования классов. Создание экземпляров класса. Конструктор и деструктор класса. Лекции 1 2 Л2.2, Л2.5, Л1.3, Л1.4
3.2. Объектно-ориентированное программирование. Основы программирования классов. Создание экземпляров класса. Конструктор и деструктор класса. Практические 1 2 Л2.2, Л2.5, Л1.3, Л1.4
3.3. Объектно-ориентированное программирование. Основы программирования классов. Перегрузка операторов. Сам. работа 1 4 Л2.2, Л2.5, Л1.3, Л1.4
3.4. Объектно-ориентированное программирование. Основы программирования классов. Создание экземпляров класса. Конструктор и деструктор класса. Перегрузка операторов. Сам. работа 1 4 Л2.2, Л2.5, Л1.3, Л1.4
3.5. Объектно-ориентированное программирование. Наследование. Композиция. Дополнительные возможности классов: абстрактные методы, декораторы классов. Сам. работа 1 4 Л2.2, Л2.5, Л1.3, Л1.4
3.6. Объектно-ориентированное программирование. Наследование. Композиция. Лекции 1 2 Л2.2, Л2.5, Л1.4
3.7. Объектно-ориентированное программирование. Наследование. Композиция.Абстрактные методы классов. Декораторы классов. Сам. работа 1 5 Л2.2, Л2.5, Л1.4
Раздел 4. Взаимодействие с другими программами. Построение информационных систем Источники данных Библиотеки для анализа данных в Python. Обзор Интеграция с базами данных. Обзор Веб-программирование на Python. Обзор
4.1. Библиотеки для анализа данных в Python. Лекции 1 2
4.2. Библиотеки для анализа данных в Python. Практические 1 2
4.3. Основы web-программирования. Фреймворки для разработки web-приложений: Flask, Django. Лекции 1 4 Л1.1, Л1.4, Л2.4
4.4. Web-фреймворк Flask. Разработка web-приложения. Практические 1 6 Л1.1, Л1.4, Л2.4
4.5. Основы SQLite. Доступ к базам данных SQLite из Python. Выполнение запросов, обработка результатов. Управление транзакциями. Сам. работа 1 4 Л2.3, Л1.4
4.6. Доступ к базам данных MySQL. Библиотека MySQLClient. Сам. работа 1 4 Л2.3, Л1.4
4.7. Доступ к базам данных SQLite из Python. Сам. работа 1 4 Л2.3, Л1.4
4.8. Доступ к базам данных MySQl из Python. Сам. работа 1 4 Л2.3, Л1.4
4.9. Web-фреймворк Flask. Разработка web-приложения. Сам. работа 1 4 Л1.1, Л1.4, Л2.4
Раздел 5.

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

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

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Гринберг М. Разработка веб-приложений с использованием Flask на языке Python: Издательство "ДМК Пресс", 2014 e.lanbook.com
Л1.2 Северенс Ч. Введение в программирование на Python: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 biblioclub.ru
Л1.3 Федоров Д.Ю. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON. Учебное пособие для прикладного бакалавриата: Гриф УМО ВО М.:Издательство Юрайт, 2018 biblio-online.ru
Л1.4 Златопольский Д.М. Основы программирования на языке Python: Учебники Издательство "ДМК Пресс", 2017 e.lanbook.com
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Хахаев И. А. Практикум по алгоритмизации и программированию на Python: курс М.: Национальный Открытый Университет «ИНТУИТ», 2016//ЭБС «Университетская библиотека online» biblioclub.ru
Л2.2 Тузовский А.Ф. Объектно-ориентированное программирование: Учебное пособие для прикладного бакалавриата М.: Издательство Юрайт, 2018 // ЭБС "Юрайт" urait.ru
Л2.3 Шелдон Р., Мойе Дж. MySQL. Базовый курс. Пер. с англ.: М.: Вильямс, 2007
Л2.4 Митчелл Р. Скрапинг веб-сайтов с помощю Python: Самоучители и руководства Издательство "ДМК Пресс", 2016 e.lanbook.com
Л2.5 Л. Рамальо Python. К вершинам мастерства: ДМК Пресс, 2016//ЭБС издательства «Лань» e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Программирования на языке Python portal.edu.asu.ru
6.3. Перечень программного обеспечения
IDE среда для написания программ на Python
Дистрибутив Anaconda
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. Academic Search Ultimate EBSCO publishing – http://search.ebscohost.com
2. eBook Collections Springer Nature – https://link.springer.com/
3. Гугл Академия – https://scholar.google.ru/
4. СПС КонсультантПлюс (инсталлированный ресурс АлтГУ или http://www.consultant.ru/).
5. Электронная база данных «Scopus» (http://www.scopus.com);
6. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
7. Электронный научный архив УрФУ – https://elar.urfu.ru/
8. Зональная научная библиотека (УрФУ) – http://lib2.urfu.ru/
9. Портал информационно-образовательных ресурсов УрФУ – study.urfu.ru
10. Электронно-библиотечная система «Лань» – e.lanbook.com
11. Университетская библиотека ONLINE – biblioclub.ru
12. Электронно-библиотечная система "Библиокомплектатор" (IPRbooks) – bibliocomplectator.ru/available
13. Электронные информационные ресурсы Российской государственной библиотеки – www.rsl.ru
14. Научная электронная библиотека – http://elibrary.ru/
15. Научная электронная библиотека «КиберЛенинка» – https://cyberleninka.ru/
16. Web of Science Core Collection – http://apps.webofknowledge.com/

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

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

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

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