Навчання програмуванню мовою python учнів старших класів при роботі з графічними об’єктами

Аналіз шкільних підручників 7-9 класів з інформатики, вивчення тематичної лінії "Алгоритми і програмування" передбачає роботу учнів з однією із двох мов програмування Lazarus або Python. Створення віджетів, підтвердження щодо створення реальних продуктів.

Рубрика Педагогика
Вид статья
Язык украинский
Дата добавления 22.10.2023
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Навчання програмуванню мовою python учнів старших класів при роботі з графічними об'єктами

Дегтярьова Неля Валентинівна кандидат педагогічних наук, доцент, завідувач кафедри інформатики, Сумський державний педагогічний університет імені А.С. Макаренка, м. Суми

Петренко Сергій Іванович кандидат педагогічних наук, доцент, доцент кафедри інформатики, Сумський державний педагогічний університет імені А.С. Макаренка, м. Суми

Удовиченко Ольга Миколаївна кандидат педагогічних наук, доцент, доцент кафедри інформатики, Сумський державний педагогічний університет імені А.С. Макаренка, м. Суми

Макарова Вікторія Вікторівна аспірант кафедри інформатики, Сумський державний педагогічний університет імені А.С. Макаренка, м. Суми

Анотація

Аналіз шкільних підручників 7-9 класів з інформатики свідчить, що вивчення тематичної лінії «Алгоритми і програмування» передбачає роботу учнів з однією із двох мов програмування Lazarus (Pascal) або Python. Автори більшості підручників рекомендують перші знайомства з програмуванням розпочати на прикладах математичних операцій. Але для забезпечення сталої мотивації процесом програмування таких прикладів недостатньо, так як вони не мають практичної значущості саме для учнів. В той же час опанування на прикладі створення віджетів надає учню підтвердження щодо створення реальних продуктів. віджет програмування lazarus інформатика

Засоби мови Python дозволяють зробити процес вивчення програмування наглядним, прикладним, а значить цікавим, і таким, що дає учню можливість побачити результат своєї роботи наочно. І як результат у учня формується потреба до самоосвіти у напрями спроб створення подібних продуктів. Ще одним аргументом є те, що покоління дітей, які на даний час навчаються у школах - переважно візуали. Їм потрібно побачити результат своєї роботи. І тому поява на екрані віджету після виконання програми також є елементом мотивації.

В роботі пропонується авторський приклад програми для роботи з перемикачами та повзунком при вивченні графічних віджетів мови програмування Python. Наголошуємо на важливості демонстрування учням можливостей бібліотек мови програмування Python. Суперечність між реальними можливостями використання бібліотек мови програмування Python та застарілими методами розбору виключно математичних виразів на уроках інформатики в школі актуалізує обрану тему.

Важливими є методичні особливості роботи з програмуванням. Тут при першому ознайомленні переважає репродуктивне навчання. Учні розбирають, аналізують, змінюють та тестують уже готові, запропоновані їм вчителем тексти програм. Для подальшої роботи учням рекомендується давати завдання без вказівок щодо їх виконання. Таким чином учень самостійно досліджує шляхи вирішення поставленої задачі.

Ключові слова: програмування, мова програмування Python, віджети, перемикачі, методичні особливості навчання програмуванню.

Dehtiarova Nelia Valentynivna Candidate of Pedagogical Sciences, Associate Professor, Head of the Department of Computer Science, Sumy State Pedagogical University named after A.S. Makarenko, Sumy

Petrenko Sergii Ivanovych Candidate of Pedagogical Sciences, Associate Professor, Associate Professor of the Department of Computer Science, Sumy State Pedagogical University named after A.S. Makarenko, Sumy

Udovychenko Olha Mykolaivna Candidate of Pedagogical Sciences, Associate Professor, Associate Professor of the Department of Computer Science, Sumy State Pedagogical University named after A.S. Makarenko, Sumy

Makarova Viktoriia Viktorivna Postgraduate student of the Department of Computer Science, Sumy State Pedagogical University named after A.S. Makarenko, Sumy

Vernydub Halyna Oleksiivna Lector of informatics, Separate Structural Subdivision «Sumy professional college of Sumy National Agrarian University», Sumy

TEACHING PYTHON PROGRAMMING TO HIGH SCHOOL STUDENTS WHILE WORKING WITH GRAPHIC OBJECTS

Abstract. The analysis of school textbooks of grades 7-9 on informatics shows that the study of the thematic line "Algorithms and programming" involves the work of students with one of the two programming languages Lazarus (Pascal) or Python. The authors of most textbooks recommend starting the first introduction to programming with examples of mathematical operations. But such examples are not enough to provide constant motivation for the programming process, as they have no practical significance for students. At the same time, learning from the example of creating widgets provides the student with confirmation about creating real products.

The tools of the Python language make it possible to make the process of learning programming visual, applied, and therefore interesting, and such that it gives the student the opportunity to see the result of his work visually. And as a result, the student develops a need for self-education in the direction of attempts to create similar products. Another argument is that the generation of children currently studying in schools is mostly visual. They need to see the result of their work. And therefore, the appearance of the widget on the screen after the program is executed is also an element of motivation.

The work offers an author's example of a program for working with switches and a slider when learning graphic widgets of the Python programming language. We emphasize the importance of demonstrating the capabilities of Python programming language libraries to students. The contradiction between the real possibilities of using the libraries of the Python programming language and the outdated methods of parsing exclusively mathematical expressions in computer science lessons at school actualizes the chosen topic.

Methodical features of working with programming are important. Here, at first acquaintance, reproductive learning prevails. Students disassemble, analyze, change and test ready-made program texts offered to them by the teacher. For further work, it is recommended that students be given tasks without instructions on how to complete them. In this way, the student independently explores ways to solve the given problem.

Keywords: programming, Python programming language, widgets, switches, methodical features of teaching programming.

Постановка проблеми

Активність учнів на уроках залежить від їх зацікавленості та мотивації. Алгоритмізація та програмування - особлива тема саме тим, що для її вивчення є первинна мотивація у учнів, але підтримка її та подальшої активності школярів залежить і від вчителя, і від учня. На даний час ІТ-галузь в Україні є популярною, затребуваною. Нові звершення у застосунку «Дія», вихід його на міжнародний ринок, позитивне сприйняття досягнень у цифровій сфері за кордоном країни, ChatGPT - усе це «на слуху», а значить зацікавлює учнів і багато з них готові спробувати себе саме у цій галузі. Проте першим же кроком при ознайомленні з алгоритмізацією та програмуванням учителі в переважній більшості демонструють приклади створення програм саме на математичних виразах. Так, це дійсно основа, яка потрібна саме для опанування програмування на глибокому рівні. Проте чи має це бути єдиною лінією при навчанні учнів програмуванню, чи зацікавить це учнів і чи спонукає їх до подальшої роботи, в тому числі і над опануванням математики? Авторами було проведено анкетування за допомогою Google Forms, якому передувало усні бесіди з опитуваними. В ході такого дослідження було виявлено, що:

- програмування у школах розглядають переважно на прикладах, де потрібно знайти результат обчислення виразу;

- в подальшому такі завдання ускладнюються, що передбачає гарну математичну підготовку учня, і це уже перший крок до зниження мотивації учня вивчати програмування;

- учителі не демонструють у яких саме випадках, на яких сторінках глобальної мережі можна використати ті приклади, які вони розв'язують;

- опитування вчителів підтвердило саме зниження зацікавленості учнів протягом вивчення програмування;

- при вивченні мови програмування Python малий відсоток вчителів пропонує роботу з віджетами;

- учні виявляють зацікавленість при створенні віджетів, оскільки отримують реальний результат на екрані, який також зустрічають при перегляді окремих сторінок в глобальній мережі.

Таким чином виникає суперечність між реальним використанням мови програмування Python та застарілими методами розбору виключно математичних виразів на уроках інформатики в школі. Хочемо наголосити, що класичні задачі, як от: знаходження найменшого, сортування, робота з базами даних, інші - є важливими і мають бути розглянуті на уроках інформатики при опануванні учнями алгоритмізації та програмування. Проте це має бути не єдиним, що бачить учень при вивчені даної теми. Головна думка даної роботи полягає у важливості демонстрування учням величезних можливостей бібліотек мови програмування Python, які часто, навіть, не згадуються на уроках інформатики. Робота з віджетами дає можливість продемонструвати застосування мови програмування, яке учень зрозуміє, аналог якого зможе побачити на вебсторінках [1].

Аналіз останніх досліджень і публікацій

Різні аспекти навчання програмуванню та методичні особливості цього процесу досліджують з початку введення в заклади освіти курс інформатики. Актуальними напрямами на даний час є такі:

- навчання алгоритмізації та програмуванню в контексті формування наукового світогляду, критичного мислення (Лапінський В. [ 4], Семеніхіна О., Руденко Ю. [7]);

- інформаційні засоби навчання мовам програмування у школі, розгляд переваг однієї мови програмування, увага до особливостей програмування конкретною мовою програмування (Петренко С., Дегтярьова Н. [6], Павленко М., Варава Т. [5], Грицюк Ю., Рак Т. [2]);

- дослідження затребуваності ІТ спеціальностей, підготовка фахівців вказаного напряму, перспективи вивчення програмування (Кунанець Н., Пасічник В., Небесний Р., Назарук М. [3], Василенко Я., Дмитроца Л. [1], Шатківськи М. [8]).

Проте проблема мотивації навчанню програмування в закладах загальної середньої освіти, підтримки зацікавленості, формування умов для демонстрування можливостей використання мов програмування в реальному житті залишається нерозкритою.

Мета статті - обґрунтувати актуальність вивчення мов програмування в процесі роботи з графічними віджетами мови програмування Python на прикладі авторського завдання.

Задачі, що поставлені для досягнення мети:

- обґрунтувати актуальність розгляду графічних елементів при вивченні мови Python на уроках інформатики;

- оприлюднити та проаналізувати доцільність впровадження на уроках інформатики авторського прикладу для роботи з перемикачами та повзунком;

- деталізувати хід розробки вікна з перемикачами та повзунком мовою програмування Python;

- визначити перспективні теми для розгляду аналогічних прикладів.

Методи дослідження

Теоретичні методи дослідження: аналіз і систематизація наукових публікацій та методичних рекомендацій щодо вивчення програмування в закладах загальної середньої освіти, аналіз джерел з програмування, впровадження методичних рекомендацій щодо навчання програмуванню, в тому числі авторського прикладу, наведеного в статті.

Виклад основного матеріалу

Аналіз шкільних підручників 7-9 класів з інформатики виявив, що в більшості підручників автори рекомендують перші знайомства з програмуванням розпочати на прикладах математичних операцій [9]. В сучасних підручниках для 8 класу автори розглядають можливості створення елементів користувацького інтерфейсу засобами бібліотеки графічних елементів tkinter мови програмування Python. Але у переважній більшості обмежуються тільки двома віджетами кнопкою і міткою. Такий підхід мав би раціональне зерно, як би у наступних класах продовжувалося вивчення інших графічних елементів і на їх основі логічних алгоритмічних структур. Але такої наступності не спостерігається.

До того ж і набір завдань, які пропонується для практичного використання, обмежений створенням кнопки і зміни її кольору або надпису на ній при натискнанні. Вважаємо, що побудові різних елементів вікна доцільно навчати при першому опануванні, розглядаючи їх окремо. А для подальшої роботи буде корисно і цікаво об'єднати елементи при створенні нескладної програми. Так, при опануванні перемикачів Radiobutton учні спочатку вивчають синтаксис: Ім'я перемикача = Radiobutton (параметри) та основні відомості, як-от:

- за замовчуванням перемикачі, що розміщені в одному вікні, не пов'язані між собою і можуть бути увімкнені одночасно;

- зв'язок доцільно встановити через спільну змінну, різні значення якої будуть відповідати увімкненню різних перемикачів із однієї групи;

- для всіх перемикачів цієї групи встановлюється одна і та ж змінна для властивості variable;

- властивості value присвоюються різні значення цієї змінної.

Наступним етапом є вивчення повзунка: Scale - клас повзунка (шкала).

Це віджет, який дозволяє обрати будь-яке значення із заданого діапазону. Синтаксис: ім'я повзунка = Scale(параметри)

Не зазначаємо велику кількість властивостей та параметрів, які можна обирати у відповідних бібліотеках для вказаних елементів, оскільки їх можна знайти у вільному доступі в глобальній мережі. Пропонуємо завдання для об'єднання цих двох елементів в одному вікні.

Завдання: створити програму для визначення доцільності заводити тваринку в залежності від вільного часу, який можна їй присвятити.

Код програми може виглядати так:

# імпортування графічної бібліотеки

# створення головного вікна

# створення назви головного вікна

# розміри вікна

# створення функції дії для кнопки

# новий колір на кнопці

# створення цілої змінної

# зчитування значення з повзунка

#розгалуженнядля виведення

l=Label(window, text = 'Результат аналізу. Не можна тобі заводити тваринку')#створення мітки

l.pack(side=LEFT)# розміщення мітки

else:

l = Label(window, text='Результат аналізу. Вітаю. Тобі можна заводити тваринку')#створення мітки

l.pack(side=LEFT)# розміщення мітки

g1 = Label(window, text='Обери для себе тварину')# мітка з текстом

g1.pack()# розміщення мітки з текстом

var = IntVar()# створюємо змінну, яка приймає

цілі значення

var.set(None)# встановлюємо перше значення для

створеної змінної

rad1 = Radiobutton(window, text=”Собака”, variable=var, value=1) # створюємо перемикач зі значенням 1

rad2 = Radiobutton(window, text=”Котик”, variable=var, value=2) # створюємо перемикач зі значенням 2

rad3 = Radiobutton(window, text="Хом'як", variable=var, value=3) # створюємо перемикач зі значенням 3

rad4 = Radiobutton(window, text=”Павук”, variable=var, value=4) # створюємо перемикач зі значенням 4

rad1.pack()# розміщуємо перемикачі у вікні

rad2.pack()

rad3.pack()

rad4.pack()

g2 = Label(window, text=”Яку кількість часу в день ти можеш їй присв'ятити”)# створення мітки з текстом

g2.pack()# розміщення мітки з текстом

s=Scale(window, orient=HORIZONTAL, length=400, from_=0, to=24, tickinterval=2)#створення повзунка

s.pack()# розміщення повзунка

butt = Button(window,text='Аналізувати!', width=20, height=2, bd=5, bg= 'gray')#створення кнопки

butt.pack()# розміщує кнопку у вікні

butt.bind(”<Button-1>”, presss)# після натиснення ЛКМ звернення

до функції

window.mainloop ()

Екранна копія виконання в консолі IDLE (Python 3.12) наведена нижче (рис. 1).

Рис. 1. Текст програми в консолі IDLE

В програмі наведені коментарі до усіх рядків, які пояснюють призначення кожної дії в цій програмі. Особливістю навчання програмуванню є репродуктивна робота на початку вивчення. Учень має проаналізувати, розібратися з запропонованими вчителем прикладами:навчитися використовувати структури, правильно обирати параметри, раціонально підходити до вирішення задачі, уміти тестувати готову програму. Таким чином, наведений приклад може подаватися як зразок для розбору на занятті чи як завдання для власної роботи. У другому випадку після виконання учнями можна порівняти їх розробку з наведеним вище текстом програми. При виконання учні мають отримати аналогічний запропонованому результат.

Результати виконання програми наведено на рис. 2.

Рис. 2. Результати виконання програми

Таким чином здобувачі набувають навички роботи перемикачами та повзунком, отримують візуальний результат власної роботи, формують компетентності в галузі програмування. Даний та аналогічні приклади можуть надаватися як демонстраційні приклади або завдання для домашньої роботи. При навчанні програмуванню на першому етапі переважає репродуктивна діяльність. Учень розбирає завдання, знайомиться зі структурами, розглядає класичні алгоритми. На тестуванні готових прикладів відбувається усвідомлення теоретичного підґрунтя теми, що вивчається. При подальшій роботі поступово від репродуктивної роботи учень переходить до завдань, що спонукають до творчості.

Висновки

Використання бібліотек мови Python при навчанні школярів надає можливість сформувати умови для усвідомленого опанування алгоритмізації та програмування. Учень отримує результат власної діяльності візуально, що враховує його вікові особливості. Здобувач отримує чіткі коментарі щодо кожного з етапів побудови програми, що знову приводить його до формування алгоритмічного підходу при вирішенні задач.

Перспективними напрямами подальших пошуків вбачаємо розробку методичних рекомендацій щодо використання інших графічних елементів при навчанні школярів мові програмування Python, створення колекції авторських методичних матеріалів для свідомого опанування учнями програмування.

Література:

1. Василенко Я., Дмитроца Л. Особливості компетентнісного підходу у процесі підготовки спеціалістів із комп'ютерних наук. Сучасні інформаційні технології та інноваційні методики навчання: досвід тенденції, перспективи: всеукр. наук.-практ. інтернет-конф. з міжнародною участю (Тернопіль, 9-10 листоп. 2017 р.). Тернопіль: Осадца Ю. В., 2017. № 1. С. 41-48. URL: https://core.ac.uk/download/pdf7222804602.pdf .

2. Грицюк Ю., Рак Т. Програмування мовою C++. Навч. посібн. Львів: Вид-во ЛДУ БЖД. 2011. 292 с.

3. Кунанець Н., Пасічник В., Небесний Р., Назарук М. Аналіз вибору ІТ спеціальностей учнями випускних класів на прикладі Тернополя. Інформаційні системи та мережі. 2019. Вип. 6. С. 79-89. DOI: https://doi.org/10.23939/sisn2019.02.079

4. Лапінський В.В. Проблема вибору першої мови програмування - сьогоднішнє бачення. Комп'ютер в школі і сім'ї. 2014. № 1. С. 14-17. URL: https://lib.iitta.gov.ua/2168/ 1/%D0%BF%D0%B5%D1%80%D1%88%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0.pdf

5. Павленко М., Варава Т. Інформаційні засоби навчання основам програмування у середній школі. Ukrainian Journal of Educational Studies and Information Technology. Том. 5. №. 3. Вересень. 2017. С. 58-73. URL: https://core.ac.uk/download/pdf/233567916.pdf

6. Петренко С.І., Дегтярьова Н.В. Створення віджетів мовою програмування Python. Методичні рекомендації. Суми: ФОП Цьома С.П., 2023. 32 с.

7. Семеніхіна О.В., Руденко Ю.О. Проблеми навчання програмувати учнів старших класів та шляхи їх подолання. Інформаційні технології і засоби навчання. 2018. Т. 66, № 4. С. 54-64. URL: http://nbuv.gov.ua/UJRN/ITZN_2018_66_4_7

8. Шатківський В.М. Порівняння мов програмування, що вивчаються в школі та використовуються у промисловому програмуванні. Актуальні питання сучасної інформатики. 2017. Вип. 5. С. 71-73.

9. Шкільні підручники онлайн. URL: https://pidruchnyk.com.ua/

References:

1. Vasylenko, Ya. & Dmytrotsa, L. (2017). Osoblyvosti kompetentnisnoho pidkhodu u protsesi pidhotovky spetsialistiv iz kompiuternykh nauk [Peculiarities of the competence approach in the process of training computer science specialists]. Suchasni informatsiini tekhnolohii ta innovatsiini metodyky navchannia: dosvid tendentsii, perspektyvy - Modern information technologies and innovative teaching methods: experience, trends, prospects: Proceedings of the all-Ukrainian scientific and practical Internet conference with international participation (Vol. 1), (pp. 41-48). Ternopil: Osadtsa Yu.V. Retrieved from https://core.ac.uk/download/pdf/222804602.pdf [in Ukrainian]

2. Hrytsiuk, Yu. & Rak, T. (2011). Prohramuvannia movoiu S++ [Programming in the C+ + language]. Lviv: Vyd-vo LDU BZhD [in Ukrainian]

3. Kunanets, N., Pasichnyk, V., Nebesnyi, R. & Nazaruk, M. (2019). Analiz vyboru IT spetsialnostei uchniamy vypusknykh klasiv na prykladi Ternopolia [Analysis of the Selection of It Specialties by Graduates in Ternopil]. Informatsiini systemy ta merezhi - Information systems and networks, 6, 79-89 [in Ukrainian]

4. Lapinskyi, V.V. (2014). Problema vyboru pershoi movy prohramuvannia - sohodnishnie bachennia [Problem of choosing the first programming language - contemporary vision]. Kompiuter v shkoli i simi - Computer in schools and sims, 1, 14-17. Retrieved from https://lib.iitta.gov.ua/2168/1/%D0%BF%D0%B5%D1%80%D1%88%D0%B0_%D0%BC%D0% BE%D0%B2%D0%B0.pdf [in Ukrainian]

5. Pavlenko, M. & Varava, T. (2017). Informatsiini zasoby navchannia osnovam prohramuvannia u serednii shkoli [Information tools for teaching the basics of programming in high school]. Ukrainian Journal of Educational Studies and Information Technology, 5(3), 58-73. Retrieved from https://core.ac.uk/download/pdf/233567916.pdf [in Ukrainian]

6. Petrenko, S.I. & Dehtiarova, N.V. (2023). Stvorennia vidzhetiv movoiu prohramuvannia Python [Creating widgets in the Python programming language]. Sumy: FOP Tsoma S.P. [in Ukrainian]

7. Semenikhina, O.V. & Rudenko, Yu.O. (2018). Problemy navchannia prohramuvaty

uchniv starshykh klasiv ta shliakhy yikh podolannia [Problems of education to programming of students and ways of their overcoming]. Informatsiini tekhnolohii i zasoby navchannia - Information technologies and learning tools, 66(4),54-64.Retrievedfrom

http://nbuv.gov.ua/UJRN/ITZN_2018_66_4_7 [in Ukrainian]

8. Shatkivskyi, V.M. (2017). Porivniannia mov prohramuvannia, shcho vyvchaiutsia v shkoli ta vykorystovuiutsia u promyslovomu prohramuvanni. [Comparison of programming languages studied in school and used in industrial programming]. Aktualni pytannia suchasnoi informatyky - Current issues of modern informatics, 5, 71-73 [in Ukrainian]

9. Shkilni pidruchnyky onlain [School textbooksonline].Retrieved from

https://pidruchnyk.com.ua/ [in Ukrainian]

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.