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

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

рабочая программа дисциплины
Закреплена за кафедройКафедра математического анализа
Направление подготовки09.03.03. Прикладная информатика
ПрофильИнтеллектуальный анализ данных
Форма обученияОчная
Общая трудоемкость8 ЗЕТ
Учебный план09_03_03_ПИ_ИАД-1-2020
Часов по учебному плану 288
в том числе:
аудиторные занятия 114
самостоятельная работа 147
контроль 27
Виды контроля по семестрам
экзамены: 4
зачеты: 2, 3

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

Курс (семестр) 1 (2) 2 (3) 2 (4) Итого
Недель 19 18 19
Вид занятий УПРПДУПРПДУПРПДУПРПД
Лекции 14 14 14 14 14 14 42 42
Лабораторные 24 24 24 24 24 24 72 72
Сам. работа 34 34 34 34 79 79 147 147
Часы на контроль 0 0 0 0 27 27 27 27
Итого 72 72 72 72 144 144 288 288

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

Рецензент(ы):

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

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

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

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

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

Заведующий кафедрой
Саженков Александр Николаевич


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

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

Кафедра математического анализа

Протокол от г. №
Заведующий кафедрой Саженков Александр Николаевич


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

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

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

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

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

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

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Введение в Python
1.1. История создания. Области применения и перспективы. Инструкции и структура программы. Лекции 2 2 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
1.2. Установка Python. Доступ к документации. Ввод и вывод данных. Первая программа на языке Python. Лабораторные 2 2 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
Раздел 2. Типы данных и операции
2.1. Переменные: именование переменных, присваивание значения переменным, удаление переменных. Операторы: математические операторы, двоичные операторы, приоритет выполнения операторов. Типы данных: числовые типы, строки, списки, кортежи, множества, диапазоны, словари. Операторы для работы с последовательностями и отображениями. Лекции 2 4 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
2.2. Переменные: именование переменных, присваивание значения переменным, удаление переменных. Операторы: математические операторы, двоичные операторы, приоритет выполнения операторов. Типы данных: числовые типы, строки, списки, кортежи, множества, диапазоны, словари. Операторы для работы с последовательностями и отображениями. Лабораторные 2 6 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
2.3. Переменные: именование переменных, присваивание значения переменным, удаление переменных. Операторы: математические операторы, двоичные операторы, приоритет выполнения операторов. Типы данных: числовые типы, строки, списки, кортежи, множества, диапазоны, словари. Операторы для работы с последовательностями и отображениями. Сам. работа 2 8 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
Раздел 3. Инструкции и синтаксис
3.1. Простые и составные инструкции в Python. Условные операторы. Циклы в Python. Инструкции управления циклом. Лекции 2 4 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
3.2. Простые и составные инструкции в Python. Условные операторы. Циклы в Python. Инструкции управления циклом. Лабораторные 2 6 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
3.3. Простые и составные инструкции в Python. Условные операторы. Циклы в Python. Инструкции управления циклом. Сам. работа 2 10 ОПК-2 Л2.1, Л2.3, Л1.4, Л1.1
Раздел 4. Функции, модули и пакеты
4.1. Функции. Создание пользовательских функций. Аргументы функций. Область видимости переменных. Рекурсия. Модули, импортирование модулей. Лекции 2 2 ОПК-2, ОПК-7 Л2.1, Л2.3, Л1.4, Л1.1
4.2. Функции. Создание пользовательских функций. Аргументы функций. Область видимости переменных. Рекурсия. Модули, импортирование модулей. Лабораторные 2 4 ОПК-2, ОПК-7 Л2.1, Л2.3, Л1.4, Л1.1
4.3. Функции. Создание пользовательских функций. Аргументы функций. Область видимости переменных. Рекурсия. Модули, импортирование модулей. Сам. работа 2 8 ОПК-2, ОПК-7 Л2.1, Л2.3, Л1.4, Л1.1
Раздел 5. Работа с файлами
5.1. Работа с файлами. Посимвольное и побитовое чтение из файла и запись в файл. Лекции 2 2 ОПК-2, ОПК-7 Л2.1, Л2.3, Л1.4, Л1.1
5.2. Работа с файлами. Посимвольное и побитовое чтение из файла и запись в файл. Лабораторные 2 6 ОПК-2, ОПК-7 Л2.1, Л2.3, Л1.4, Л1.1
5.3. Работа с файлами. Посимвольное и побитовое чтение из файла и запись в файл. Сам. работа 2 8 ОПК-2, ОПК-7 Л2.1, Л2.3, Л1.4, Л1.1
Раздел 6. Объектно-ориентированное программирование (ООП)
6.1. Объектно-ориентированное программирование. Методы класса. Наследование. Композиция. Перегрузка арифметических операторов. "Магические методы". Конструктор и деструктор класса. Лекции 3 10 ОПК-2 Л2.2, Л2.3, Л1.3, Л1.4
6.2. Объектно-ориентированное программирование. Методы класса. Наследование. Композиция. Перегрузка арифметических операторов. "Магические методы". Конструктор и деструктор класса. Лабораторные 3 16 ОПК-2 Л2.2, Л2.3, Л1.3, Л1.4
6.3. Объектно-ориентированное программирование. Методы класса. Наследование. Композиция. Перегрузка арифметических операторов. "Магические методы". Конструктор и деструктор класса. Сам. работа 3 22 ОПК-2 Л2.2, Л2.3, Л1.3, Л1.4
Раздел 7. Графический интерфейс пользователя
7.1. Графический интерфейс пользователя (GUI). Событийно-ориентированное программирование. Инструменты для создания графического интерфейса пользователя - модуль стандартной библиотеки Tkinter.Модуль Tkinter и класс Tk. Основные виджеты, упаковщики. Привязка событий. Лекции 3 4 ОПК-2, ОПК-7 Л2.2, Л2.3, Л1.3, Л1.4
7.2. Графический интерфейс пользователя (GUI). Событийно-ориентированное программирование. Инструменты для создания графического интерфейса пользователя - модуль стандартной библиотеки Tkinter.Модуль Tkinter и класс Tk. Основные виджеты, упаковщики. Привязка событий. Лабораторные 3 8 ОПК-2, ОПК-7 Л2.2, Л2.3, Л1.3, Л1.4
7.3. Графический интерфейс пользователя (GUI). Событийно-ориентированное программирование. Инструменты для создания графического интерфейса пользователя - модуль стандартной библиотеки Tkinter.Модуль Tkinter и класс Tk. Основные виджеты, упаковщики. Привязка событий. Сам. работа 3 12 ОПК-2, ОПК-7 Л2.2, Л2.3, Л1.3, Л1.4
Раздел 8. Функциональное программирование в Python
8.1. Введение в функциональное программирование в Python. Функции как аргументы. Анонимные функции. Списковые включения в Python. Встроенные функции высших порядков: map, filter, reduce. Средства функционального программирования, доступные из стандартной библиотеки. Модули itertools и functools. Лекции 4 8 ОПК-2, ОПК-7 Л2.3, Л1.2
8.2. Введение в функциональное программирование в Python. Функции как аргументы. Анонимные функции. Списковые включения в Python. Встроенные функции высших порядков: map, filter, reduce. Средства функционального программирования, доступные из стандартной библиотеки. Модули itertools и functools. Лабораторные 4 14 ОПК-2, ОПК-7 Л2.3, Л1.2
8.3. Введение в функциональное программирование в Python. Функции как аргументы. Анонимные функции. Списковые включения в Python. Встроенные функции высших порядков: map, filter, reduce. Средства функционального программирования, доступные из стандартной библиотеки. Модули itertools и functools. Сам. работа 4 45 ОПК-2, ОПК-7 Л2.3, Л1.2
Раздел 9. Обработка изображений в Python
9.1. Обработка изображений в Python. Модуль Pillow. Чтение и запись изображений. Работа с геометрическими примитивами. Попиксельная обработка изображений. Лекции 4 6 ОПК-2, ОПК-7 Л2.3, Л1.2
9.2. Обработка изображений в Python. Модуль Pillow. Чтение и запись изображений. Работа с геометрическими примитивами. Попиксельная обработка изображений. Лабораторные 4 10 ОПК-2, ОПК-7 Л2.3, Л1.2
9.3. Обработка изображений в Python. Модуль Pillow. Чтение и запись изображений. Работа с геометрическими примитивами. Попиксельная обработка изображений. Сам. работа 4 34 ОПК-2, ОПК-7 Л2.3, Л1.2

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

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

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Северенс Ч. Введение в программирование на Python: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 biblioclub.ru
Л1.2 Прохоренок Н., Дронов В. Python 3. Самое необходимое.: БХВ-Петербург, 2016 bhv.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 Л. Рамальо Python. К вершинам мастерства: ДМК Пресс, 2016//ЭБС издательства «Лань» e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Курс в Moodle "Основы программирования на языке Python (2 семестр)" portal.edu.asu.ru
6.3. Перечень программного обеспечения
Python IDLE
AcrobatReader
Microsoft Office
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 единиц
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)

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

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