Qanday qilib men Python bo'yicha qo'llanmani o'rgatdim va yozdim

Qanday qilib men Python bo'yicha qo'llanmani o'rgatdim va yozdim
O‘tgan yil davomida men viloyat o‘quv markazlaridan birida (keyingi o‘rinlarda TK deb yuritiladi) dasturlashni o‘rgatish bo‘yicha o‘qituvchi bo‘lib ishladim. Men ushbu o'quv markazini nomlamayman, shuningdek, kompaniyalar nomlari, mualliflarning ismlari va boshqalarsiz bajarishga harakat qilaman.

Shunday qilib, men Python va Java tillarida o'qituvchi bo'lib ishladim. Ushbu CA Java uchun o'quv materiallarini sotib oldi va men kelib, ularga taklif qilganimda ular Python-ni ishga tushirdi.

Men Python bo'yicha talabalar uchun qo'llanma (asosan darslik yoki o'z-o'zini o'qitish qo'llanmasi) yozdim, ammo Java tilini o'rgatish va u erda foydalanilgan o'quv materiallari sezilarli ta'sir ko'rsatdi.

Ular dahshatli edi deyish kamtarlikdir. Rossiyadagi juda taniqli kompaniyalardan biri tomonidan taqdim etilgan Java darsligining rejimi odamga umuman ushbu tilning asoslarini va xususan OOP paradigmasini o'rgatish emas, balki ochiq darslarga kelgan ota-onalarni ta'minlash edi. ular sizning o'g'lingiz yoki qizingiz darslikdan ilon yoki shaxmatni qanday ko'chirganini ko'rgan. Nega men o'chirilgan deyman? Bu juda oddiy, haqiqat shundaki, darslik kodning butun varaqlarini (A4) taqdim etgan, ularning ba'zi jihatlari tushuntirilmagan. Natijada, o'qituvchi yoki har bir talaba kodning qaysi nuqtasida ekanligini nazorat qilishi kerak, har bir satrni tushuntiradi yoki hamma narsa aldashga aylanadi.

Siz aytasiz: "Xo'sh, nima bo'ldi, o'qituvchi yaxshi ish qilsin, shaxmat va ilon yaxshi!"

Xo'sh, agar guruhdagi odamlar soni 15 yoshdan kichik bo'lmasa, hamma narsa ajoyib bo'lar edi va agar siz hammaga ergashmoqchi bo'lsangiz, bu juda muhim: "Ammo shunga qaramay, biz buni nima uchun yozyapmiz?"

Guruhdagi odamlar sonidan tashqari, ushbu usul bilan bog'liq yana bir muammo mavjud. Kod yozilgan ... qanday qilib qo'yishim kerak, shunchaki dahshatli. Antipatternlar to'plami, arxaik, chunki darslik uzoq vaqtdan beri yangilanmagan va bizning eng sevimli narsamiz, albatta, qo'llanmaning uslubi. Shuning uchun, agar siz barcha o'quvchilaringizni nazorat qilsangiz va ularga yozayotgan kodingiz nimani anglatishini tez va aniq tushuntirsangiz ham, kodning o'zi shunchalik dahshatliki, u sizga noto'g'ri narsani o'rgatadi, yumshoq qilib aytganda.

Xo'sh, ushbu darslikni tom ma'noda yo'q qiladigan yakuniy narsa shundaki, boshidanoq ma'lumotlar turlari nima ekanligini, ular ob'ekt va ibtidoiy ekanligini, ushbu dixotomiyani yaratuvchi xususiyatni qaysi mezon bilan tekshirishini va hokazolarni tushuntiruvchi hech bo'lmaganda adekvat kirish mavjud emas. Birinchi bobda siz va o'quvchilaringizdan deraza yaratadigan va u erda "Salom!" deb yozadigan dasturni yaratish (nusxalash) so'raladi, lekin bu kod varaqasi aslida nimani anglatishini tushuntirmaydi, faqat keyingi darslarga havolalar, masalan. , unda "asosiy" - bu kirish nuqtasi, lekin "kirish nuqtasi" tushunchasi hatto talaffuz qilinmagan.

Xulosa qilib aytadigan bo'lsak, bu chiqindi qog'oz hatto o'qituvchilar va boshqaruvchilar orasida ham mem edi. U bolalarga mutlaqo hech narsa o'rgatmadi, bir marta men ushbu materiallarni bir yil davomida o'rganayotgan guruhga duch kelganimda, oxirida ular hatto tsikl ham yoza olmadilar, men ularning barchasi juda aqlli va tez orada hamma narsa ekanligini ta'kidlayman. unchalik yomon emas edi. Aksariyat hamkasblar o'quv materiallaridan chetga chiqishga harakat qilishdi, shunda material so'riladi va shunchaki havoga uchib ketmaydi, garchi vijdonli odamlar o'z talabasi uchun hech qanday tushuntirishsiz nusxa ko'chirishni odatiy deb hisoblagan bo'lsa-da.

O'quv markazini tark etishim va Python dasturini keyingi yilda qandaydir tarzda davom ettirish kerakligi aniq bo'lgach, men darslik yozishni boshladim. Muxtasar qilib aytganda, men uni ikki qismga ajratdim, birinchisida ma'lumotlar turlari, ularning mohiyati, ular bilan ishlash va til ko'rsatmalari haqida hamma narsani tushuntirdim. Bo'lajak o'qituvchi talabaning mavzuni qanday o'rganganligini tushunishi uchun mavzular orasida QnA qildim. Xo'sh, oxirida men kichik vazifa-loyiha qildim. Shunday qilib, birinchi qism tilning asoslarini tushuntiradi va ularni chaynadi, bu har biri 12-13 daqiqadan iborat taxminan 30-40 dars. Ikkinchi qismda men allaqachon OOP haqida yozganman, Python-da ushbu paradigmani amalga oshirish boshqalardan qanday farq qilishini tasvirlab berdim, uslublar qo'llanmasiga ko'plab havolalar qildim va hokazo. Xulosa qilib aytadigan bo'lsak, men imkon qadar Java darsligidagilardan farq qilishga harakat qildim. Men yaqinda hozirgi Python o'qituvchimga materiallar bo'yicha fikr-mulohazalarini so'rab xat yozdim va endi hammasi yaxshi ekanligidan, bolalar Pythonda dasturlashni chinakam tushunganidan xursandman.

Bu voqeadan qanday xulosa chiqarmoqchiman: aziz ota-onam, agar siz farzandingizni o‘quv markaziga yuborishga qaror qilsangiz, ularning nima qilayotganini diqqat bilan kuzatib boring, farzandingiz tushkunlikka tushmasligi uchun vaqtni behuda o‘tkazmasin. uni kelajakda dasturlash istagidan.

UPD: Izohlarda to'g'ri ta'kidlanganidek, men material taqdimoti haqida deyarli hech narsa demadim. Darhol aytamanki, iloji boricha ko'proq amaliyot bo'lishi kerak, deb hisoblayman. Birinchi qismdagi har bir dars yakunida bob mavzusi bo‘yicha 4-5 ta kichik amaliy topshiriqlar bajarardim. Bo'limlar o'rtasida QnA (nazorat darslari) mavjud bo'lib, ularda amaliy, lekin allaqachon baholangan vazifalar ham bor edi va birinchi qismning oxirida taklif qilinganlardan tanlash uchun mavzu bo'lgan loyiha bor edi. Ikkinchi qismda men konsolli mini-o'yinni yaratish orqali OOPga kirishni qildim, uning rivojlanishi butun ikkinchi qism va paradigmaga to'liq kirish edi.

So'rovda faqat ro'yxatdan o'tgan foydalanuvchilar ishtirok etishlari mumkin. tizimga kirishiltimos.

Farzandingiz o'quv markazida dasturlashni o'rganyaptimi?

  • 4,6%Ha 3

  • 95,4%№62

65 foydalanuvchi ovoz berdi. 27 nafar foydalanuvchi betaraf qolgan.

Manba: www.habr.com

a Izoh qo'shish