„Coding за деца“, „Python од најмала возраст“, „Направи ја својата прва игра“ — кога родител разгледува информатички програми, лесно може да добие впечаток дека најважното прашање е кога детето ќе почне да програмира и дека, ако сè уште не почнало, можеби доцни. Има добра причина секое дете да добие можност да го запознае програмирањето, но не затоа што секое треба да стане програмер. Програмирањето е важен дел од информатичкото образование; едноставно, не е целото информатичко образование.
Што всушност прави детето кога програмира?
Во наједноставна форма, програмирањето бара прецизно да му кажеме на компјутерот што сакаме да направи, затоа што компјутерот нема да „разбере што сме мислеле“. Ако детето сака лик на екранот да се движи, да реагира кога ќе допре друг објект и потоа да го зголеми резултатот за еден поен, треба да размисли што се случува прво, под кој услов следува нешто друго, кои информации програмата треба да ги памети и како ќе провери дали решението функционира. А ако не функционира, треба да открие каде е грешката.
Токму тука programming станува повеќе од работа со команди. Детето претвора идеја во серија чекори, го тестира резултатот и се враќа назад за нешто да поправи.
Затоа доброто programming искуство не се мери со бројот на напишани линии код. Актуелните CSTA стандарди за computer science го третираат programming не само како пишување, туку и како читање, тестирање, менување и дебагирање програми.
Подобро прашање од „Колку код напишавте?“ е: дали детето разбира што прави програмата и може ли самото нешто да промени?
Програмирањето е важно, но не е целата слика
Programming е дел од computer science, а дигиталната компетентност е уште поширока. Таа опфаќа работа со информации и податоци, создавање содржина, комуникација, безбедност и решавање проблеми.
Во реална задача детето нема секогаш да пишува програма. Понекогаш ќе треба да организира податоци, да процени информации, да направи јасна презентација или да избере друга соодветна алатка. А понекогаш — да програмира.
Затоа programming може да биде важна област во поширока информатичка едукација без да стане нејзина единствена оска.
„Колку порано, толку подобро“ не е доволно добар критериум
Постојат programming активности приспособени и за мали деца, а истражувањата покажуваат дека тие можат успешно да работат со добро дизајнирани активности. Сепак, „може да почне рано“ не е исто што и „треба да почне што е можно порано“.
За помало дете може да биде одлично да составува визуелни блокови, да предвидува што ќе направи програмата и да ја поправа кога не функционира. Но ако само механички повторува инструкции што не ги разбира, фактот дека „веќе програмира“ не кажува многу.
Поважно е дали задачата е соодветна на возраста, дали детето разбира што прави и дали со текот на времето станува посамостојно.
Scratch не е „помалку сериозен“ само затоа што Python изгледа посериозно
Едно дете составува блокови во Scratch. Друго пишува if, for, print… На родител што не програмира, второто лесно може да му изгледа како „вистинско програмирање“, а првото како игра.
Но изгледот на интерфејсот не е добар критериум за квалитетот на учењето. Block-based средините им овозможуваат на почетниците да се концентрираат на логиката, редоследот и условите без веднаш да мора да совладаат и текстуална синтакса. Истражувањата што директно ги споредувале block-based и text-based пристапите не даваат основа едноставно да се каже дека текстуалното програмирање е образовно подобро.
Тоа не значи дека Scratch и Python се исто; прашањето е која алатка е соодветна за она што детето во тој момент треба да го разбере и направи. Дете што разбира зошто неговата Scratch програма работи може да има поквалитетно искуство од дете што препишало десет линии Python без да знае што прават. Наместо натпревар меѓу алатките, поважна е добрата прогресија.
Што ако детето не се воодушеви од програмирањето?
И тоа е сосема валиден исход. Едно дете може да открие дека навистина ужива во programming и сака да оди подлабоко, додека друго можеби повеќе ќе го привлечат податоци, визуелно создавање или друга дигитална област. Добрата причина да го запознае programming не е претпоставката дека еден ден ќе биде програмер, туку можноста да добие вистинско искуство со областа и потоа само да открие дали сака да продолжи подлабоко.
Како да препознаете дали детето навистина учи програмирање?
Не мора самите да знаете да програмирате. Прашајте:
- Што треба да прави програмата?
- Имаше ли нешто што прво не работеше?
- Како откри каде е проблемот?
- Што ќе се случи ако го смениш овој дел?
- Можеш ли да измениш нешто сам/сама?
Поважно од „точните“ технички зборови е дали детето може со свои зборови да ја објасни логиката на она што го направило.
Значи, дали секое дете треба да учи програмирање?
Треба да добие можност да го запознае, бидејќи programming е важен начин детето да види како проблем се претвора во инструкции, како се тестира решение и како се откриваат и поправаат грешки. Но тоа е само една од областите што вреди да ги открие.




