
Програмирање и програмски језици – Отклањање грешака у коду и дебаговање
У оквиру серијала Вештачка интелигенција у учионици доносимо примере добре праксе које су развили и у учионици испробали наставници Рачунарске гимназије. Овог четвртка представљамо рад професора информатичке групе предемета, Душана Попадића.
Професор Душан Попадић осмислио је час вежбања обогаћен употребом Python tutor-а, где ће се увежбавати претходно стечено знање писања програма који укључују гранање, петље и низове. Ученици већ умеју да користе debugger.
Основни подаци о часу:
- Предмет: Програмирање и програмски језици
- Тема: Увежбавање отклањања грешака у коду и дебаговање
- Узраст: I година средње школе
- Трајање часа: 45 минута
- Тип часа: утврђивање, провера
- Циљ: Развијање способности код ученика да самостално препознају и отклањају различите врсте грешака у програмском коду користећи комбинацију ручног дебаговања и подршке AI алата. На овај начин увежбавају критичко мишљење, уче да постављају прецизна питања и стичу свест о ограничењима AI у процесу програмирања.
Ток часа
- Уводни део (5 минута)
Обнављање кључних помојва: шта је синтаксна, а шта семантичка грешка, шта је изузетак (exception) и шта је дебаговање.
- Главни део (37 минута)
Демонстрација (5 минута): наставник показује ученицима текст задатка и код који има 2 грешке; решава пример дебагером уз активно учествовање ученика.
Демонстрација Python Tutor (12 минута): наставник показује ученицима алат, показује примере добрих и лоших питања која могу бити постављена. Користимо исти код као и у претходној демонстрацији, само сада уз помоћ АI.
Демонстрација (10 минута): Приказ комплексног проблема са суптилном грешком коју AI тешко уочава и још теже отклања, посебно ако се не поставе адекватна питања, за која је потребно добро разумевање програмера. Појашњење појма халуцинација код вештачке интелигенције.
Вежба (10 минута): такмичење ученика у решавању једног задатка. Наставник задаје текст задатка и код који би тај задатак требало да реши. Овај код има најмање три одвојене целине (функције), и неколико суптилних грешака које ученици треба да што пре открију и отклоне, а потом тестирају своја решења. Циљ је што пре завршити задатак, а најбржи (или неколико најбржих) ученика који из првог покушаја реше овај проблем добијају подстицај (у виду додатка на оцену). Могу да користе Python Tutor колико год пута хоће, али пошто се користи бесплатна верзија, она сама по себи не дозвољава више од једног питања у вези са кодом у минути – што значи да ученици морају да комбинују ручно дебаговање и помоћ AI уколико желе да буду брзи.
- Завршни део (3 минута)
Резиме: Наставник поставља питања ученицима у вези са темом часа (Шта је халуцинирање?, Шта радимо када AI не успева да пронађе грешку?, Наведите примере добрих и лоших питања… и слично).
Улога AI у учењу
На овом часу програмирања и програмских језика вештачка интелигенција је коришћена као помоћни алат за дебаговање – ученици су уз њену подршку увежбавали откривање и исправљање грешака у коду. AI је служила за демонстрацију добрих и лоших питања, као и за поређење сопственог разумевања са генерисаним одговорима, чиме су ученици развијали критички однос према њеним могућностима. На тај начин AI је допринела да се процес учења програмирања обогати, али уз јасно наглашавање да логичко размишљање и разумевање кода остају кључне вештине ученика.
Алати
Python tutor (уз напомену да се овај алат подржава и друге програмске језике).



