Любов от първа програма с Python

Могат ли 12-годишните да програмират?

Толкова съм ентусиазиран след края на занятието, че реших да напиша обичайният си репорт как са минали занятията през седмицата като публична статия за блога.
play
Учениците в групите ми имаха поне 90 астрономически часа с роботи и програмиране до момента и по занятие трябваше да им направим плавен преход към програмиране с текстов компютърен език, по точно скриптовия Python.
Красотата на занятията в Робопартанс е в това, че старши преподавателите могат да импровизират с материала в занятията и да го променят според усещането си за него и за групата на която ще се преподава. Както се знае, учениците са по-важни от материала. Ето защо реших още на петото занятие да се потопим в програмирането и до 7мо занятие да направим нещо много яко.

За домашно им дадох да си помислят каква простичка игра искат да програмираме в компютрите. В началото на занятието обсъждахме шах, бикове и крави, морски шах, и други неща, изяснихме се кое е прекалено сложно и кое простичко за да започнем. Едната ми група си избра камък-ножица-хартия, следващата си избраха не-се-сърди-човече. Още обсъждахме игри и взможности когато им казах, че ще им помогна да направят играта си за игра срещу компютъра, а после може и да направим и игра по мрежата между компютрите им, мултиплеър както се изказа един ученик. И във двете групи се получи следния безценен момент – обсъждаме си какво ще може да се прави в играта и в един момент някой ученик ентусизирано възкликва „Ами хайде да почваме!“.
Наистина програмирането на роботите с блокчетата беше подковало 12-годишните деца за истинското програмиране – всички знаеха какво е променлива и за какво се използва и само трябваше да им обясня новия синтаксис на писане. Малко по-късно ме разбраха от две думи че се налага и тук да превърнат числовите си променливи в текст, ако искат да ги изведат на екрана. И двете групи имаха да проверяват условия и if-овете не ги изненадаха, втората група имаше да направи цикъл и направо ме запитаха как се прави цикъла на Python.

tournament

Много весело стана в залата щом научиха компютъра да хвърля число от 1 до 3, да превежда числото в „Камък“, „Ножица“ или „Хартия“ и започнаха да играят с компютрите. Първо започнаха да си намислят символ и след това пускаха програмата за да видят дали ще победят символа на компютъра. После стана по весело „твоят срещу моят компютър“ – пускат си едновременно програмите и гледат кой-кого побеждава. Стигна се до там, че играеха масово с по три или повече компютри.
rps
И тук дойде следващата голяма победа – запитах ги дали не искат да могат да въведат свое число в програмата и компютърът да разбира дали е спечелил или загубил. Отново голям ентусиазъм и после последва изписването на 7 if-a.
Третата ми голяма победа беше, че ученици които по-рано се отказваха от програмирането на роботите, сега сами продължаваха да пишат код до края на занятието, докато програмата им не беше готова.
А за мен остана трудното домашно: днес те за първи път писаха на питон, следващият път трябва да им покажа мрежово програмиране така че да го разберат!

neseSyrdi

Втората група писа не-се-сърди, като там не можеха да повярват, че ще могат да играят 5 или 500 човека едновременно. Те взеха цикъл който печата квадратчетата по полето, като ако позицията на пионката им съвпада с текущото поле слагат символ за пионка, иначе празно поле.
Другото правило което програмираха беше за „точното излизане“. Не може да излезеш от полето ако хвърлиш зар по-голям от квадратчетата до края. Например имаш 3 полета до края и хвърляш 5. В този случай не трябва да се местиш.
Другото за което не им стигна времето, но се сетиха че ще трябва да направят, е да получат ново хвърляне ако им се падне 6.

И двете групи получават за домашно да добавят броячи в програмите си за да се знае или колко победи имат на „камък-ножица-хартия“ или с колко хвърляния са излезли от полето.

А, да – четвърта победа – всички искаха да им изпратя програмите им по пощата, и да си сложат Python вкъщи!

2 коментара

  • Алекс, беше страхотно занятие! Къде да намеря кода?

    Вили Доков Reply
    • 🙂 Като прикачен файл в мейла, от който разбра за тази статия. Имате и две домашни 🙂

      Aleksandar Pavlov Reply

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *