Uşaqlara Python dilini necə öyrədə bilərəm?

Uşaqlara Python dilini necə öyrədə bilərəm?

Əsas işim data və proqramlaşdırma ilə bağlıdır R, amma bu yazıda hətta müəyyən gəlir gətirən hobbimdən danışmaq istəyirəm. Mən həmişə dostlara, sinif yoldaşlarıma və tələbə yoldaşlarıma bir şey söyləmək və izah etməkdə maraqlı olmuşam. Uşaqlarla ortaq dil tapmaq mənim üçün həmişə asan olub, niyə bilmirəm. Ümumiyyətlə, mən hesab edirəm ki, uşaq böyütmək və öyrətmək hamının ən vacib işlərindən biridir və həyat yoldaşım müəllimdir. Beləliklə, təxminən bir il əvvəl yerli Facebook qrupunda reklam verdim, qrup yaratdım və həftədə bir dəfə Scratch və Python dilini öyrətməyə başladım. İndi mənim beş qrupum, evdə öz sinfim və fərdi dərslərim var. Bu şəkildə necə yaşamağa başladığımı və uşaqlara necə öyrətdiyimi bu yazıda sizə izah edəcəyəm.

Mən Kalqari, Alberta, Kanadada yaşayıram, ona görə də bəzi şeylər yerli xüsusiyyətlər olacaq.

Otaq

Təcrübə üçün yerin olması əvvəldən əsas narahatlıq idi. İcarəyə veriləcək ofis və sinif otaqlarını saatlarla axtarmağa çalışdım, lakin o qədər də uğur qazana bilmədim. Universitetimiz və MİT-in yerli ekvivalenti olan SAIT kompüterli və kompütersiz dərslər təklif edir. Oradakı qiymətlərin çox da humanist olmadığı ortaya çıxdı və sonda məlum oldu ki, universitet azyaşlıları qəbul etmir və SAİT ümumiyyətlə yalnız öz tələbələrinə kirayə verir. Beləliklə, bu seçim aradan qaldırıldı. Görüş otaqları və ofisləri saatlarla icarəyə götürən bir çox ofis mərkəzləri var, tam sinif otağından dörd nəfərlik otağa qədər bir çox seçim təklif edən bütöv şirkətlər var. Ümidlərim vardı, Alberta neft əyaləti olduğu üçün 2014-cü ildən bəri ləng böhran içindəyik və bir çox iş yerləri boşdur. Ümid etməməliydim; qiymətlər o qədər hədsiz oldu ki, əvvəlcə onlara inanmadım. Sahiblər üçün boş ofislərdə oturmaq və xərcləri ödəmək zibil atmaqdan daha asandır.

O an yadıma düşdü ki, mütəmadi olaraq vergimi ödəyirəm, əziz dövlətimizin, daha doğrusu, Kalqari şəhərinin orada nəsə varmı. Məlum oldu ki, həqiqətən də var. Şəhərdə xokkey və digər fiqurlu konkisürmə idman növləri üçün arenalar var və bu arenalarda möhkəm buz döyüşçülərinin gələcək döyüşlər üçün strategiyaları müzakirə etdikləri otaqlar var. Bir sözlə, hər arenada stol, stul, ağ lövhə və hətta çaydanı olan lavabo olan bir-iki otaq var. Qiymət olduqca ilahidir - saatda 25 Kanada tugriki. Əvvəlcə bir saat yarım dərs keçməyə qərar verdim, ona görə də kirayə haqqını kompensasiya etmək və cibimə nəsə qoymaq üçün beş nəfərlik qrupda dərsin qiymətini 35 dollar təyin etdim. Ümumiyyətlə, arenalarda məşq etməyi xoşlayırdım, bu, problemlərdən birini həll etdi - rusdillilərin əksəriyyəti cənubda, mən isə şəhərin şimalında yaşayıram, ona görə də təxminən ortada olan arena seçdim. Ancaq narahatçılıqlar da var idi. Kanada bürokratiyası yaxşı və mehribandır, lakin yumşaq desək, bir qədər yöndəmsiz ola bilər. Ritmə öyrəşib əvvəlcədən planlaşdıranda problem olmur, amma bəzən xoşagəlməz anlar yaranır. Məsələn, şəhərin saytında siz rahatlıqla vaxt və məkan seçə və otaq rezerv edə bilərsiniz, lakin heç bir şəkildə ödəniş edə bilməzsiniz. Telefon zənglərini özləri edir və kart ödənişlərini qəbul edirlər. Ofisə gedib nağd ödəyə bilərsiniz. İkinci dərsin pulunu ödəmək üçün zənglərini gözlədiyim zaman gülməli, lakin çox da xoş olmayan bir an oldu, gəlmədi və son gün ofise on beş dəqiqə gecikdim. Mən həyasız bir üzlə mühafizəyə yaxınlaşıb otağın sifariş edildiyini deməli oldum. Biz kanadalılar mənim sözümü qəbul edirik; onlar məni sakitcə içəri buraxdılar və heç nə yoxlamadılar, amma insanlar artıq dərsə getməsəydilər, bunu etməzdim.

Qışda və yazda belə işlədim və sonra barmağın son damlası olan dəyişikliklər baş verdi. Əvvəlcə ofis ziyarətçilər üçün bağlandı və onlar küncdə telefonla ödənişləri qəbul etməyi təklif etdilər. Mən keçməmişdən əvvəl ən azı yarım saat koridorda oturdum. İkincisi, əgər əvvəllər əziz bibim məndən saat yarımın pulunu alırdısa, indi telefona bir qız cavab verdi və ödənişin cəmi bir saata olduğunu söylədi. O vaxt mənim qrupum ya üç, ya iki nəfər idi və əlavə 12.5 dollar heç də artıq deyildi. Əlbəttə, mən ideolojiyəm, amma arvadım məni küçəyə atsa, öyrədən də olmayacaq. Onda mən hələ işsiz idim.

Və mən kitabxanaya getməyə qərar verdim. Kitabxanalar gözəl otaqları tamamilə pulsuz icarəyə verirlər, lakin bir məqam var - kommersiya fəaliyyəti ilə məşğul ola bilməzsiniz. Hətta xeyriyyə təşkilatlarına orada pul yığmağa icazə verilmir. Mənə dedilər ki, buna xüsusi nəzarət olunmur, əsas odur ki, girişdə pul götürməyin, amma qaydaları pozmağı çox sevmirəm. Digər problem otaqların tez-tez dolu olması və planlı dərsləri bir yerdə eyni vaxtda keçirmək çətin olmasıdır. Yayda və qışın əvvəlində kitabxanalarda dərs deyirdim, yeri olanları seçməli oldum, axırda beş-altı kitabxana dəyişdim. Sonra iki ay qabaqcadan yer bron etməyə başladım və hətta o vaxt da bunu yalnız bir kiçik kitabxanada edə bildim, qalanlarında müntəzəm olaraq tələb olunan vaxta yer yox idi. Və sonra evdə kompüter sinfi etmək qərarına gəldim. Lövhəni asdım, elandan ikinci stol və bir neçə köhnə monitor aldım. İş yerimdə şirkət mənə yeni güclü noutbuk aldı, çünki mənim kompüterimdə analiz demək olar ki, 24 saat çəkdi. Deməli, təzə köhnə kompüterim, köhnə köhnə kompüterim, balaca oğlumun ekranı əzdiyi noutbuk və özüm ekranı əzdiyim qədim netbuk var idi. Mən onların hamısını monitorlara qoşdum və Linux Mint-i hər yerdə quraşdırdım, çox yüngül paylayıcı dəst quraşdırdığım netbukdan başqa, deyəsən Pappy. Hələ də köhnə yeni noutbukum var, 200 dollara almışam, televizora qoşdum. Həm də vacib olan odur ki, sahibimiz bu yaxınlarda pəncərələrimizi dəyişdi və otaqdakı dəhşətli, dağılan səfalət əvəzinə indi yeni ağ çərçivələrimiz var. Qonaq otağını, mətbəxi və ikinci yataq otağını həyat yoldaşım uşaq bağçası üçün saxlayır, ona görə də bütün mərtəbə sırf pedaqoji oldu. Beləliklə, indi binalarla hər şey yaxşıdır, keçək tədrisə.

Cızıq

Scratch dilindən istifadə edərək proqramlaşdırmanın əsaslarını öyrətməyə başlayıram. Bu, MIT-də bir anda icad edilən hazır bloklardan istifadə edən bir dildir. Uşaqların çoxu artıq məktəbdə Scratch-i görüblər, ona görə də onu kifayət qədər tez götürürlər. Hazır proqramlar, dərs planları var, amma heç xoşuma gəlmir. Bəziləri qəribədir - məsələn, öz hekayənizi yaradın. Bütün proqram saysız-hesabsız bloklardan ibarətdir say '<...>' for 2 seconds. Çox yaradıcı şəxslər tərəfindən icad edildiyini görmək olar, lakin bu yanaşma ilə klassik hind spagetti kodunu necə yazmağı öyrədə bilərsiniz. Əvvəldən mən DRY kimi prinsiplərdən danışıram.Digər tapşırıq kolleksiyaları kifayət qədər yaxşıdır, lakin uşaqlar mahiyyəti tez qavrayır və onları avtomat kimi yerinə yetirməyə başlayırlar. Nəticədə beşdə etməli olduqları işi bir dərsdə yerinə yetirirlər. Və tapşırıqların axtarışı və seçilməsi çoxlu şəxsi vaxt tələb edir. Ümumiyyətlə, Scratch daha çox dili deyil, IDE-ni xatırladır, burada sadəcə hara klikləməyi və nəyi harada axtarmaq lazım olduğunu xatırlamaq lazımdır. Tələbələr az-çox rahat olan kimi onları Python-a köçürməyə çalışıram. Hətta yeddi yaşlı qızım Pythonda sadə proqramlar yazır. Scratch-in faydası kimi gördüyüm şey, onun oynaq şəkildə öyrənilən əsas anlayışları ehtiva etməsidir. Nədənsə, istisnasız olaraq hər kəs üçün dəyişən ideyasını başa düşmək çox çətindir. Əvvəlcə bu mövzunu tez bir zamanda nəzərdən keçirdim və bu barədə nə edəcəyimi bilmədikləri ilə qarşılaşana qədər davam etdim. İndi dəyişənlərə çox vaxt sərf edirəm və daim onlara qayıdıram. Bir az axmaq çəkic vurmalısan. Ekranda müxtəlif dəyişənləri dəyişirəm və onlara öz dəyərlərini danışdırıram. Scratch da nəzarət strukturlarına və dəyər yoxlamalarına malikdir while, for və ya if pitonda. Onlar olduqca asandır, lakin iç-içə döngələrlə bağlı problemlər var. Mən daxili dövrə ilə bir neçə tapşırıq verməyə çalışıram ki, onun hərəkəti aydın olsun. Bundan sonra funksiyalara keçirəm. Hətta böyüklər üçün funksiya anlayışı aydın deyil və daha çox uşaqlar üçün. Mən ümumiyyətlə funksiyanın nə olduğu haqqında uzun müddət davam edirəm, maddələri giriş kimi qəbul edən və mal buraxan bir fabrikdən, xammaldan yemək hazırlayan aşpazdan danışıram. Sonra məhsullarla “sendviç hazırlayın” proqramı qururuq və ondan bir funksiya düzəldirik ki, məhsullar parametr kimi ona ötürülür. Scratch ilə funksiyaları öyrənməyi bitirirəm.

Python

Python ilə hər şey daha sadədir. Uşaqlar üçün yaxşı bir Python kitabı var, onu öyrədirəm. Orada hər şey standartdır - xətlər, əməliyyatlar qaydası, print(), input() və s. Yüngül dildə, yumorla yazılmışdır, uşaqların xoşuna gəlir. Bir çox proqramlaşdırma kitablarında ortaq bir qüsur var. Məşhur zarafatda olduğu kimi - bayquşu necə çəkmək olar. Oval - dairə - bayquş. Sadə anlayışlardan kifayət qədər mürəkkəb anlayışlara keçid çox kəskindir. Obyekti nöqtə metoduna əlavə etmək üçün mənə bir neçə seans lazımdır. Digər tərəfdən, tələsmirəm, ən azı bir şəkil bir araya gələnə qədər eyni şeyi müxtəlif yollarla təkrarlayıram. Mən dəyişənlərlə başlayıram və bu dəfə Python-da onları yenidən çəkicləyirəm. Dəyişənlər bir növ lənətdir.

Bir neçə ay əvvəl Skratch-də dəyişənləri məharətlə klikləyən ağıllı tələbə yeni qapıda qoç kimi görünür və yuxarıdakı sətirdə lövhədə aydın şəkildə yazılmış Y ilə X əlavə edə bilmir. Təkrar edirik! Dəyişən nəyə malikdir? Adı və mənası! Bərabər işarə nə deməkdir? Tapşırıq! Bərabərliyi necə yoxlayaq? İkiqat bərabərdir işarəsi! Və tam maariflənənə qədər bunu təkrar-təkrar təkrar edirik. Sonra arqumentlər haqqında izahatın ən uzun sürdüyü funksiyalara keçirik. Adlandırılmış arqumentlər, mövqeyə görə, standart olaraq və s. Hələ heç bir qrupda dərsə gəlməmişik. Python-dan əlavə, biz kitabdakı məşhur alqoritmləri öyrənirik, bu barədə daha sonra.

Əslində, məşq

Mənim dərsim belə qurulub: yarım saat nəzəriyyə verirəm, biliyi yoxlayıram və öyrəndiklərimi möhkəmləndirirəm. Laboratoriyaların vaxtıdır. Mən tez-tez özümü götürürəm və bir saata qədər danışıram, sonra məşqə yarım saat qalır. Piton öyrənəndə kursa baxırdım Alqoritmlər və Məlumat Strukturları MIPT-dən Xiryanov. Onun təqdimatını və mühazirələrinin strukturunu çox bəyəndim. Onun ideyası belədir: çərçivələr, sintaksis, kitabxanalar köhnəlir. Memarlıq, komanda işi, versiyaya nəzarət sistemləri - hələ tezdir. Nəticədə, uzun müddətdir məlum olan və həmişə oxşar formada olacaq alqoritmlər və məlumat strukturları qalır. Mən özüm yalnız paskal institutundan tam ədədləri xatırlayıram. Tələbələrim əsasən gənc, yeddi yaşdan on beş yaşa qədər olduğundan, Python-da platforma oyunu tez bir zamanda yazmaqdansa, onların gələcəyi üçün təməl atmağın daha vacib olduğuna inanıram. Baxmayaraq ki, onlar daha çox platformer istəyirlər və mən onları başa düşürəm. Mən onlara sadə alqoritmlər verirəm - qabarcıq, sıralanmış siyahıda ikili axtarış, yığından istifadə edərək tərs Polşa notasiyası, lakin biz hər birini ətraflı təhlil edirik. Məlum oldu ki, müasir uşaqlar prinsipcə kompüterin necə işlədiyini bilmirlər, mən də sizə deyim. Hər mühazirədə bir neçə anlayışı birləşdirməyə çalışıram. Məsələn, kompüter - yaddaş/faiz - xanalardan ibarət yaddaş (yaddaş çipini saxlamağınıza icazə verim, orada neçə hüceyrə olduğunu təxmin edin) - hər bir hüceyrə lampa kimidir - iki vəziyyət var - doğru/yanlış - və/və ya - binar/ondalıq - 8bit = 1 bayt - bayt = 256 seçim - bir bitdə məntiqi məlumat növü - bir baytda tam ədədlər - float iki baytda - string bir baytda - 64 bitdə ən böyük rəqəm - əvvəlki növlərdən siyahı və tuple. Mən qeyd edirəm ki, real kompüterdə hər şey bir qədər fərqlidir və bu məlumat növləri üçün yaddaşın həcmi fərqlidir, amma əsas odur ki, prosesdə özümüz sadə olanlardan daha mürəkkəb məlumat növləri yaradırıq. Məlumat növləri bəlkə də yadda saxlamaq ən çətin şeydir. Buna görə də hər dərsə tez isinmə ilə başlayıram - bir şagird məlumat tipini adlandırır, növbətisi iki nümunə verir və s. Nəticədə, hətta ən kiçik uşaqların da şən qışqırmasına nail oldum - üzmək! boolean! yeddi, beş! pizza, maşın! Mühazirə zamanı mən davamlı olaraq birinci və ya digərini çəkirəm, əks halda tez burunlarını yığmağa və tavana baxmağa başlayırlar. Və hər kəsin bilik səviyyəsi hər an yoxlanılmalıdır.

Tələbələrim həm axmaqlıqları, həm də gözlənilməz zəkaları ilə məni heyrətləndirməkdən əl çəkmirlər. Xoşbəxtlikdən, daha tez-tez zəka ilə.

Daha çox yazmaq istədim, ancaq bir vərəq oldu. Bütün suallara cavab verməkdən məmnun olaram. İstənilən tənqidi hər cür alqışlayıram, sadəcə olaraq şərhlərdə bir-birinizə qarşı daha dözümlü olmanızı xahiş edirəm. Bu yaxşı məqalədir.

Mənbə: www.habr.com

Добавить комментарий