Programmēšanas apgūšana ar mākslīgo intelektu kā palīglīdzekli
Mākslīgā intelekta (MI) asistenti (ChatGPT, Copilot utml.) ir strauji ienākuši programmēšanā kā neatsverams palīgs, kas dod iespēju ne tikai ātrāk sarakstīt kodu, bet arī to atkļūdot un testēt. Programmētāji MI asistentus darbā izmanto regulāri un to ietekme kļūst ar vien lielāka. Tāpēc arī mācību procesā ir jāņem vērā MI sniegtās iespējas.
Saturs
Mācīšanās izaicinājumi MI ietekmē
Līdz šim programmēšanas apguves programmas tika izstrādātas, izejot no principa, ka “programmēšana ir praktiska prasme - jo vairāk vingrinās, jo labāk veicās.” Tāpēc pārsvarā programmēšanas mācīšanās ir balstītas uz pieeju – sākt ar nelieliem praktiskiem projektiem, pakāpeniski palielinot sarežģītību, līdz spējai izstrādāt kompleksus projektus. Uzdevumi tika strukturēti tā, lai sākotnēji skolēns nostiprina pamata jēdzienus (piemēram, kā definēt mainīgos un funkcijas, kā sastādīt ciklus, kā atkļūdot), lai vēlāk tos izmantotu sarežģītākās lietās (kā definēt metodes klases ietvaros, kā pievienot ārējās bibliotēkas un izmantot tās savās funkcijās).
Viens no populārākajiem iesācēju projektiem ir uzbūvēt darāmo darbu lietotni, piemēram, programmesana2.lv daramo darbu lietotnes projekts - uzdevums.
Iepriekš skolēnam nācās meklēt informāciju, par HTML pamata elementiem, kā nolasīt lietotāja ievadīto vērtību no input
lauciņa, kā izveidot HTML elementu ar JS, kā piesaistīt HTML elementam click
notikuma klausītāju utt. Nācās lasīt dokumentāciju, atrast informāciju forumos, atkļūdot kodu un caur šo procesu apgūstot dažādas pamata prasmes.
Šobrīd atliek iekopēt MI asistentam uzdevuma noteikumus un 2 sekundēs ir gatavs kods:




Šeit ir iespēja pārliecināties, ka tas strādā: https://martinsberzins.github.io/2023_11_09_chat_gpt_solved_todo_project/ (kods)
Varētu uzskatīt, ka uzdevums ir atrisināts, bet mācīšanās nav notikusi!
Izaicinājums slēpjas tajā, ka eksāmens paredz, ka nedrīkst izmantot MI asistentus, bet skolēnam pašam ir jāsastāda kods.
Iespējas
Uzskatu, ka nebūtu pareizi aizliegt izmantot MI asistentus mācību laikā. Ir jāpieņem MI priekšrocības – spēja ātri uzrakstīt kodu, atkļūdot, testēt – bet mācīšanās ir jāpārceļ nākošajā līmenī. Ja iepriekš pietika ar "mācīties darot" piegājienu, tad šobrīd tas vairs nestrādā un mācīšanās ir jāpārceļ uz "mācīt citus" līmeni.

Plānošana
Plānošanas ir būtiska daļa no programmēšanas. Pirms rakstīt kodu ir būtiski izplānot, kādas komponentes ir nepieciešamas, kādas datu struktūras būs nepieciešamas, kā dati pārvietosies, kādas būs datu validācijas metodes. Mācīšanās procesā var izmanto dažādas metodes apgūt plānošanu, piemēram:
- Saskarnes skices – uzskicēt vienkāršotu saskarni, lai redzētu kādas HTML komponentes būs nepieciešamas, kā jāizskatās rezultātam.
- Datu struktūras skices - kādas informācijas vienības tiks izmantotas, kā tās būs savstarpēji saistītas, un kā tās tiks organizētas.
- Pseidokoda rakstīšana - aprakstīti svarīgākās programmas darbības funkcijas, ciklus, sazarojumus un citas programmēšanas konstrukcijas, lai plānotu programmas darbību.
- Plūsmas diagramma (flowcharts)– grafiski attēlot lietotāja mijiedarbību ar lietotni, datu plūsmu lietotnē, sazarojumu punktus.
Izpratnes veicināšana
Kad kods ir izstrādāts (arī ar MI asistenta palīdzību) un programma darbojas, ir svarīgi pārliecināties, ka skolēns ir izpratis uzdevuma un atrisinājuma būtību, ka ir spējīgs risinājumu paskaidrot. Tam var izmantot šādas metodes:
- Savstarpējā programmēšana – skolēni izstrādā atsevišķas koda daļas kādam lielākam uzdevumam. Tādējādi ir mudināti paskaidrot savu kodu viens otram, lai šīs daļas varētu darboties kopā.
- Koda pārskats - skolēni prezentē savu kodu klasei, skaidrojot savu risinājumu.
- Atkļūdošanas prezentācija – kodā ir ievadītas nelielas kļūdas, skolēns demonstrē klasei atkļūdošanas procesu.
Plānošana - Kods - Izpratne
MI priekšrocība ir ātrāka koda rakstīšana, tāpēc iegūto laiku var izmantot plānošanai un izpratnes veicināšanai.
Vispirms plānot, tad sarakstīt kodu (arī ar MI asistenta palīdzību), pēc tam to pārskatīt un demonstrēt izpratni. Tā skolēns vairākas reizes iziet cauri uzdevumam un atrisinājumam, līdz gūst izpratni par kodu un, ja nepieciešams, ir spējīgs izstrādāt risinājumu arī bez MI asistenta palīdzības.
MI kā mācīšanās asistents
Lai MI rīki efektīvāk palīdzētu mācīties, svarīgi saprast, kur un kā tos izmantot. Piemēram, lai saprastu, kā definēt funkcijas vai lietot ciklus, MI var būt kā palīgs, kas paskaidro pamatprincipus. Tomēr praktiskos uzdevumus vislabāk censties pašam izpildīt. Gadījumā, ja programma nestrādā un nekādi nevar atkļūdot, tad var prasīt MI asistenta palīdzību, lai noskaidrotu kļūdas iemeslus.
✅ Kā skolotāja asistentu | ❌ Kā programmēšanas asistentu |
---|---|
Ja skolotājs šo atbildētu | Ja skolotājs šo neatbildētu |
- Kā var definēt funkciju? | - Uzraksti funkciju; |
- Ko nozīmē async | - Uztaisi programmsaskarni (API); |
- Kāpēc funkcijas var definēt dažādi? | - Izveido datubāzes izsaukumu; |
- Ko dara class konstruktors? | - Nosaki lietotnes mērķauditoriju; |
- Kad lietot while, until, for? | |
- Kad labāk lietot array, bet kad object? | |
- Kāpēc nestrādā? |