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

Основы программирования на языке Python

рабочая программа дисциплины
Закреплена за кафедройКафедра теоретической кибернетики и прикладной математики
Направление подготовки02.03.01. Математика и компьютерные науки
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план02_03_01_МиКН-3-2019
Часов по учебному плану 108
в том числе:
аудиторные занятия 54
самостоятельная работа 54
Виды контроля по семестрам
зачеты: 5

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

Курс (семестр) 3 (5) Итого
Недель 19
Вид занятий УПРПДУПРПД
Лекции 18 18 18 18
Лабораторные 36 36 36 36
Сам. работа 54 54 54 54
Итого 108 108 108 108

Программу составил(и):
к.т.н., доцент, Хворова Л.А.

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

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

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования по направлению подготовки 02.03.01 МАТЕМАТИКА И КОМПЬЮТЕРНЫЕ НАУКИ (уровень бакалавриата) (приказ Минобрнауки России от 07.08.2014г. №949)

составлена на основании учебного плана:
02.03.01 Математика и компьютерные науки
утвержденного учёным советом вуза от 25.06.2019 протокол № 9.

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

Протокол от 05.07.2019 г. № 10
Срок действия программы: 2019-2020 уч. г.

Заведующий кафедрой
Хворова Любовь Анатольевна


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

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

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

Протокол от 05.07.2019 г. № 10
Заведующий кафедрой Хворова Любовь Анатольевна


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

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

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

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

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

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

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Введение в Python
1.1. История создания. Области примерения и перспективы. Инструкции и структура программы. Лекции 5 2 Л2.5, Л1.4, Л1.2
1.2. Установка Python. Доступ к документации. Вввод и вывод данных. Первая программа на языке Python. Лабораторные 5 2 Л2.5, Л1.4, Л1.2
Раздел 2. Типы данных и операции
2.1. Переменные: именование переменных, присваивание значения переменным, удаление переменных. Операторы: математические операторы, двоичные операторы, приоритет выполнения операторов. Лекции 5 2 Л2.5, Л1.4, Л1.2
2.2. Переменные. Операторы. Сам. работа 5 2 Л2.1, Л2.5, Л1.4, Л1.2
2.3. Типы данных: числовые типы, строки, списки, кортежи, множества, диапазоны, словари. Операторы для работы с последовательностями и отображениями. Лекции 5 2 Л2.5, Л1.4, Л1.2
2.4. Типы данных. Базовые функции для работы с различными типами данных. Лабораторные 5 2 Л2.5, Л1.4, Л1.2
2.5. Типы данных. Сам. работа 5 4 Л2.1, Л2.5, Л1.4, Л1.2
Раздел 3. Инструкции и синтаксис
3.1. Простые и составные инструкции в Python. Условные операторы и циклы. Лекции 5 2 Л2.1, Л1.4, Л1.2
3.2. Условные операторы и циклы. Обработка исключений. Лабораторные 5 4 Л2.1, Л1.4, Л1.2
3.3. Условные операторы и циклы. Обработка исключений. Сам. работа 5 4 Л2.1, Л1.4, Л1.2
Раздел 4. Функции, модули и пакеты
4.1. Встроенные и пользовательские функции. Итераторы и функции-генераторы. Декораторы функций. Лабораторные 5 2 Л2.5, Л1.4, Л1.2
4.2. Функции. Создание пользовательских функций. Аргументы функций. Область видимости. Модули, импортирование модулей. Пакеты модулей. Лекции 5 2 Л2.5, Л1.4, Л1.2
4.3. Создание пользовательских функций. Сам. работа 5 2 Л2.1, Л2.5, Л1.4, Л1.2
4.4. Модули. Основы программирования модулей. Модули стандартной библиотеки. Лабораторные 5 2 Л2.5, Л1.4, Л1.2
4.5. Модули и пакеты модулей. Сам. работа 5 2 Л2.1, Л2.5, Л1.4, Л1.2
4.6. Работа с файлами. Модули для работы с файлами. Лабораторные 5 2 Л2.5, Л1.4, Л1.2
4.7. Работа с файлами. Модули для работы с файлами. Сам. работа 5 6 Л2.1, Л2.5, Л1.4, Л1.2
Раздел 5. Объектно-ориентированное программирование (ООП)
5.1. Объектно-ориентированное программирование. Основы программирования классов. Создание экземпляров класса. Конструктор и деструктор класса. Лекции 5 2 Л2.2, Л2.5, Л1.3, Л1.4
5.2. Объектно-ориентированное программирование. Основы программирования классов. Создание экземпляров класса. Конструктор и деструктор класса. Лабораторные 5 2 Л2.2, Л2.5, Л1.3, Л1.4
5.3. Объектно-ориентированное программирование. Основы программирования классов. Перегрузка операторов. Лабораторные 5 2 Л2.2, Л2.5, Л1.3, Л1.4
5.4. Объектно-ориентированное программирование. Основы программирования классов. Создание экземпляров класса. Конструктор и деструктор класса. Перегрузка операторов. Сам. работа 5 4 Л2.2, Л2.5, Л1.3, Л1.4
5.5. Объектно-ориентированное программирование. Наследование. Композиция. Дополнительные возможности классов: абстрактные методы, декораторы классов. Лабораторные 5 2 Л2.2, Л2.5, Л1.3, Л1.4
5.6. Объектно-ориентированное программирование. Наследование. Композиция. Лекции 5 2 Л2.2, Л2.5, Л1.4
5.7. Объектно-ориентированное программирование. Наследование. Композиция.Абстрактные методы классов. Декораторы классов. Сам. работа 5 6 Л2.2, Л2.5, Л1.4
Раздел 6. Графический интерфейс пользователя
6.1. Графический интерфейс пользователя (GUI). Событийно-ориентированное программирование. Инструменты для создания графического интерфейса пользователя: модуль стандартной библиотеки tkinter, фреймворк PyQt. Лекции 5 2 Л2.2, Л2.5, Л1.3, Л1.4
6.2. Модуль tkinter. Класс Tk. Основные виджеты, упаковщики. Привязка событий. Лабораторные 5 2 Л2.2, Л2.5, Л1.3
6.3. Модуль tkinter. Сам. работа 5 4 Л2.2, Л2.5, Л1.3
6.4. Разработка оконного приложения. Сам. работа 5 6 Л2.2, Л2.5, Л1.3
6.5. Расширенные возможности tkinter: модуль ttk. Разработка оконного приложения. Лабораторные 5 2 Л2.2, Л2.5, Л1.3
Раздел 7. Взаимодействие с интернетом. Разработка web-приложений
7.1. Web-фреймворк Flask. Разработка web-приложения. Лабораторные 5 6 Л1.1, Л1.4, Л2.4
7.2. Основы web-программирования. Разбор URL-адреса, HTML-эквивалентов. Фреймворки для разработки web-приложений: Flask, Django. Лекции 5 2 Л1.1, Л1.4, Л2.4
7.3. Web-фреймворк Flask. Разработка web-приложения. Сам. работа 5 6 Л1.1, Л1.4, Л2.4
Раздел 8. Доступ к базам данных из Python
8.1. Основы SQLite. Доступ к базам данных SQLite из Python. Выполнение запросов, обработка результатов. Управление транзакциями. Лабораторные 5 4 Л2.3, Л1.4
8.2. Доступ к базам данных MySQL. Библиотека MySQLClient. Лабораторные 5 2 Л2.3, Л1.4
8.3. Доступ к базам данных SQLite из Python. Сам. работа 5 4 Л2.3, Л1.4
8.4. Доступ к базам данных MySQl из Python. Сам. работа 5 4 Л2.3, Л1.4

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

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

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. Перечень программного обеспечения
Microsoft Windows
Microsoft Office
Дистрибутив Anaconda
7-Zip
AcrobatReader
6.4. Перечень информационных справочных систем
1. Образовательный портал АлтГУ [Электронный ресурс]: http://portal.edu.asu.ru
2. Издательство «Лань» - электронно-библиотечная система [Электронный
ресурс]: http://e.lanbook.com
3. Издательство МЦНМО. Свободно распространяемые книги издательства
Московского центра непрерывного математического образования
[Электронный ресурс]: www.mccme.ru/free-books
4. Электронная библиотечная система Алтайского государственного
университета [Электронный ресурс]: http://elibrary.asu.ru
5. Электронная база данных ZBMATH: https://zbmath.org/

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);
- внимательно прочитать задание. Вопросы, возникающие в процессе выполненпия лабораторных работ, необходимо грамотно сформулировать и обратиться за помощью к преподавателю на консультации или ближайшем занятии;
- разработать, отладить и оттестировать программы, решающие поставленные задачи.
Для каждого лабораторного задания предусмотрена процедура защиты, в ходе которой преподаватель проводит устный опрос студентов для контроля понимания выполненных ими заданий.
Тестовые задания на образовательном портале предназначены для контроля усвоения теоретического материала, а также умения читать и понимать программный код. Тесты выполняются только в присутсвии преподавателя на практическом занятии или на консультации. Количесвто попыток ограничено тремя. Готовясь к тестированию, студент должен изучить конспекты лекций и учебно-методические материалы, рекомендуемые преподавателем.
При подготовке к экзамену в дополнение к изучению конспектов лекций и учебной литературы, рекомендуется посещать консультации и пользоваться свободными интернет-ресурсами.