Рабочая
программа по курсу
«Разработка GUI-приложений на языке программирования Python»
(дополнительная
образовательная деятельность)
2
ч в неделю (70 ч)
Пояснительная записка
Данная авторская рабочая программа составлена на
основе программы элективного курса по информатике «Модуль tkinter. Создание
графического интерфейса пользователя с помощью языка программирования Python»
А. В. Плаксиной (учителя информатики и ИКТ МБОУ СОШ № 117
г. Нижнего Новгорода), опубликованной электронно по адресу http://kabinet-vplaksina.narod.ru/olderfiles/5/Modul_tkinter.pdf.
Данная программа построена с опорой на выше
обозначенную программу и книгу [1], и представляет собой программу обучения не
только созданию простейших программ с графическим интерфейсом на языке
программирования Python, но и краткое введение в данный язык программирования,
а также изучение методов построения достаточно сложных, практически
профессиональных графических интерфейсов прикладных программ.
Целевая аудитория программы — ученики старших
классов, а также все, кто интересуется программированием в среде современных
операционных систем. Для успешного освоения курса предполагается, что
обучающиеся имеют начальное представление о программировании и навыки написания
несложных программ на каком-либо языке программирования высокого уровня.
Программа нацелена на интеграцию теоретических и
практических знаний, полученных обучающимися на уроках информатики и ИКТ с
умениями и навыками написания прикладных программ с современным графическим
интерфейсом пользователя, предоставляемым распространенными операционными
системами.
Программа рассчитана на 70 часов, из расчета 2 часа в
неделю.
Цели и образовательные результаты курса:
1) знакомство с языком программирования Python 3.x на
уровне, достаточном для реализации наиболее известных алгоритмов и методов
обработки информации с использованием компьютера;
2) формирование базовых понятий построения
графического интерфейса пользователя (GUI);
3) углубление знаний обучающихся по программированию
и построению сложных GUI-приложений средствами библиотеки tkinter.
Учебно-тематический план
№
|
Раздел
|
Кол-во часов
|
1
|
Основы языка Python
|
10
|
2
|
Основы tkinter
|
14
|
3
|
Углубление в tkinter
|
11
|
4
|
Создание полезных графических приложений
|
35
|
Содержание программы
(70 ч)
Основы
языка Python (10 ч)
Введение в язык программирования Python.
Простые типы данных (int, float, str).
Стандартный ввод и вывод данных. Функции input(),
print().
Основные алгоритмические конструкции: ветвления,
циклы, функции. Обработка исключений.
Составные типы данных: кортежи, списки, словари,
множества, файлы.
Основы
tkinter (14 ч)
Введение в tkinter.
Виджеты и их свойства.
Связывание событий с обработчиками. Программирование
событий.
Переменные tkinter.
Создание меню приложения.
Стандартные диалоговые окна.
Виджет Canvas (холст) и рисование графических
примитивов.
Особенности работы виджетами Text и ScrolledText.
Углубление
в tkinter (11 ч)
Создание многооконных приложений. Модальные окна и
диалоги.
Отображение и обработка изображений с помощью Pillow.
Анимация в программе.
Создание
полезных графических приложений (35 ч)
Простой калькулятор.
Стековый калькулятор для вычисления выражений в
обратной польской нотации.
Программа для кодирования и декодирования текстовых
сообщений.
Программа для декодирования черно-белых растровых
изображений без сжатия.
Программа для вычисления скорости передачи информации
по различным каналам связи и визуализации процессов передачи с использованием
диаграмм Ганта.
Программа перевода целых чисел из одной системы
счисления в другую.
Программа, рисующая граф по заданной весовой матрице.
Требования к уровню подготовки обучающихся
В результате изучения курса обучающийся должен
знать/понимать
смысл понятий: событийно-ориентированное
программирование, событие, обработчик события, виджет;
уметь
• записывать алгоритмы обработки данных на языке
программирования Python;
• конструировать функциональные, лаконичные,
эргономичные пользовательские интерфейсы для своих программ;
использовать приобретенные знания и умения в
практической деятельности и повседневной жизни для: написания
полезных в теоретическом или практическом плане приложений с графическим
интерфейсом пользователя, предназначенных для запуска в среде любой современной
операционной системы.
Календарно-тематический план
№ урока
|
Тема урока
|
Дата проведения
|
Домашнее задание
|
курс
|
тема
|
план
|
факт
|
Основы языка Python (10 ч)
|
1.
|
1
|
Введение в язык программирования Python
|
|
|
|
2.
|
2
|
Простые типы данных и методы работы с ними. Ввод и
вывод данных через консоль
|
|
|
|
3.
|
3
|
Операторы ветвления и циклов
|
|
|
|
4.
|
4
|
Функции. Обработка исключений
|
|
|
|
5.
|
5
|
Кортежи и списки. Методы работы со списками
|
|
|
|
6.
|
6
|
Словари и множества. Методы работы со словарями и
множествами
|
|
|
|
7.
|
7
|
Файлы и методы работы с ними
|
|
|
|
8.
|
8
|
Модули. Подключение модулей.
|
|
|
|
9.
|
9
|
Некоторые стандартные модули: random
|
|
|
|
10.
|
10
|
Некоторые стандартные модули: math
|
|
|
|
Основы tkinter (14 ч)
|
11.
|
1
|
Введение в tkinter
|
|
|
|
12.
|
2
|
Виджеты и их свойства. Часть 1
|
|
|
|
13.
|
3
|
Практическая работа «Создание приложения с виджетами»
|
|
|
|
14.
|
4
|
Виджеты и их свойства. Часть 2
|
|
|
|
15.
|
5
|
Практическая работа «Создание приложения с виджетами»
|
|
|
|
16.
|
6
|
Метод bind модуля tkinter
|
|
|
|
17.
|
7
|
Программирование событий в tkinter
|
|
|
|
18.
|
8
|
Переменные в tkinter
|
|
|
|
19.
|
9
|
Создание меню приложения
|
|
|
|
20.
|
10
|
Диалоговые окна в tkinter
|
|
|
|
21.
|
11
|
Практическая работа «Создание приложения со
стандартными диалогами»
|
|
|
|
22.
|
12
|
Знакомство с виджетом Canvas
|
|
|
|
23.
|
13
|
Canvas: методы, идентификаторы, теги
|
|
|
|
24.
|
14
|
Особенности работы с виджетами Text и ScrolledText
|
|
|
|
Углубление в tkinter (11 ч)
|
25.
|
1
|
Окна верхнего уровня. Виджеты Toplevel и Tk
|
|
|
|
26.
|
2
|
Протоколы окна верхнего уровня
|
|
|
|
27.
|
3
|
Создание модальных диалоговых окон
|
|
|
|
28.
|
4
|
Виджеты Message и Entry
|
|
|
|
29.
|
5
|
Построение диалоговых окон с различными виджетами:
Checkbutton, Radiobutton, Scale
|
|
|
|
30.
|
6
|
Построение диалоговых окон с различными виджетами:
Checkbutton, Radiobutton, Scale
|
|
|
|
31.
|
7
|
Работа с файлами изображений с помощью библиотеки
Pillow: загрузка файлов
|
|
|
|
32.
|
8
|
Работа с файлами изображений с помощью библиотеки
Pillow: создание файлов
|
|
|
|
33.
|
9
|
Работа с файлами изображений с помощью библиотеки
Pillow: создание файлов
|
|
|
|
34.
|
10
|
Создание анимации с помощью методов after и update
|
|
|
|
35.
|
11
|
Создание анимации с помощью методов after и update
|
|
|
|
Создание полезных графических приложений (35 ч)
|
36.
|
1
|
Простой калькулятор: реализация интерфейса
|
|
|
|
37.
|
2
|
Простой калькулятор: реализация обработчиков
|
|
|
|
38.
|
3
|
Стековый калькулятор: структура данных «стек» и обратная
польская нотация
|
|
|
|
39.
|
4
|
Стековый калькулятор: реализация интерфейса
|
|
|
|
40.
|
5
|
Стековый калькулятор: реализация обработчиков
|
|
|
|
41.
|
6
|
Программа кодирования текстовых сообщений: общие идеи
|
|
|
|
42.
|
7
|
Программа кодирования текстовых сообщений: интерфейс
диалога задания кодовой таблицы
|
|
|
|
43.
|
8
|
Программа кодирования текстовых сообщений: реализация
проверки условий Фано
|
|
|
|
44.
|
9
|
Программа кодирования текстовых сообщений: интерфейс
основного окна
|
|
|
|
45.
|
10
|
Программа кодирования текстовых сообщений: реализация
обработчиков основного окна
|
|
|
|
46.
|
11
|
Программа для декодирования черно-белых растровых
изображений без сжатия: общие идеи
|
|
|
|
47.
|
12
|
Программа для декодирования черно-белых растровых
изображений без сжатия: интерфейс основного окна
|
|
|
|
48.
|
13
|
Программа для декодирования черно-белых растровых
изображений без сжатия: диалог запроса кода изображения
|
|
|
|
49.
|
14
|
Программа для декодирования черно-белых растровых
изображений без сжатия: расшифровка кода
|
|
|
|
50.
|
15
|
Программа для декодирования черно-белых растровых
изображений без сжатия: отрисовка изображения на холсте основного окна
|
|
|
|
51.
|
16
|
Программа для вычисления скорости передачи информации:
общие идеи
|
|
|
|
52.
|
17
|
Программа для вычисления скорости передачи информации:
интерфейс основного окна
|
|
|
|
53.
|
18
|
Программа для вычисления скорости передачи информации:
функция построения диаграммы Ганта
|
|
|
|
54.
|
19
|
Программа для вычисления скорости передачи информации:
функция построения диаграммы Ганта
|
|
|
|
55.
|
20
|
Программа для вычисления скорости передачи информации:
диалог ввода параметров процессов передачи данных
|
|
|
|
56.
|
21
|
Программа для вычисления скорости передачи информации:
диалог ввода параметров процессов передачи данных
|
|
|
|
57.
|
22
|
Программа для вычисления скорости передачи информации:
финальная стадия работы над программой
|
|
|
|
58.
|
23
|
Программа перевода целых чисел из одной системы
счисления в другую: общие идеи
|
|
|
|
59.
|
24
|
Программа перевода целых чисел из одной системы
счисления в другую: реализация интерфейса основного окна
|
|
|
|
60.
|
25
|
Программа перевода целых чисел из одной системы
счисления в другую: реализация интерфейса окна ввода данных
|
|
|
|
61.
|
26
|
Программа перевода целых чисел из одной системы
счисления в другую: реализация обработчиков окна ввода данных
|
|
|
|
62.
|
27
|
Программа перевода целых чисел из одной системы
счисления в другую: реализация обработчиков основного окна
|
|
|
|
63.
|
28
|
Программа перевода целых чисел из одной системы
счисления в другую: реализация обработчиков основного окна
|
|
|
|
64.
|
29
|
Программа рисования графа: основные идеи
|
|
|
|
65.
|
30
|
Программа рисования графа: реализация интерфейса
основного окна
|
|
|
|
66.
|
31
|
Программа рисования графа: построение графа по заданной
весовой матрице
|
|
|
|
67.
|
32
|
Программа рисования графа: реализация интерфейса окна
ввода весовой матрицы
|
|
|
|
68.
|
33
|
Программа рисования графа: реализация обработчиков окна
ввода весовой матрицы
|
|
|
|
69.
|
34
|
Программа рисования графа: реализация обработчиков окна
ввода весовой матрицы
|
|
|
|
70.
|
35
|
Программа рисования графа: финальная стадия работы над
программой
|
|
|
|
Литература
1. Лутц М. Программирование на Python,
том I, 4-е издание. — Пер. с англ. — Спб.: Символ-Плюс,
2011. — 992 с., ил.
2. Курс по библиотеке
Tkinter языка Python. [Электронный ресурс.] // Викиверситет: [сайт]. [2015].
URL: https://ru.wikiversity.org/wiki/Курс_по_библиотеке_ Tkinter_языка_Python (дата обращения: 10.06.2015).
3. Создание GUI на Python с помощью библиотеки
Tkinter. Программирование для начинающих. [Электронный ресурс.] // Лаборатория
юного линуксоида: [сайт]. [2014]. URL: http://younglinux.info/tkinter.php
(дата обращения: 10.06.2015).
4. Tkinter Tutorial. [Электронный ресурс.] //
Python Course: [сайт]. [2015]. URL: http://www.python-course.eu/python_tkinter.php
(дата обращения: 10.06.2015).
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.