Кога родител ќе го слушне изразот computational thinking, лесно е да помисли дека станува збор за некоја понапредна форма на програмирање. Терминот навистина доаѓа од светот на компјутерските науки, но идејата е многу поширока.
Computational thinking, или компјутациско размислување, е начин на пристапување кон проблем: да се разбере што точно треба да се реши, сложениот проблем да се подели на помали делови, да се препознаат обрасци, да се издвојат важните информации и да се осмисли јасна низа чекори што води кон решение.
Програмирањето може да биде еден од начините ова размислување да се примени. Но детето може да развива computational thinking и без да напише ниту една линија код.
Сложениот проблем станува помалку страшен кога ќе се подели
Да замислиме дека детето треба да направи дигитална презентација за некој град.
На прв поглед задачата е едноставна: „Направи презентација.“ Но зад неа всушност има повеќе помали проблеми. Кои информации се важни? Каде ќе ги најде? Како ќе ги организира? Кои фотографии има смисла да ги употреби? Што ќе оди на првиот слајд, а што подоцна?
Кога детето ја разделува големата задача на помали делови, веќе користи една од основните идеи на computational thinking — decomposition, односно разложување на проблемот.
Тоа е корисна вештина далеку надвор од програмирањето. Истата логика може да помогне при истражување, планирање проект, анализа на податоци или организирање посложена задача.
Потоа почнуваме да бараме што се повторува
Друг важен дел е препознавањето обрасци.
Ако детето направило неколку слични задачи, може да забележи дека одредени чекори постојано се повторуваат. Кај истражувањето можеби секогаш прво треба да го дефинира прашањето, потоа да побара извори, да ги спореди и на крај да одлучи што ќе употреби.
Во програмирањето обрасците може да се појават во кодот. Во табела — во податоците. Во презентација — во начинот на кој информацијата се организира.
Кога детето почнува да го препознава она што е заедничко меѓу различни проблеми, веќе не мора секоја задача да ја решава од почеток.
Не е важно сè што го гледаме
Понекогаш најтешкиот дел од решавањето проблем е да се одлучи што е важно, а што може да се остави настрана.
Ако детето прави мапа со маршрута од дома до училиште, не мора да ги прикаже сите дрвја, прозорци и паркирани автомобили што ги гледа по пат. Потребни му се оние информации што му помагаат некој друг да стигне до целта.
Ова се нарекува abstraction — издвојување на суштинското и игнорирање на деталите што не му помагаат на решението.
ISTE го вбројува токму ова, заедно со разложувањето на проблеми, препознавањето обрасци и алгоритмите, меѓу основните столбови на computational thinking.
Решението треба да може да се претвори во јасни чекори
Да му кажеме на некого „направи сендвич“ изгледа како јасна инструкција — сè додека не треба да му објасниме на машина како точно се прави.
Тогаш веднаш се појавуваат прашања: Кој е првиот чекор? Што следува потоа? Што ако нема одредена состојка? Кога знаеме дека задачата е завршена?
Создавањето таква прецизна низа чекори е алгоритамско размислување.
Децата можат да го вежбаат со Scratch или Python, но можат и без компјутер: со инструкции за движење, правила на игра, рецепт или план за извршување задача.
Тогаш каде е програмирањето?
Програмирањето е моментот кога дел од ова размислување го претвораме во инструкции што компјутерот може да ги изврши.
Затоа дете може да знае синтакса на програмски јазик, а сепак да има тешкотија да реши проблем самостојно. Може да знае како се пишува if, циклус или функција, но да не знае кога и зошто треба да ги употреби.
И обратно, дете што никогаш не програмирало може веќе добро да разложува проблеми, да препознава обрасци и да создава логични чекори за решение.
Современите CSTA стандарди затоа го опишуваат computational thinking како поширок процес: дефинирање проблеми, создавање апстракции, развивање решенија, нивно тестирање и подобрување.
Зошто ова е важно за родителите?
Затоа што лесно е напредокот на детето да го мериме според видливата технологија.
„Дали веќе учат Python?“
„Дали работат програмирање?“
„Која апликација ја користат?“
Тоа се разбирливи прашања, но не кажуваат доволно за квалитетот на учењето.
Понекогаш многу едноставна задача со хартија, табела или Scratch бара повеќе размислување од далеку посложена задача во Python што детето само ја следи чекор по чекор.
Поважно е да прашаме: Дали детето само го разбира проблемот? Може ли да го подели на делови? Да препознае што е важно? Да предложи чекори? Да провери дали решението работи и да го поправи ако не работи?




