Пояснительная записка
Элективный
курс по информатике "Программирование
интерфейса для начинающих. Создание GUI на Python с помощью библиотеки Tkinter»
представляет собой вводный курс по программированию GUI,
дающий представление о базовых понятиях графического интерфейса и способах его
создания с помощью библиотеки Tkinter языка Python
версии 3.*
Почему в
качестве базового языка для создания GUI
(Graphical User Interface - Графический
Интерфейс Пользователя) выбран
Python? Python – язык,
обладающий рядом преимуществ перед другими языками: ясность кода, быстрота
реализации. По состоянию на июль 2014 года (http://prog-school.ru/2014/07/python-1-po-populyarnosti) Python вышел на 1-е место в программах
начального обучения программированию в университетах США, пишет журнал Communication of the ACM. 27 из 39 крупнейших факультетов
программирования (69%) в университетах предлагают курсы обучения на Python.
Ситуация изменилась в последние три года. В частности, недавно на Python
перевели вводные курсы программирования Массачусетский технологический институт
и Калифорнийский университет в Беркли.
Критерии
выбора языка программирования:
·
Язык программирования –
средство, а не цель
·
Свободная
кросс-платформенная реализация
·
Удобная
среда разработки, адаптированная для учебного процесса
·
Широкая
распространенность,
·
Поддерживаемость
и развиваемость языка
·
Возможность
автоматической проверки
·
Понятность
языка и легкое восприятие учащимися
Достоинства
языка Python:
·
Современный
язык программирования, с богатыми возможностями и большой стандартной
библиотекой
·
Используется
для промышленного программирования, для решения “домашних” прикладных задач и
для обучения
·
Кросс-платформенная,
свободная реализация
·
Хорошо
документирован (python.org)
·
Имеется
во всех Linux-дистрибутивах, свободен и для windows.
Особенности языка
Python:
·
Интерпретируемый
·
Блоки кода
выделяются величиной отступа
·
Динамическая
типизация переменных
·
Полностью
объектно-ориентированный
Python – язык на все
вкусы:
·
Высокоуровневые
структуры данных: списки, множества,
ассоциативные массивы
·
Элементы
функционального программирования
·
Разработка GUI
·
Сетевые приложения
·
Web-приложения
·
Базы данных
Автоматическая
проверка:
·
Поддержка в системе ejudge
и других
·
Поддерживается
на сайте http://informatics.mccme.ru
·
Поддержка
учебных курсов от начального обучения
программированию до олимпиад высокого уровня
·
Поддерживается
на других сайтах:
http://neerc.ifmo.ru/school/
http://www.codeforces.ru
Межпредметные
связи:
·
с математикой (повторение,
изучение основных алгоритмов математического обеспечения программирования),
·
с английским языком
(предлагается использование в качестве дополнительной литературы популярных
книги для детей по Python на английском языке)
Наш выбор
библиотеки Tkinter Python для преподавания в элективном курсе –
естественный шаг помочь ученикам сделать первые шаги по одному из современных и
перспективных путей развития IT-индустрии, не дожидаясь, пока раскачаются
чиновники и издательства по выпуску печатных версий элективного курса. Навыки
по созданию GUI — необходимый шаг в повышении мотивации изучения
учащимися программирования, создания собственных прикладных программ для
различных операционных систем.
Учащиеся
научатся создавать основные элементы GUI, набор графических средства, позволяющих пользователю общаться с
программой и управлять ею, не вникая в её устройство. Фактически 99% всех
программ, с которыми пользователи имеют дело имеют графический интерфейс: окна,
кнопки, бегунки, списки, поля для ввода, флажки - всё это элементы графического
интерфейса.
Библиотека Tkinter один из самых
простых и наглядных инструментов создания GUI,
что очень важно для
образовательного процесса.
Курс
рассчитан на 35 часов (1 час в неделю) и основан на авторских курсах "Создание GUI на Python с
помощью библиотеки Tkinter. Программирование для начинающих" , разработанных С.В.. Шапошниковой, МБОУ ДОД ЦД(Ю)ТТ "Городской" г. Липецка (sshap@yandex[тчк]ru)и распространяемых
согласно лицензии GNU FDL: http://younglinux.info/tkinter.php. Авторский кус расширен дополнитльными
элементами GUI и задачами на их практическое применение в
создании графических интерфейсов.
Курс
предназачен для учащихся, изучающих язык Python
на уроках информатики и ИКТ и
является расширением инвариантного курса программирования.
Учебно-тематический
план
№ п/п
|
Тема
|
Кол-во часов
|
1
|
История языков программирования.
Знакомство с Python. Дзен Python. Shell. IDLE. Динамическая типизация данных. Ссылки. Вычисления.
|
2
|
2
|
Типовые виджеты GUI средствами
библиотеки Tkinter языка Python. Обработка событий.
|
26
|
4
|
Модель
итогового проекта. От модели интерфейса к его прогаммной реализации.
Интерфейс ввода-вывода данных
Обработка данных. Вывод результатов. Защита проекта
|
4
|
5
|
Резер
времени
|
3
|
|
Итого:
|
35
|
Содержание
программы
История
языков программирования. Компиляция и интерпретация.
Знакомство
с Python и средами программирования.
Типы
данных в программировании. Определение переменной.
Ввод,
вывод данных.
Зачем нужен GUI?
Подключение модуля tkinter
Типовые виджеты GUI
События, методы обработки событий интрефейса GUI
Создания интерфейсов простейших программ
Требования
к планируемым результатам
После изучения курса учащиеся должны знать:
·
место языка Python
среди языков программирования высокого уровня,
·
особенности структуры
программы, представленной на языке Python,
·
возможности и ограничения
использования готовых модулей,
·
иметь представление о
величине, ее характеристиках,
·
что такое операция,
операнд и их характеристики,
·
что такое GUI, основные
элементы GUI
·
как подключать модуль tkinter
·
основные приёмы создания
окна графического интрефейса (window), возможные характеристики окна (размеры,
расположение, возможность их изменения)
·
методы использования
виджетов и их характеристики:
◦
кнопка (Button)
◦
метка (Label)
◦
однострочное текстовое
поле (Entry)
◦
многострочное текстовое
поле (Text)
◦
радиокнопки (Radiobutton)
◦
флажки (Chekbutton)
◦
списки (Listbox)
◦
рамки (Frame)
◦
шкала (Scale)
◦
полоса прокрутки (Scrollbar)
◦
окно верхнего уровне (Toplevel)
◦
шкала
состояния (Progressbar)
◦
переменные Tkinter
◦
диалоговые
окна
◦
объекты меню
◦
графические
примитивы Canvas
◦
sinpledialog
◦
messagebox
◦
события,
методы обработки событий интрефейса GUI
◦
этапы создания
интерфейсов простейших программ
После изучения курса учащиеся должны уметь:
·
Разрабатывать GUI по
заданной модели с использованием
основных виджетов и изученных методов обработки событий.
·
Создавать GUI для
своих программ
Календарно-тематическое
планирование
Номер урока
|
Тема урока
|
Плановые сроки
прохождения
|
Скорректированные сроки
прохожде-ния
|
1.
|
История языков программирования.
Знакомство с Python. Дзен Python.
Shell. IDLE.
|
|
|
2.
|
Динамическая типизация
данных. Ссылки. Вычисления.
|
|
|
3.
|
Введение в tkinter
|
|
|
4.
|
Виджеты (графические объекты) и их свойства: окна, кнопки, метки
|
|
|
5.
|
Виджеты (графические объекты) и их свойства: однострочное и многострочное тектовые поля
|
|
|
6.
|
Виджеты (графические объекты) и их свойства: радиокнопки, флажки, списки
|
|
|
7.
|
Виджеты (графические объекты) и их свойства: рамка (frame), шкала (scale), шкала состояния (Progressbar)
|
|
|
8.
|
Виджеты (графические объекты) и их свойства: полоса прокрутки (scrollbar), окно верхнего
уровня (toplevel),
|
|
|
9.
|
Метод bind модуля Tkinter
|
|
|
10.
|
Метод bind модуля Tkinter (практическая работа)
|
|
|
11.
|
Программирование событий в Tkinter
|
|
|
12.
|
Программирование событий в Tkinter (практическая работа)
|
|
|
13.
|
Переменные Tkinter
|
|
|
14.
|
Переменные Tkinter
(практическая работа)
|
|
|
15.
|
Объект Меню (Menu) в GUI
|
|
|
16.
|
Объект Menubutton в GUI
|
|
|
17.
|
Объекты Menu и Menubutton в GUI (практическая работа)
|
|
|
18.
|
Диалоговые окна в Tkinter
|
|
|
19.
|
Диалоговые окна в Tkinter (практическая работа)
|
|
|
20.
|
Контекстное
меню
|
|
|
21.
|
Геометрические
примитивы графического элемента Canvas (холст) модуля Tkinter
|
|
|
22.
|
Геометрические
примитивы графического элемента Canvas (холст) модуля Tkinter (практическая работа)
|
|
|
23.
|
Canvas (холст): методы, идентификаторы и теги
|
|
|
24.
|
Canvas (холст): методы, идентификаторы и теги (практическая работа)
|
|
|
25.
|
Особенности работы с виджетом Text (часть 1)
|
|
|
26.
|
Особенности работы с виджетом Text (часть 2)
|
|
|
27.
|
Особенности работы с виджетом Text (практическая работа
|
|
|
28.
|
Виджеты messagebox, simpledialog
|
|
|
29.
|
Модель
итогового проекта
|
|
|
30.
|
Интерфейс
ввода-вывода данных
|
|
|
31.
|
Обработка
данных. Вывод результатов.
|
|
|
32.
|
Защита
проекта
|
|
|
33-35
|
Резерв
времени
|
|
|
Перечень
учебно-методического обеспечения
- Ресурсы сайта Л. Шапошниковой
(http://younglinux.info) , содержащие
◦
авторскeую программу
▪
http://younglinux.info/tkinter.php
◦
учебное пособие по Python http://younglinux.info/sites/default/files/python_structured_programming.pdf
·
Программирование для детей, К. Вордерман, пер. с
англ., Москва, "Манн, Иванов и Фербер", 2015
·
Python 3 GUI. Справочник-самоучитель.Гуров И.А.,
2015, электронное издание в формате pdf
- Python and Tkinter
Programming, John E. Grayson, MANNING Greenwich (74° w. long.), 2000 y.
- Tkinter GUI Application Development HOTSHOT, Bhaskar Chaudhary,
Packt Publishing, BIRMINGHAM – MUMBAI, 2013
- Сайт Д.П.Кириенко. Московский институт открытого образования.
Школа №179
◦
http://www.179.ru/~dk/python.html
·
Ресурсы сайта профессора, доктора технических наук,
учителя информатики высшей категории, автора учебников по информатике К.Ю.
Полякова:
◦
http://kpolyakov.spb.ru/loadstat.php?f=/download/ch10-8_python.pdf
◦
http://kpolyakov.spb.ru/loadstat.php?f=/download/slides10-8py.zip
◦
http://kpolyakov.spb.ru/download/progr1011.doc
◦
http://kpolyakov.spb.ru/download/infobr_2013-6.pdf
·
Изучаем Python Автор: Марк Лутц Издательство: Символ-Плюс ISBN
978-5-93286-159-2, 978-0-596-15806-4; 2011 г. Переводчик: А. Киселев
·
Python for Kids. A Playful Introduction to
Programming
by Jason R. Briggs
2012, 344 pp.
ISBN: 978-1-59327-407-8
Full Color
http://www.nostarch.com/pythonforkids)
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.