Urrā, vakar (2018 gada 9. augustā) saņēmu salodētas pirmās platītes projektam Programmējam ar prieku.
Šobrīd un šeit ir īstā vieta un laiks lai izklāstītu projekta vēsturi un motivāciju. Latvijas Universitātes fizikas nodaļa katru gadu ir gatava uzņemt 60 jaunos studentus Fizikas bakalaura studiju programmā. Līdz šim, varbūt izņemot pagājušo gadu, tas izdevās. Diemžēl, pēc pirmā semestra ir ievērojams atbirums. Protams, esam izveidojuši speciālus studiju kursus, kas palīdzētu jaunajiem studentiem uzlabot savas iemaņas matemātikā un vienmēr esam gatavi individuāli konsultēt. Bet man likās, ka būtu ļoti labi, ja jau pirmajā semestrī studenti varētu apgūt ko bērnišķīgi aizraujošu. Manuprāt tas varētu būt programmēšana izmantojot Arduino un sākot ar 2016 gada rudeni pusi no studiju kursa “Datori un programmēšana 1” to arī darām.
Par mācību līdzekļiem. Pārskatīju dažādus gatavos komplektus, bet neviens no tiem mani “neuzrunāja”. Lielākoties, tie ir piemēroti interešu izglītībai, tas ir, nodarbības divas reizes nedēļā pa 2 stundām katra, pie kam klausītāji uz tām ne vienmēr ierodas regulāri. Tāpēc pasniedzējam ir jāveido daudz sīku uzdevumu un šie komplekti, kas bieži vien ir veidoti pēc principa “ko vēl tur varētu tādu lētu pielikt”, ir tieši tas, kas vajadzīgs! Mana situācija ir tieši pretēja: neliels skaits nodarbību, kuras klausītāji apmeklē regulāri (sapņot nav aizliegts), un kuru laikā iesācējiem ir jāiemāca virkne programmēšanas pamatprincipu. Bez tam, ir jābūt gatavam nodrošināt ar interesantu nodarbošanos tos studentus, kuriem jau ir priekšzināšanas un kuri tāpēc lekcijā plānotos uzdevumus apgūs ievērojami ātrāk. Tātad, ko es neatradu:
- Neatradu labu otro programmas piemēru. Pirmais vienmēr ir klasiskais Blink, bet otrajam jābūt kaut kam tikpat vienkāršam, bet daudz daudz interesantākam. Luksofors? Reāls luksofors ir 3D konstrukcija, bet trīs krāsainas lampiņas var ar divām 74 sērijas mikroshēmām novadīt [te būs links], priekš Arduino garlaicīgi. Reiz ar Kasparu Ērgli aizrunājāmies līdz 7 segmentu indikatoriem un es sapratu, tas ir tieši tas ko meklēju, tas pats Blink tikai reiz 7! Gatavas platītes neatradu (breadboard risinājums programmēšanas nodarbībā reāli nav izmantojams) un tas nav pārsteigums, jo tādai platītei nav nekāda cita pielietojuma kā tikai mācību procesā.
- Ļoti daudz uzdevumu var izveidot pēc principa “nospied pogu un iedegsies lampiņa” vai otrādi “kad iedegas lampiņa, nospied podziņu”. Parasti komplektos uz vienas mazplatītes ir vai nu viena spiedpodziņa vai arī viena lampiņa. Vairākas lampiņas un vairākas spiedpogas un rezultātā uz galda vadu jūklis! Tāpēc nolēmu izveidot platīti ar 3 spiedpogām un 3 lampiņām.
- Vairāki fiksētie slēdži dod iespēju izveidot interesantus programmēšanas uzdevumus. Lētākais veids ir DIP slēdži, taču te ir svarīga nianse: lētie slēdži no Ebay, kurus izmantoju pirmajā komplektā, sāka nobrukt jau otrajā sezonā. Paldies maniem EDI kolēģiem, kas palīdzēja atrast slēdžus ar 10000 ciklu resursu!
- Sarežģītākas un gudrākas iekārtas pieslēdz un vada izmantojot I2C un SPI virknes līnijas. Lai studenti varētu sataustītu, kā tas strādā, nolēmu iedot viņiem paspēlēties mikroshēmu 74HC595. Te situācija līdzīga kā ar 7 segmentu indikatoru: breadbord risinājums neder, platītes ar lampiņām nav. Jātaisa pašam…
Visa tā rezultātā tapa komplekts, kuru arī lietoju gan Fizikas bakalaura studiju programmas realizācijā, gan Latvijas programmētāju dienu 2017 darbnīcā “Iegulto platformu Arduino programmēšanas pamati”, kas notika 2017 gada 13-17 februārī Elektronikas un datorzinātņu institūtā.
Pieredze rāda, ka šādus komplektus patstāvīgā mācību darba veikšanai vajadzētu izsniegt katram studentam. Un 2017 gadā ieguvām Latvijas Universitātes Fonda un Mikrotīkls atbalstu lai projekta “Programmējam ar prieku” ietvaros izstrādātu uzlabotu komplektu un izgatavotu to 100 eksemplāros.