Программирование на языке Python

СОДЕРЖАНИЕ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА |
3 |
ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ |
5 |
УЧЕБНЫЙ ПЛАН |
6 |
УЧЕБНЫЕ ПРОГРАММЫ РАБОЧИХ МОДУЛЕЙ |
8 |
КАЛЕНДАРНЫЙ УЧЕБНЫЙ ГРАФИК |
12 |
ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ ПРОГРАММЫ |
13 |
ПРИМЕРЫ МАТЕРИАЛОВ ДЛЯ ИТОГОВОГО ТЕСТИРОВАНИЯ |
15 |
ФОРМЫ АТТЕСТАЦИЙ И ОЦЕНОЧНЫЕ МАТЕРИАЛЫ |
27 |
УСЛОВИЯ РЕАЛИЗАЦИИ ПРОГРАММЫ |
28 |
СПИСОК ЛИТЕРАТУРЫ |
29 |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
В настоящее время мы переживаем большие изменения в развитии общества. В современную жизнь человека всё больше внедряются компьютеры и информационные технологии. Всё большее значение приобретает умение человека грамотно обращаться с компьютером, причём зачастую не на пользовательском уровне, а на уровне начинающего программиста. Следствием этого является формальное восприятие обучающимися основ современного программирования и неумение применять полученные знания на практике.
Программа «Программирование на Python» имеет техническую направленность, в её основу заложены принципы модульности и практической направленности, что обеспечит вариативность обучения. Содержание учебных модулей направлено на детальное изучение алгоритмизации, организацию проектной и исследовательской деятельности обучающихся.
Настоящая образовательная программа повышения квалификации (далее – Программа) разработана в соответствии с:
1. Федеральным законом от 29 декабря 2012г. №273-ФЗ «Об образовании в Российской Федерации».
2. Приказом Минобрнауки России от 1 июля 2013г. №499 «Об утверждении Порядка организации и осуществления образовательной деятельности по дополнительным профессиональным программам».
3. Уставом ООО «ПРОЭКСПЕРТКЛАСС».
Актуальность программы обусловлена потребностью общества в технически грамотных специалистах и полностью отвечает социальному заказу по подготовке квалифицированных кадров в области программирования. В рамках изучения программы обучающиеся постоянно будут сталкиваться с необходимостью самостоятельной работы над заданиями: обучающиеся учатся решать задачи без помощи преподавателя. Для этого в содержании курса фигурируют задания, в которых для решения задачи необходимо найти информацию в сети Интернет; может потребоваться устранение ошибки, которую не так просто обнаружить; условие сформулировано недостаточно прозрачно и ученику необходимо самостоятельно формализовать его (или задать правильные вопросы преподавателю). Все эти знания, умения и практические навыки решения актуальных задач, полученные на занятиях, готовят обучающихся к самостоятельной проектно-исследовательской деятельности с применением современных технологий.
Цели реализации Программы:
- качественное изменение и развитие профессиональных компетенций, необходимых для профессиональной деятельности;
- совершенствование профессионального уровня обучающихся.
Задачи:
- изучение конструкций языка программирования Python;
- знакомство с принципами и методами функционального и объектно-ориентированного программирования; основными структурами данных и типовыми методами обработки этих структур;
- приобретение навыков работы в интегрированной среде разработки на языке Python.
– изучение объектно-ориентированного и функционального программирования в различных интегрированных средах разработки на языке Python;
– отработка навыков программирования, углубление и структурирование знаний основ современных языков программирования;
– получение навыков разработки эффективных алгоритмов и программ на основе изученного языка программирования Python;
– получение навыков работы со специальными средствами и библиотеками языка Python;
- получение опыта написания грамотного, красивого кода, умение находить и обрабатывать ошибки в коде;
- умение на практике использовать сложные структуры данных.
Срок обучения: 92 академических часа.
Режим занятий: 3 раза в неделю по 2 академических часа.
Форма обучения: заочная (с применением дистанционных образовательных технологий).
Категория слушателей: предназначена для разработчиков, администраторов операционных сетей и баз данных, аналитиков данных, как имеющих предварительный опыт программирования на каком-либо языке, так и без соответствующего опыта.
Планируемые результаты обучения представлены в виде перечня профессиональных компетенций в рамках имеющейся квалификации (с отсылкой к профессиональному стандарту), качественное изменение которых осуществляется в результате обучения.
Учебный план определяет перечень, трудоемкость, последовательность и распределение модулей, иных видов учебной деятельности обучающихся и формы аттестации.
Календарный учебный график определяет основные параметры учебного процесса при организации занятий по освоению настоящей Программы, включая формы обучения, расписание занятий групп и т.п.
Рабочая программа раскрывает рекомендуемую последовательность изучения разделов (модулей). Описание организационно-педагогических условий реализации Программы определяет организационные и методические требования ООО «ПРОЭКСПЕРТКЛАСС» ЦЕНТР ПОВЫШЕНИЯ КВАЛИФИКАЦИИ СПЕЦИАЛИСТОВ к организации и проведению обучения по Программе.
Формы аттестации и оценочные материалы определяют формы проведения промежуточной и итоговой аттестации по Программе и форму учебно-методических материалов, необходимых для проведения указанных видов аттестации.
ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ ОБУЧЕНИЯ
Планируемые результаты обучения содержат характеристики профессиональных компетенций специалиста, которые формируются в результате освоения Программы профессиональной переподготовки. Перечень формируемых компетенций по Программе:
- Настраивать среду разработки Python и создавать простые программы.
- Использовать простые типы данных (включая строки, числа и даты) и выполнять операции с ними.
- Использовать структуры данных (включая списки, диапазоны, словари, множества, кортежи) и выполнять операции над ними. 5
- Работать с условными операторами и циклами.
- Определять и использовать функции и модули.
- Использовать списковые включения и выражения-генераторы.
- Управлять файлами и директориями через программы.
- Работать с исключениями.
- Создавать несложные скрипты, автоматизирующие повседневные процедуры
УЧЕБНЫЙ ПЛАН
Таблица 1
№ п\п |
Наименование разделов и дисциплин |
Всего часов |
В том числе |
Форма аттестации |
|
Теоретические занятия |
Практические занятия |
||||
1. |
Основы Python |
3 |
2 |
1 |
Опрос, практические занятия |
2. |
Управляющие конструкции |
2 |
1 |
1 |
Опрос, практические занятия |
3. |
Функции и коллекции |
4 |
3 |
1 |
Опрос, практические занятия |
4. |
Функции и модули. |
3 |
2 |
1 |
|
5. |
Модули и пакеты |
3 |
2 |
1 |
Опрос, практические занятия |
6. |
Математические вычисления и случайные числа. |
3 |
2 |
1 |
Опрос, практические занятия |
7. |
Работа со строками в Python. |
4 |
2 |
2 |
Опрос, практические занятия |
8. |
Работа с файловой системой |
4 |
2 |
2 |
Опрос, практические занятия |
9. |
Исключения и обработка ошибок |
4 |
2 |
2 |
Опрос, практические занятия |
10. |
Регулярные выражения и основы синтаксического разбора |
4 |
2 |
2 |
Опрос, практические занятия |
11. |
Итерируемые (iterable) коллекции: последовательности, словари, множества. |
4 |
2 |
2 |
Опрос, практические занятия |
12. |
Управляющие структуры и списковые включения. |
4 |
3 |
1 |
Опрос, практические занятия |
13. |
Контроль типов |
3 |
2 |
1 |
Опрос, практические занятия |
14. |
Элементы функционального программирования |
4 |
3 |
1 |
Опрос, практические занятия |
15. |
Понятие класса. Инкапсуляция |
4 |
3 |
1 |
Опрос, практические занятия |
16. |
Наследование |
4 |
3 |
1 |
Опрос, практические занятия |
17. |
Полиморфизм и абстракция |
3 |
2 |
1 |
Опрос, практические занятия |
18. |
Алгоритмы сортировки и поиска |
4 |
2 |
2 |
Опрос, практические занятия |
19. |
Структуры данных |
3 |
1 |
2 |
Опрос, практические занятия |
20. |
Хранение данных вне программы |
4 |
2 |
2 |
Опрос, практические занятия |
21. |
Знакомство со средами разработки |
4 |
1 |
3 |
Опрос, практические занятия |
22. |
Работа с файлами и папками. |
3 |
1 |
2 |
Опрос, практические занятия |
23. |
Обработка исключительных ситуаций (exception). |
3 |
1 |
2 |
Опрос, практические занятия |
24. |
Работа с датами и временем |
4 |
2 |
2 |
Опрос, практические занятия |
25. |
Скрипты, автоматизирующие рутинные задачи |
3 |
2 |
1 |
Опрос, практические занятия |
26. |
Итоговая аттестация |
4 |
|
4 |
Тестирование |
Итого: |
92 |
50 |
42 |
|
РАБОЧИЕ ПРОГРАММЫ УЧЕБНЫХ МОДУЛЕЙ
№ п/п |
Тема |
Вид занятий |
1. |
1.1. Основы Python. 1.2. Запуск интерпретатора Python. 1.3. Программа «Hello, world!». 1.4. Константы-литералы. 1.5. Комментарии в Python. 1.6. Переменные и типы данных. 1.7. Разработка модуля Python. 1.8. Функция print(). 1.9. Передача аргументов по именам. 1.10. Получение значений, введенных пользователем. 1.11. Получение описаний из документации.
|
Лекция |
2 |
2.1. Управляющие конструкции. 2.2.Ветвление. 2.3. Циклы. 2.4. Простой ввод и простой вывод. |
Лекция |
3 |
3.1. Функции и коллекции. 3.2.Словарь. 3.3. Список. 3.4. Кортеж. 3.5. Последовательность. 3.6. Перебор (for). 3.7. Функция. 3.8. Генератор-функция. |
Лекция |
4 |
4.1. Функции и модули. 4.2. Создание функций. 4.3. Область видимости переменных. 4.4. Глобальные переменные. 4.5. Описание параметров функции. 4.6. Возвращение значения функции (return). 4.7. Импортирование модулей (import). |
Лекция |
5 |
5.1. Модули и пакеты. 5.2. Подсистема pip. 5.3. Краткий обзор стандартной библиотеки. 5.4. Установка стороннего модуля. |
Лекция |
6 |
6.1. Математические вычисления и случайные числа. 6.2. Арифметические операции. 6.3. Деление нацело и остаток деления. 6.4. Встроенные математические функции. 6.5. Модуль math. 6.6. Модуль random. Установка начального элемента псевдослучайной последовательности (seed). |
Лекция |
7 |
7.1. Работа со строками в Python. 7.2. Различные варианты кавычек. Специальные символы. 7.3. Конкатенация строк и их повторение заданное число раз. 7.4. Срезы (slice) строк. 7.5. Методы строковых объектов. 7.6. Форматирование строк. 7.7. Встроенные строковые функции. |
Лекция |
8 |
8.1. Работа с файловой системой. 8.2. Работа с файлами. 8.3. Работа с каталогами. 8.4. Обработка параметров командной строки.
|
Лекция |
9 |
9.1. Исключения и обработка ошибок. 9.2. Понятие об исключении. 9.3. Выброс исключения. 9.4. Перехват исключения. 9.5. Стандартные исключения.
|
Лекция |
10 |
10.1. Регулярные выражения и основы синтаксического разбора. 10.2. Понятие о регулярном выражении. 10.3. Синтаксис регулярных выражений. 10.4. Применение регулярных выражений |
Лекция |
11 |
11.1. Итерируемые (iterable) коллекции: последовательности, словари, множества. 11.2. Определения. 11.3. Последовательности (sequences). 11.4. Распаковка (unpacking) последовательности. 11.5. Словари (dictionary). 11.6. Функция len(). 11.7. Множества (set).
|
Лекция |
12 |
12.1. Управляющие структуры и списковые включения. 12.2. Условные операторы. 12.3. Операторы is и is not. 12.4. Тернарный оператор в Python. 12.5. Циклы в Python. 12.6. Функция enumerate() 12.7. Генераторы. 12.8. Списковые включения (list comprehension). 12.9. Массивы и словари аргументов ( *args и **kwargs).
|
Лекция |
13 |
13.1. Контроль типов (версия 3.5) (опционально). 13.2. Модуль typing. 13.3. Указание простых типов. 13.4. Указание сложных типов. |
Лекция |
14 |
14.1. Элементы функционального программирования. 14.2. Функция как объект. 14.3. Операция замыкания (closure) и операция каррирования (currying). 14.4. Понятие о декораторе.
|
Лекция |
15 |
15.1. Понятие класса. Инкапсуляция. 15.2. Класс и экземпляр класса. 15.3. Данные экземпляра, методы экземпляра и свойства экземпляра. 15.4. Понятие атрибута.
|
Лекция |
16 |
16.1. Наследование. 16.2. Принцип утиной типизации. 16.3. Понятия базового класса и производного класса. 16.4. Функция isinstance и ее применение.
|
Лекция |
17 |
17.1. Полиморфизм и абстракция. 17.2. Подмена методов в производном классе. 17.3. Понятие абстрактного класса.
|
Лекция |
18 |
18.1. Алгоритмы сортировки и поиска. 18.2. Основные алгоритмы сортировки и поиска. 18.3. Понятие сложности алгоритма.
|
Лекция |
19 |
19.1. Структуры данных. 19.2. Понятие о структуре данных. 19.3. Список и запись как основные структуры данных. 19.4. Таблица и другие практически важные структуры данных.
|
Лекция |
20 |
20.1. Хранение данных вне программы. 20.2. Сохранение и восстановление данных. Библиотечный модуль pickle. 20.3. Понятие об объектно-реляционном соответствии.
|
Лекция |
21 |
21.1. Знакомство со средами разработки (опционально). 21.2. Интегрированная среда разработки (IDE – Integrated Development Environment). 21.3. Отладка программ. Визуализация выполнения.
|
Лекция |
22 |
22.1. Работа с файлами и папками. 22.2. Открытие файлов. 22.3. Модули os и os.path.
|
Лекция |
23 |
23.1. Обработка исключительных ситуаций (exception). 23.2. Обобщенные инструкции except. 23.3. Инструкция finally. 23.4. Использование исключительных ситуаций для управление потоком выполнения. 23.5. Иерархия исключительных ситуаций.
|
Лекция |
24 |
24.1. Работа с датами и временем. 24.2. Понимание операций со временем в Python. 24.3. Модуль time. 24.4. Модуль datetime.
|
Лекция |
25 |
25.1. Скрипты, автоматизирующие рутинные задачи. 25.2. Запуск скриптов. 25.3. Передача аргументов командной строки. 25.4. Работа с архивами zip. 25.5. Скачивание файла. 25.6. Различные полезные модули.
|
Лекция |
КАЛЕНДАРНЫЙ УЧЕБНЫЙ ГРАФИК
Учебный год: круглогодичное обучение.
Продолжительность программы: 92 академических часа.
Форма организации образовательного процесса: заочная форма обучения с применением дистанционных образовательных технологий и электронного обучения.
Количество учебных дней в неделю: 3 дня.
Начало учебных занятий: 9.30.
Окончание учебных занятий: 17.00.
Продолжительность урока: 45 минут (1 академический час).
Продолжительность перемен: 15 минут, перерыв на обед – 60 минут.
Расписание занятий:
Таблица2
№ урока |
Время |
|
Конкретный день недели согласовывается во время учебного процесса |
1-2 |
09:30 - 11:00 |
3-4 |
11:15 - 12:45 |
|
5-6 |
13:45 - 15:15 |
|
7-8 |
15:30 - 17:00 |
ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ ПРОГРАММЫ
Формы аттестации:
Текущий контроль знаний:
Проводится преподавателем, ведущим занятия в учебной группе, на протяжении всего обучения по Программе.
Промежуточная аттестация:
Оценка качества усвоения обучающимися содержания части учебного материала. Проводится в виде зачета посредством тестирования или выполнения задания, предусмотренного Программой.
Таблица 3
Оценка |
Критерии оценки |
Зачтено |
Оценка «зачтено» выставляется обучающемуся, если он твердо знает материал, грамотно и по существу использует его, не допуская существенных неточностей в ответе на тестовые вопросы или выполняя задания. Правильно применяет теоретические положения при решении практических вопросов. Владеет необходимыми навыками и приемами их выполнения. Дает не менее 70% правильных ответов при решении тестов. |
Не зачтено |
Оценка «Не зачтено» выставляется обучающемуся, который не знает значительной части материала, допускает существенные ошибки. Неуверенно, с большими затруднениями решает практические вопросы или не справляется с ними самостоятельно. Дает менее 70% правильных ответов при решении тестов. |
Итоговая аттестация:
Оценка качества усвоения обучающимися содержания всего учебного материала. Проводится с целью установления уровня знаний обучающихся, с учетом прогнозируемых результатов обучения и требований к результатам освоения Программы. Проводится в виде зачета посредством тестирования.
Обучающийся допускается к итоговой аттестации после изучения всех разделов и тем Программы в объеме, предусмотренном для теоретических и практических занятий, а также успешно прошедшим все промежуточные аттестации.
Обучающийся, освоивший Программу и успешно прошедшим итоговую аттестацию, выдается удостоверение повышения квалификации или диплом установленного образца.
Таблица 4
Оценка |
Критерии оценки |
Зачтено |
Оценка «зачтено» выставляется обучающемуся, продемонстрировавшему твердое и всесторонние знания материала, умение применять полученные в рамках занятий практические навыки и умения. Достижения за период обучения и результаты промежуточных аттестаций демонстрировали отличный уровень знаний и умений обучающегося. При решении итогового теста дает не менее 70% правильных ответов. |
Не зачтено |
Оценка «Не зачтено» выставляется обучающемуся, который в недостаточной мере овладел теоретическим материалом, допустил ряд грубых ошибок при выполнении практических заданий, а также не выполнил требований, предъявляемых к промежуточным аттестациям. Достижения за период обучения и результаты итогового тестирования демонстрировали неудовлетворительный уровень знаний и умений обучающегося. При решении итогового теста дает менее 70% правильных ответов. |
Критерии оценки:
Специалист должен обладать общими компетенциями (ОК), включающими в себя способность:
- Разработка и отладка программного кода.
- Проверка работоспособности и рефакторинг кода программного обеспечения.
- Интеграция программных модулей и компонент и верификация выпусков программного продукта.
- Разработка требований и проектирование программного обеспечения.
Показатель оценки (знания, умения):
Умения:
- Настраивать среду разработки Python и создавать простые программы.
- Использовать простые типы данных (включая строки, числа и даты) и выполнять операции с ними.
- Использовать структуры данных (включая списки, диапазоны, словари, множества, кортежи) и выполнять операции над ними. 5
- Работать с условными операторами и циклами.
- Определять и использовать функции и модули.
- Использовать списковые включения и выражения-генераторы.
- Управлять файлами и директориями через программы.
- Работать с исключениями.
- Создавать несложные скрипты, автоматизирующие повседневные процедуры.