60
Programmēšana I Pamatkursa programmas paraugs vispārējai vidējai izglītībai Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Programmēšana I - Skola2030

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Programmēšana I

Pamatkursa programmas paraugs vispārējai vidējai izglītībai

Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Materiāls izstrādāts sadarbojoties ar Latvijas Universitāti

Programmēšana I Pamatkursa programmas paraugs vispārējai vidējai izglītībai

Pamatkursa programmas paraugs ir izstrādāts Eiropas sociālā fonda projektā “Kompetenču pieeja mācību saturā” (turpmāk – Projekts).

Mācību satura izstrādi pirmsskolas, pamatizglītības un vispārējās vidējās izglītības pakāpē Projektā vadīja Dace Namsone un Zane Oliņa.

Pamatkursa programmas parauga izstrādi un sagatavošanu publicēšanai Projektā

vadīja Madara Kosolapova.

Pamatkursa programmas paraugu izstrādāja Māris Danne, Gundega Dēķena, Sergejs Zembkovskis. Pamatkursa programmas parauga izstrādē piedalījās

arī Edgars Bajaruns, Pāvils Jurjāns, Magone Una Rauba.

Mācību priekšmeta programmas paraugu izvērtēja ārējie eksperti: mācību satura recenzente Iveta Milta un zinātniskais recenzents Kaspars Kiris.

Projekts izsaka pateicību visām Latvijas izglītības iestādēm, kas piedalījās mācību satura aprobācijā.

ISBN 978-9934-540-97-4

Programmēšana I

3© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Saturs

Ievads 4

Kursa mērķis un uzdevumi 6

Mācību saturs 7

Mācību sasniegumu vērtēšanas formas un metodiskie

paņēmieni 8

Ieteikumi mācību darba organizācijai 11

Mācību satura apguves norise 13

Programmēšana I. Pamatkursa programma 15

Pielikumi 461. pielikums. Mācību priekšmetu kursu programmu paraugos

lietotie kodi 462. pielikums. Pamatkursā Programmēšana I plānotie skolēnam

sasniedzamie rezultāti 473. pielikums. Plānotie skolēnam sasniedzamie rezultāti caurviju

prasmēs, beidzot vispārējās vidējās izglītības pakāpi 534. pielikums. Skolēnam attīstāmie ieradumi programmēšanā

vispārējās vidējās izglītības pakāpē optimālajā apguves līmenī 555. pielikums. Pamatkursa Programmēšana I tematu pārskats 566. pielikums. Tehnoloģiju mācību jomas pamatkursu

tematu/moduļu pārskats 567. pielikums. Mācību satura apguvei izmantojamie mācību līdzekļi

un resursi 578. pielikums. Programmēšanas mācību priekšmeta īstenošanai

ieteicamā mācību vide 59

Programmēšana I

4© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Ievads

Kursa programmas struktūra

Pamatkursa Programmēšana I programmas (turpmāk – programma) paraugs ir veidots, lai palīdzētu skolotājiem īstenot Ministru kabineta 2019. gada 3. septembra noteikumos Nr. 416 “Noteikumi par valsts vispārējās vidējās izglītības standartu un vispārējās vidē-jās izglītības programmu paraugiem” (turpmāk – standarts) noteiktos plānotos skolēnam sasniedzamos rezultātus tehnoloģiju mācību jomā optimālajā mācību satura apguves līmenī.

Programmā iekļauti:• kursa mērķis un uzdevumi;• mācību saturs;• mācību sasniegumu vērtēšanas formas un metodiskie paņēmieni;• mācību satura apguves norise;• ieteikumi mācību darba organizācijai.

Katram programmas tematam piedāvāti gan plānotie skolēnam sasniedzamie rezultāti, gan to apguvei aptuveni paredzētais laiks, izmantojamās mācību metodes un nepieciešamie mācību līdzekļi. Mācību satura apguvei izmantojamo mācību līdzekļu apkopojošs uzskaitī-jums pievienots 7. pielikumā.

Programmā mācību saturs ir veidots atbilstoši standartā noteiktajiem tehnoloģiju mā ­cību jomas plānotajiem skolēnam sasniedzamajiem rezultātiem, no tiem atvasinot pamat­kursā Programmēšana I apgūstamos plānotos skolēnam sasniedzamos rezultātus optimā-lajā mācību satura apguves līmenī.

Mācību satura apguves norisē parādīts, kā pakāpeniski tiek sasniegtas standarta pra-sības zināšanu apguvē, izpratnes veidošanā, kā arī prasmju un vērtībās balstītu ieradumu attīstīšanā. Ieteicamā mācību satura apguves norise veidota ar detalizētiem tematiem. Katrā tematā ir norādīti plānotie skolēnam sasniedzamie rezultāti, to skaitā – ziņas (apraksta nozī-mīgākās temata apguves rezultātā iegūtās zināšanas un izpratni par mācību jomas lielajām idejām), prasmes, vērtībās balstīti ieradumi un kompleksi sasniedzamie rezultāti (raksturo skolēna spēju koordinēti lietot zināšanas, prasmes un ieradumus jaunās, neierastās situāci-jās). Katra temata ietvarā iekļautas arī nozīmīgākās skolēna darbības, kādas nepieciešamas

šo rezultātu sasniegšanai. Pamatkursa Programmēšana I programmas tematu pārskats pie-vienots 5. pielikumā. Tehnoloģiju mācību jomas tematu/moduļu pārskats pievienots 6. pie-likumā.

Programma veidota, paredzot, ka kursa apguvei vidējās izglītības pakāpē tiks atvēlē-tas 210 mācību stundas. Taču skolai ir iespējams mainīt (palielināt vai samazināt) mācību stundu skaitu kursā, taču samazinot to ne vairāk kā par 15 %. Ieteikumus mācību darba organizācijai skatīt programmas sadaļā “Ieteikumi mācību darba organizācijai”.

Programmas paraugam ir ieteikuma raksturs. Skolotāji var izmantot šo programmu vai arī pēc šī parauga izstrādāt savu programmu.

Izmantojot šo programmu, ir jāņem vērā, ka pirmajos trijos gados, uzsākot pilnveidotā mācību satura un pieejas īstenošanu, skolēns pamatizglītības pakāpē vēl nebūs apguvis visus plānotos skolēnam sasniedzamos rezultātus. Līdz ar to papildu uzmanību jāpievērš tam, lai visi skolēni apgūtu pamatiemaņas programmēšanā, jo, uzsākot pilnveidotā satura un pieejas īstenošanu, skolēniem šādas pieredzes vēl nav. Ņemot vērā to, ka pamatkursā Programmēšana I nav likts uzsvars uz vienu konkrētu programmēšanas valodu, skolai ir iespējams izvēlēties tādu valodu, kura ir vispiemērotākā skolas apstākļiem, iespējām un skolotāja sagatavotībai.

Mācību satura un pieejas akcenti

Vispārējās vidējās izglītības satura īstenošanas mērķis ir lietpratīgs skolēns, kurš apzinās savas personiskās spējas un intereses mērķtiecīgai personiskās un profesionālās nākot-nes veidošanai, kurš ciena sevi un citus, padziļina zināšanas, izpratni, prasmes un turpina nostiprināt vērtības un tikumus atbilstoši saviem nākotnes mērķiem, atbildīgi, inovatīvi un produktīvi darbojas paša, ģimenes, labklājīgas un ilgtspējīgas Latvijas valsts un pasaules vei-došanā. Vidējās izglītības pakāpes loma ir dot iespēju jauniešiem mācīties iedziļinoties atbil-stoši viņu interesēm un nākotnes mērķiem, padziļinot un vispārinot pamatizglītībā apgūto (10./11. klase), un mācoties dziļāk, šaurākā mācību jomu lokā (11./12. klase).

Lietpratība jeb kompetence ir indivīda spēja kompleksi lietot zināšanas, prasmes un paust attieksmes, risinot problēmas reālās dzīves mainīgās situācijās. Tā ir spēja adekvāti

Programmēšana I

5© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

lietot mācīšanās rezultātu noteiktā kontekstā (izglītības, darba, personiskajā vai sabiedriski politiskajā). Lietpratība jeb kompetence ir kompleksa – tā ietver zināšanas, izpratni, pras-mes un ieradumus, kas balstīti vērtībās.

Lai katrā mācību priekšmetā un kursā ikvienam skolēnam nodrošinātu mūsdienīgas lietpratības izglītību, būtiski ikvienam skolotājam neatkarīgi no mācību priekšmeta plānot un vadīt skolēna mācīšanos, izvirzot skaidrus sasniedzamos rezultātus, izvēloties atbilsto-šus un daudzveidīgus uzdevumus, sniedzot atbalstošu un attīstošu atgriezenisko saiti un iespēju mācīties iedziļinoties – skaidrot darbību gaitu, domāt par mācīšanos un sasniegto rezultātu; veidot fiziski un emocionāli drošu mācību vidi; regulāri sadarboties ar kolēģiem, kopīgi plānojot mācību satura īstenošanu un sekojot katra skolēna attīstības dinamikai, kā arī veikt nepieciešamos uzlabojumus mācību procesā, ņemot vērā katra skolēna individuā-lās mācīšanās un attīstības vajadzības.

Mācīšanās mērķu sasniegšanai skolotāji izmanto daudzveidīgas mācību organizācijas formas atbilstoši skolēna mācīšanās vajadzībām, optimālā un augstākā mācību satura apgu-ves līmeņa rezultātu sasniegšanai nozīmīgu daļu laika mācību procesā atvēlot mērķtiecīgi atbalstītam skolēna patstāvīgajam – pētnieciskajam, sabiedriskajam vai jaunrades – dar-bam. Šajā izglītības pakāpē skolotājiem svarīgi rosināt skolēnus laikus un mērķtiecīgi apzi-nāties savas intereses, turpmāko studiju un profesionālās darbības virzienus un iespējas, mācību procesā piedāvājot daudzveidīgas darbības un karjeras izglītības pieredzi.

Tehnoloģiju mācību jomas apguvē vidējās izglītības pakāpē lielāks uzsvars tiek likts uz prasmīgu dizaina procesa izmantošanu un inovatīvu, lietderīgu risinājumu modelēšanu, lai radītu programmatūru.

Vajadzību un iespēju apzināšana. Lai radītu idejas, skolēns apzina savas un citu vajadzī-bas, paradumus un citus apstākļus, kas rada vajadzību pēc konkrēta risinājuma un program-matūras. Skolēns apzinās savas spējas (ko viņš prot, zina) un pieejamos resursus (tehnoloģi-jas, rīki, laiks), ko patērēs konkrētu darbību veikšanai.

Ideju meklēšana un risinājuma izvēle. Ideju ģenerēšanas metodes ir viens no akcen-tiem pamatskolas posmā, tādēļ vidusskolā šīs metodes var aktīvi izmantot. Skolēns izmanto dažādas ideju radīšanas stratēģijas un izvēlas piemērotāko stratēģiju kompleksu problēm­situāciju risināšanai.

Plānošana. Skolēns plāno sava risinājuma izstrādei nepieciešamos resursus un secīgi veicamos darba soļus.

Izstrāde. Skolēns vispirms rada programmatūras prasību specifikāciju, dažādas risinā-juma idejas vai tikai dažu daļu piemērus, pēc tam izstrādā savu risinājumu patstāvīgi, darbu veicot atbildīgi un ievērojot darba drošības un ergonomikas prasības.

Testēšana un pilnveide. Atbilstoši iepriekš noteiktai programmatūras prasību specifikā-cijai un paredzētajai funkcionalitātei skolēns plāno testēšanas procesu, veic to un analizē iegūtos rezultātus, lai noteiktu nepieciešamās izmaiņas programmatūrā un uzlabotu izstrā-des procesu.

Izvērtēšana. Skolēns mācās novērtēt savas prasmes darba procesā un iespējas tās izmantot izaugsmes veicināšanā un programmatūras kvalitātes uzlabošanā. Skolēns mācās izvērtēt savu dizaina risinājumu pēc skaidri definētiem kritērijiem un sniegt atgriezenisko saiti citiem.

Ieviešana. Skolēns ievieš savu risinājumu, lai tas būtu publiski pieejams gala lietotājiem.

Padziļināti skolēni apgūst šādus dizaina procesa aspektus.Lietotāju izpēte, vajadzību analizēšana un ideju radīšana. Tiek apgūtas dažādas lie-

totāju izpētes metodes, kuras izmantojot iespējams noskaidrot lietotāju viedokli tiešā un netiešā veidā, atkarībā no izpētes mērķa (izpēte ideju radīšanai, prototipa funkcionalitāte, nepieciešamie uzlabojumi jau esošam risinājumam vai jauna izstrādei). Skolēns tās apgūst, lai spētu izvēlēties piemērotāko pieeju sava risinājuma izveidē.

Prototipēšana un variantu veidošana. Lai nonāktu līdz galarisinājumam, skolēns izstrādā dažādas pabeigtības pakāpes prototipus, veic to testēšanu un uzlabošanu. Risinājumu pro-totipi var tikt veidoti atšķirīgā pabeigtības pakāpē. Iespējams, ka galarisinājums netiek izvei-dots pilnībā, bet tiek veidotas detalizētas programmatūras daļas noteiktu funkciju veikšanai.

Procesu un resursu pārvaldība. Skolēni mācās programmatūras izstrādes procesa vadī-bas prasmes un tehnoloģiskos rīkus šo procesu atbalstam, mācās organizēt dažādus resur-sus, lai nodrošinātu risinājumu ieviešanu.

Skolotājs ir procesa virzītājs, piedāvājot atbalstu uzdevumu veikšanā, ievērojot dizaina procesa soļus un sniedzot padomu, kā izmantot dažādus tiešsaistes rīkus un programmē-šanu konkrētu mērķu īstenošanai.

Programmēšana I

6© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Kursa mērķis un uzdevumi

Tehnoloģiju mācību jomas apguves mērķis – skolēns mācās radīt dažādām mērķaudi-torijām, to vēlmēm un vajadzībām atbilstošus produktus, dizaina risinājumus un program-matūras, veic lietotāju izpēti, prototipēšanu, organizē risinājuma izstrādei nepieciešamos resursus un plāno risinājuma ieviešanu, izvērtē risinājumus atbilstoši dizaina vērtībām (ilgtspējīga attīstība, estētika, lietojamība, ētika, drošība un ekonomika) un iesaka uzlaboju-mus, lietpratīgi, droši un atbildīgi lieto mācību procesā un ikdienā nepieciešamo program-matūru, programmvadāmas ierīces un materiālu apstrādes ierīces un tehnoloģijas, skaidro zinātnes sasniegumu praktisko lietojumu tehnoloģiju attīstībā.

Pamatkursa Programmēšana I apguves mērķis un uzdevumi ir dot iespēju skolēnam • gūt priekšstatu par datorikas nozari, tās attīstības tendencēm, kā arī tās ietekmi un

nozīmi mūsdienu sabiedrības un industrijas attīstībā;• apgūt un lietot dažādas ikdienā noderīgas lietotnes, lai paaugstinātu sava mācību un

personiskā darba produktivitāti;• iedziļināties informācijas sistēmu un tiešsaistes rīku dažādībā un lietošanas apguvē, lai

nostiprinātu digitālās prasmes un izvēlētos atbilstošāko risinājumu ikdienišķās problēm­situācijās;

• iedziļināties programmatūras dzīves cikla modeļos un atbilstoši realizēt programmatū-ras izstrādes projektu, ievērojot lietotāju potenciālās vajadzības un iespējas, lai radītu idejas, plānotu un izstrādātu savus programmatūras risinājumus atbilstoši savām un citu vajadzībām;

• veidot priekšstatu par programmēšanas valodām, programmatūras izstrādes vidēm un tehnoloģijām, apgūt vismaz vienu no programmēšanas valodām, lai izstrādātu program-matūru vienkāršas, iepriekš definētas problēmas risinājumam;

• veidot prasmi saskatīt algoritmus vienkāršākos sadzīves un ražošanas procesos, forma-lizēt un pierakstīt tos, kā arī izmantot dotos gatavos un paša veidotos algoritmus un vienkāršākās datu struktūras programmatūras izstrādē;

• ievērot intelektuālā īpašuma tiesības un rīkoties atbildīgi digitālo tehnoloģiju izmanto-šanas procesā.

Kursa apguves priekšnosacījumi: apguves priekšnosacījumu nav.

Programmēšana I

7© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Mācību saturs

Tāpat kā pamatizglītībā, arī vidējās izglītības pakāpē mācību saturs ir veidots, fokusē-joties uz skolēnam būtiskāko, lai veidotos lietpratība (kompetence) kā komplekss skolēna mācīšanās rezultāts ilgākā laika periodā. Mācību saturs ir organizēts saskaņā ar mācību satura būtiskākajiem pamatjēdzieniem jeb lielajām idejām (Li), kuras skolēnam jāapgūst, lai veidotos vienota izpratne par apkārtējo pasauli un sevi tajā. Lielās idejas veido obligātā mācību satura strukturālo ietvaru; tām atbilstoši aprakstītas prasības mācību satura apguvei jeb plānotie skolēnam sasniedzamie rezultāti, pabeidzot noteiktu izglītības pakāpi.

Tehnoloģiju mācību jomas saturs ir strukturēts trijās lielajās idejās, kuras tiek kopīgi attīstītas visos tehnoloģiju mācību jomas kursos. Katra lielā ideja ir sadalīta apakšnodaļās un satur kompleksus sasniedzamos rezultātus. Sasniedzamie rezultāti formulēti no skolēna pozīcijām, akcentējot likumsakarības un skolēnam nozīmīgus mērķus.

Lielās idejas palīdz skolēnam uztvert apkārtējo pasauli un kopsakarības, ļauj fokusēties uz būtiskāko un, jau no pirmsskolas pēctecīgi attīstot izpratni, skaidri saprast, ko viņš mācās un kur viņam šīs zināšanas un prasmes noderēs. Lielās idejas ir ietvars, kas ļauj gan skolē-nam, gan skolotājam pievērst uzmanību galvenajam.

Tehnoloģiju mācību jomas lielās idejas, par kurām skolēns veido izpratni arī pamatkursā Pro­grammēšana I, atbild uz jautājumiem “kā?”, “ar ko?”, “kāpēc?” un tiek aktualizētas katrā tematā.

1. Lielā ideja (kā?) – “Dizaina risinājumi (produktu un informācijas dizains, vides risi-nājumi) tiek radīti dizaina procesā” – parāda, ka risinājumus izstrādā, ievērojot konkrētus dizaina procesa/risinājuma izstrādes soļus. Vidējās izglītības pakāpē papildu uzmanību pie-vērš padziļinātai lietotāju izpētei, lai radītu kvalitatīvus un lietojamus risinājumus, prototi-pēšanai un risinājuma variantu izstrādei, resursu pārvaldībai un arī risinājumu ieviešanai, kas vairāk vērsta uz pārdomātu risinājumu radīšanu un ieviešanu (nodošana lietotājam), kā arī sadarbības prasmēm, risinot starpdisciplinārus uzdevumus.

2. Lielā ideja (ar ko?) – “Atbilstošu un drošu materiālu un tehnoloģiju izvēle, to pras-mīga izmantošana dod iespēju radīt labākus dizaina risinājumus (produktu un informācijas dizaina, vides risinājumus)” – veido atziņu par to, ka katra risinājuma izstrādē tiek izman-toti dažādi materiāli un rīki, ar kuriem iespējams panākt konkrētu rezultātu. Pamatskolā datorikā uzsvars tiek likts uz pieredzes iegūšanu darbā ar dažādām lietotnēm, kuras palīdz veikt mācību uzdevumus, toties vidējās izglītības pakāpē tiek akcentēts darbs ar dažādām lietotnēm, ar kurām iespējams modelēt un izstrādāt programmētus risinājumus.

3. Lielā ideja (kāpēc?) – “Dizaina risinājumus (produktu un informācijas dizaina, vides risinājumus) un programmatūru lieto un rada atbilstoši konkrēta lietotāja un sabiedrības vajadzībām, vēlmēm un iespējām” – dod kontekstu veiktajām darbībām un apskata to, kādos nolūkos un no kā iedvesmojoties tiek veidoti jauni risinājumi, vai ir jēgpilni tādus radīt. Pamatkursā Programmēšana I vidusskolā uzsvars tiek likts uz programmētu risinā-jumu nozīmi ikdienā, zinātnes un tehnoloģiju savstarpēju saistību un nozīmi jaunu risinā-jumu radīšanā.

Standartā plānotie skolēnam sasniedzamie rezultāti mācību jomā un no tiem atvasinātie sasniedzamie rezultāti programmā ir kompleksi – galarezultāts veidojas darbībā, kura ietver gan vienas vai vairāku mācību jomu zināšanas, izpratni un prasmes, gan caurviju prasmes, gan vērtībās balstītus ieradumus. Katra mācību priekšmeta skolotāja viens no uzdevumiem ir visu to attīstīt.

Kursā plānotie skolēnam sasniedzamie rezultāti saskaņā ar vispārējās vidējās izglītības standartu (skatīt 9. pielikumu Ministru kabineta 2019. gada 3. septembra noteikumiem Nr. 416) iekļauti programmas 2. pielikumā.

Standartā plānotie skolēnam sasniedzamie rezultāti caurviju prasmēs vispārējās vidējās izglītības pakāpes noslēgumā iekļauti programmas 3. pielikumā.

Pamatkursā Programmēšana I tiek apgūtas visas caurviju prasmes, bet īpaši tiek attīstīta problēmrisināšana, digitālā pratība, kā arī pilsoniskās līdzdalības caurvija un jaunrade un uzņēmējspēja.

Problēmrisināšanas prasmju attīstība notiek, izmantojot dizaina domāšanu, lai ar daudzveidīgu metožu paņēmieniem iegūtu nepieciešamo informāciju par lietotāju vēlmēm, vajadzībām un iespējām, risinātu dažādas problēmsituācijas un radītu jēgpilnus, funkcio-nālus risinājumus. Digitālā pratība tiek izmantota un attīstīta, daudzveidīgās mācību aktivitātēs lietojot digitālās tehnoloģijas. Skolēns analizē jau esošus risinājumus, meklē tajos uzlabojumus un rada savus risinājumus, kurus iespējams lietot dažādām lietotāju grupām, tādējādi darbinot pilsoniskās līdzdalības caurviju. Skolēns attīsta arī jaunrades un uzņēmēj spējas caurviju, jo nemitīgi strādā pie dažādu jaunrades darbu izstrādes un plāno to ieviešanu.

Skolēnam attīstāmie ieradumi tehnoloģiju mācību jomā iekļauti 4. pielikumā.

Programmēšana I

8© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Mācību sasniegumu vērtēšanas formas un metodiskie paņēmieni

Vērtēšanas pieeja un pamatprincipi

Viens no svarīgākajiem priekšnoteikumiem, īstenojot mūsdienīgu izglītību, kuras rezul-tāts ir patiesa izpratne, spēja izmantot skolā apgūto neierastās situācijās un lietpratība, ir esošās vērtēšanas prakses pārvērtēšana, atbilstoši saskaņojot vērtēšanas mērķi, formu un saturu.

Vērtēšanas uzsvars mainās no skolēna mācību sasniegumu novērtēšanas uz vērtēšanu, lai uzlabotu mācīšanos. Vērtēšana, lai uzlabotu mācīšanos, ir efektīvas atgriezeniskās saites sniegšana skolēnam, dodot viņam iespēju un laiku uzlabot savu sniegumu atbilstoši plāno-tajiem skolēnam sasniedzamajiem rezultātiem un vērtēšanas kritērijiem.

Vērtēšana primāri ir neatņemama mācīšanās sastāvdaļa, kas gan skolotājam, gan sko-lēnam ļauj plānot uzlabojumus mācību procesā. Vērtēšana nav tikai vērtējuma izlikšana, piemēram, atzīmes veidā.

Vērtēšanas uzsvaru maiņa ir svarīga arī skolas līmenī. Kļūst nozīmīgi veidot sistēmas, kuras ļauj sekot līdzi katra skolēna izaugsmei un sniegt atbalstu tieši tajā laikā un vietā, kad un kur tas ir nepieciešams.

Vērtēšanai standartā ir noteikti šādi pamatprincipi.1. Sistēmiskuma princips – mācību snieguma vērtēšanas pamatā ir sistēma, kuru raksturo

regulāru un pamatotu, noteiktā secībā veidotu darbību kopums.2. Atklātības un skaidrības princips – pirms mācību snieguma demonstrēšanas skolēnam

ir zināmi un saprotami plānotie sasniedzamie rezultāti un viņa mācību snieguma vērtē-šanas kritēriji.

3. Metodiskās daudzveidības princips – mācību snieguma vērtēšanai izmanto dažādus vēr-tēšanas metodiskos paņēmienus.

4. Iekļaujošais princips – mācību snieguma vērtēšana tiek pielāgota ikviena skolēna dažā-dajām mācīšanās vajadzībām, piemēram, laika dalījums un ilgums, vide, skolēna snie-guma demonstrēšanas veids, piekļuve vērtēšanas darbam.

5. Izaugsmes princips – mācību snieguma vērtēšanā, īpaši mācīšanās posma noslēgumā, tiek ņemta vērā skolēna individuālā mācību snieguma attīstības dinamika.

Vērtēšanas norises laiku mācību procesā un biežumu, saturu, uzdevuma veidu, vērtē-šanas formu un metodiskos paņēmienus, vērtēšanas kritērijus, vērtējuma izteikšanas veidu un dokumentēšanu izvēlas atbilstoši vienam no trim vērtēšanas mērķiem – diagnosticējošā, formatīvā vai summatīvā vērtēšana. Informācija par tiem ir apkopota tabulā.

Programmēšana I

9© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Vērtēšanas Vērtē- veidišanas aspekti

Diagnosticējošā vērtēšana Formatīvā vērtēšana Summatīvā vērtēšana

Vērtēšanas mērķi Noteikt skolēna apgūtās zināšanas, izpratni, prasmes, vērtībās balstītus ieradumus un kompleksus sasniedzamos rezultātus (turpmāk – plānotos skolēnam sasniedzamos rezultātus) mācību procesa plānošanai un pilnveidei, piemēram, turpmāko plānoto skolēnam sasniedzamo rezultātu precizēšanai, mācību uzdevumu izvēlei.

Noteikt skolēna apgūtos sasniedzamos rezultātus atgriezeniskās saites sniegšanai skolēnam un skolotājam, lai uzlabotu skolēna sniegumu un plānotu turpmāko mācību procesu.

Veicināt skolēna mācību motivāciju attīstīt pašvadītas mācīšanās prasmes, iesaistot viņu vērtēšanas procesā.

Noteikt skolēna apgūtos sasniedzamos rezultātus mācību rezultāta novērtēšanai un dokumentēšanai.

Summatīvās vērtēšanas rezultātus var izmantot arī, piemēram, lai uzlabotu skolēna sniegumu, izvērtētu mācību procesā izmantotās metodes, pieņemtu lēmumus par turpmāko darbu.

Norises laiks mācību procesā un biežums

Ieteicams veikt temata, mācību kursa vai mācību gada sākumā.

Veic mācību procesa laikā. Skolotājs to organizē pēc nepieciešamības.

Veic mācīšanās posma (piemēram, temata, vairāku tematu vai temata loģiskās daļas, mācību gada, izglītības posma vai pakāpes) noslēgumā.

Vērtēšanas saturs Saturu veido iepriekšējā mācīšanās posmā plānotie skolēnam sasniedzamie rezultāti, kuri nepieciešami turpmākā mācību satura apguvē.

Saturu veido plānotie skolēnam sasniedzamie rezultāti mācīšanās posma laikā.

Saturu veido plānotie skolēnam sasniedzamie rezultāti mācīšanās posma noslēgumā.

Vērtēšanas uzdevumu veidi

Uzdevuma veidu skolotājs izvēlas atbilstoši plānotajam skolēnam sasniedzamajam rezultātam. Tas var būt, piemēram, atbilžu izvēles uzdevums, īso atbilžu uzdevums, strukturēts uzdevums, esejas tipa uzdevums, uzdevums, kurā skolēns var demonstrēt savu sniegumu darbībā vai izstrādājot produktu.

Vērtēšanas formas un metodiskie paņēmieni

Mutiski, rakstiski, praktiski vai kombinēti.

Novērošana, aptauja, uzdevumu risināšana, darbs ar tekstu, vizualizēšana, projekts, diskusija, prototips, darba plāns, resursu pārvaldības plāns, rasējums, skices, vizuālie materiāli u. tml.

Vērtēšanas kritēriji, to izveide

Kritēriji nepieciešami vērtēšanas objektivitātes nodrošināšanai. Kritērijus izstrādā skolotājs atbilstoši plānotajam skolēnam sasniedzamajam rezultātam, vērtēšanas formai un metodiskajam paņēmienam. Kritēriju izstrādē un vērtēšanā var iesaistīt skolēnus, lai pilnveidotu skolēna pašvadītas mācīšanās prasmes.

Vērtējuma izteikšanas veids un dokumentēšana

Vērtējumu izsaka, dokumentē un komunicē atbilstoši mērķauditorijai (piemēram, skolēns, kolēģis, atbalsta personāls, skolas vadība, vecāks), lai mērķtiecīgi atbalstītu skolēna mācīšanos un sekotu līdzi skolēna sniegumam ilgtermiņā. Vērtējumu var izteikt apguves līmeņos, procentos, punktos, ieskaitīts/neieskaitīts u. tml.

Vērtējumu vidējās izglītības pakāpē izsaka 10 ballu skalā katrā mācību priekšmeta kursā atbilstoši plānotajiem skolēnam sasniedzamajiem rezultātiem.

Programmēšana I

10© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Vērtēšanas saturs, kritēriji, formas un metodiskie paņēmieni

Pamatkursā mācību priekšmeta programmā tematu ietvaros paredzēti četru veidu plā-notie skolēnam sasniedzamie rezultāti: ziņas, prasmes, vērtībās balstīti ieradumi, komplekss sasniedzamais rezultāts. Plānojot vērtēšanu, skolotājam svarīgi izvēlēties plānotajam sko-lēnam sasniedzamajam rezultātam atbilstošus kritērijus, metodiskos paņēmienus un uzde-vumu vērtēšanas veidu.

Ziņu apguve parāda skolēna izpratni. Tā attiecas uz standartā plānotajiem skolēnam sasniedzamajiem rezultātiem, kuri parasti sākas ar darbības vārdiem “apraksta”, “skaidro”, “pamato” u. c. Piemēram: “Programmējot ir jāievēro atbilstošās programmēšanas valodas sintakse”; plānoto skolēnam sasniedzamo rezultātu apguvi skolēns parāda, veicot uzdevu-mus, risinot problēmas, rakstot kodu u. tml. To vērtē atbilstoši kritērijiem.

Prasmju apguvi skolēns demonstrē darbībā (piemēram, modelē, attēlo, aprēķina); to vērtē, izmantojot snieguma līmeņa aprakstu. Piemēram: “Deklarē un inicializē mainīgo, pie-šķir tam vērtību”.

Ieradumus, kas balstīti vērtībās, skolēns demonstrē darbībā; tos vērtē, novērojot sko-lēna darbību ilgākā laika posmā, īpaši situācijās, kuras ietver izvēles iespējas. Piemēram: “Attīsta ieradumu izprast un risināt kompleksas problēmas, sadalot lielākas problēmas vai-rākās mazās”. Ieradumus vērtē, izmantojot snieguma līmeņa aprakstu.

Kompleksu sasniedzamo rezultātu apguvi skolēns demonstrē darbībā. Piemēram: “Mērķim atbilstošā programmēšanas valodā izstrādā nelielu programmu, kura atbilst dotai specifikācijai, izmantojot pirmkoda redaktoru un ievērojot iteratīvo projekta izstrādes metodi”. Kompleksa sasniedzamā rezultāta vērtēšanai izmanto dažādas formas – rakst­veida, mutvārdu vai kombinēts pārbaudes darbs, individuāls vai grupas projekts u. c. Kom-pleksam sasniedzamajam rezultātam raksturīgs vairāku pazīmju kopums, ko vērtē, izvirzot atbilstošus snieguma vērtēšanas kritērijus. Kompleksu sasniedzamo rezultātu vērtē, izman-tojot snieguma līmeņu aprakstu.

Programmēšana I

11© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Ieteikumi mācību darba organizācijai

Satura starpdisciplinaritāte

Plānojot kursa satura apguvi, jāņem vērā, ka starp kursiem pastāv vairāki starpdiscipli-naritātes līmeņi, kas izpaužas apgūstamajās prasmēs. Svarīgākie aspekti ir šādi. • Zinātniskā valodas stila un zinātniskā teksta izstrādes jautājumi ir aktuāli visu kursu saturā

vidējās izglītības pakāpē; latviešu valodas kursā optimālajā mācību satura apguves līmenī tiek attīstīta un pilnveidota izpratne par zinātniskā stila īpatnībām un tā izmantojumu tek-stu veidošanā (zinātniska teksta uzbūve, argumentācija, teksta noformēšanas prasības, at sauču veidošana, zinātniskā stila izteiksmes līdzekļi un gramatiskās īpatnības, iesaiste diskusijā), taču citu mācību jomu kursos tiek attīstītas un pilnveidotas skolēna prasmes lasīt un veidot savas nozares zinātniskos tekstus, pievēršot uzmanību zinātniskā teksta struk tū­ras, metožu izvēles un noformēšanas, kā arī terminoloģijas lietojuma īpatnībām, tādēļ sva-rīgi plānot šo prasmju nostiprināšanu saziņā ar latviešu valodas skolotāju. Programmēšanas nozarē ir būtiski sekot līdzi jaunumiem terminoloģijā, lai ieturētu zinātnisko valodas stilu.

• Lai skolēns sasniegtu B2 (spēja lietot svešvalodu mācību un profesionālajām vajadzī-bām) valodas apguves līmeni vismaz vienā svešvalodā vidējās izglītības pakāpē, ne tikai svešvalodu, bet arī visu citu mācību priekšmetu skolotāju uzdevums ir dot iespēju sko-lēniem uzlabot savas svešvalodu zināšanas ar mācību saturu saistītā kontekstā, pie-mēram, izmantojot daudzveidīgus mācību resursus svešvalodās, vadot stundas pilnībā vai daļēji svešvalodās, sadarbojoties ar svešvalodu skolotāju. Pasaulē vispārpieņemta IT jomas darbības valoda ir angļu valoda. Ne visi nepieciešamie termini laikus būs pie-ejami latviešu valodā, ne visi valodas ekspertu piedāvātie termini iedzīvosies līdzās jau senāk lietotiem anglicismiem. Tāpēc mēs aicinām latviešu valodas terminiem līdzās ieka-vās likt atbilstošo angļu valodas terminu, lai dotu skolēniem iespēju meklēt un izmantot resursus, kas ir pieejami angļu valodā: iznākušās grāmatas, internetā pieejamos resursus (dokumentāciju, mācību video, lietotāju forumus un atvērtā koda projektu komentārus).

• Kompleksu problēmsituāciju risināšanai iespējams izvēlēties citu kursu saturu – pro­blē mas, kuras aktualizētas kādā jomā, bet to risinājumu iespējams veidot ar program-mēšanas pa līdzību. Šīs problēmas ietver datu apstrādi un analīzi, bet to saturs var būt, piemēram, ar matemātiku saistīts vai arī sociāli nozīmīgs. Skolēnus ieteicams mudināt izvēlēties tādas pro blēmsituācijas, kuras ir aktuālas citu kursu ietvaros, nozīmīgas skolas vai vietējās kopienas vidū.

Stundu sadalījums/grafiks

Pamatkursu Programmēšana I iespējams īstenot dažādā laika grafikā. Kurss var tikt īste-nots viena mācību gada laikā, regulāri katru nedēļu vai arī citā laika periodā. Kursu vēlams īstenot secīgi, lai skolēns ar katra temata apgūšanu iegūtu plašāku ieskatu programmējamu risinājumu tapšanā un pakāpeniski iegūtu padziļinātas prasmes šai jomā. Katrā tematā ir norādīts ieteicamais laiks tā apguvei (20–50 mācību stundas), mācību stundu plānu var veidot arī ļoti intensīva projekta veidā. Šādi kursu iespējams apgūt arī īsākā laika periodā (semestra laikā), vai arī īstenot pa dažiem tematiem katrā semestrī, tā visu kursa saturu apgūstot divu gadu laikā, ja paredz, ka augstākā līmeņa kursu var apgūt gada laikā.

Lai padziļināti apgūtu dizaina procesu un iedziļinātos programmēšanas nozarē, ietei-cams mācību procesu organizēt vismaz dubultstundās, tā nodrošinot iespēju skolotājam veltīt individuālu laiku katra skolēna konsultēšanai un personalizētai pieejai (sīkāk skatīt “Ieteikumi mācību darba organizācijai”).

Kursa sasniedzamo rezultātu apguvei skolotājam svarīgi izmantot daudzveidīgas mācību organizācijas formas, nozīmīgu daļu laika mācību procesā atvēlot mērķtiecīgi atbalstītam skolēna patstāvīgajam – pētnieciskajam, jaunrades vai sabiedriskajam – darbam. Tādēļ sabalansēti jāplāno mācību darbs stundā, atvēlot atbilstošu laiku skolotāja mērķtiecīgi vir-zītam un atbalstītam skolēnu patstāvīgajam darbam klasē, šim procesam izmantojot skolā vai kopienā izmantojamos informatīvos resursus. Būtiski, lai skolēna darbs tiktu dokumen-tēts dažādos procesa posmos, fiksējot informācijas meklēšanu par konkrēto situāciju/pro­blēmu/nozari, ideju radīšanu un izstrādājuma koncepciju, aprakstus, tehnisko specifikāciju, prototipus u. tml., plānošanu, izstrādi un testēšanu. Tikpat svarīgi visu mācību priekšmetu skolotājiem izsvērti plānot un savstarpēji koordinēt skolēnu patstāvīgā darba apjomu un saturu ārpus mācību stundām, paredzot, ka skolēni vidēji nedēļā papildus tam veltīs aptuveni trešdaļu no kursa mācību stundu skaita.

Ja pamatizglītības pakāpē nav apgūti programmēšanas prasmju pamati, kurus pare-dzēts apgūt Datorikas mācību priekšmetā, tad šī mācību kursa sākumā būtu lietderīgi iegūt zināšanas un pamatprasmes vairākos programmēšanas aspektos, tam veltot papildu 20–30 mācību stundas, attiecīgi saīsinot programmas paraugā ieteikto laiku pārējiem kursa tematiem.

Programmēšana I

12© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Programmēšanas valodu apskats, to attīstība un lietojums Izstrādes vide, pirmkoda redaktori Programmēšanas pamatprincipi Funkcijas un kontroles struktūras

• Darba drošība un ergonomika darbā ar datoru

• Programmēšanas jēdziens• Tehnoloģiju nozīme zinātnes attīstībā• Programmēšanas valodas lietojums• Programmētāju iespējas darba tirgū• Programmēšanas valodas kompilatora

vai interpretatora uzstādīšana• Pirmkoda redaktora, valodas

kompilatora, interpretatora vai tiešsaistes redaktora izmantošana

• Interaktīvas vides iespējas un tūlītējā koda izpilde

• Pirmkoda rediģēšanas iespējas• Koda redaktoru iebūvētā

funkcionalitāte un integrētā izstrādes vide

• Mainīgo veidošana programmēšanā• Mainīgo pamattipi un koda pieraksta

sintakse• Vienkāršas programmatūras izstrāde

• Funkciju koncepts un to lietošana programmēšanā

• Iebūvētās funkcijas• Funkcijas definēšana• Kontroles struktūras un elementi• Algoritmu shematiskais pieraksts

(blokshēmas, pseidokodi)• Būla mainīgais (boolean)• Kompleksu uzdevumu analīze• Uzdevumu sadalīšana posmos

Programmēšana I

13© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Mācību satura apguves norise

Mācību satura apguves norise ietver1) katrā mācību gadā apgūstamos tematus;2) tajos plānotos skolēnam sasniedzamos rezultātus;3) apguvei paredzēto laiku;4) nepieciešamās skolēna darbības sasniedzamo rezultātu apguvei;5) tematu apguvei izmantojamos mācību līdzekļus un metodiskos paņēmienus.

Šajā sadaļā ar detalizētu tematu ietvaru palīdzību parādīts, kā pakāpeniski tiek sasnieg-tas standarta prasības zināšanu apguvē, izpratnes veidošanā, prasmju un vērtībās balstītu ieradumu attīstīšanā.

Tematā “Kā uzrakstīt kodu pēc dotas specifikācijas?” (30 mācību stundas) skolēns iepa-zīstas ar programmatūras prasību specifikācijas ideju, nepieciešamību un tās realizēšanu koda veidā. Šajā tematā skolēns apgūst prasmi lasīt programmatūras prasību specifikāciju un tajā definētās prasības īstenot konkrētā programmēšanas valodā. Skolēns izmanto ver-siju vadības sistēmu izejas koda glabāšanai un pamato šādas sistēmas nepieciešamību.

Tematā “Kā izplānot un izveidot lietotājam atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?” (30 mācību stundas) uzsvērts programmatūras izstrādes process un tā vadība. Šajā tematā skolēns iepazīst dažādas metodes lietotāju vajadzību un ieradumu uzzināšanai un apgūst, kā iegūtos datus var izmantot programmatūras prasību specifikācijas izstrādē. Skolēns iepazīst dažādus programmatūras projektu izstrādes un dokumentācijas rīkus un to iespējas, kā arī izstrādā prasību specifikāciju konkrētai programmatūrai. Skolēns vingrinās izmantot projekta vadības metodes un digitālos rīkus.

Tematā “Kā automātiski apstrādāt un attēlot datus?” (40 mācību stundas) skolēns pastiprinātu vērību pievērš datu apstrādei un datubāzēm kā nepieciešamai programmatūras projektu sastāvdaļai, kā arī apskata dažādus datu apstrādes algoritmus un to piemērus. Šajā tematā skolēns apgūst arī informācijas dizaina pamatprincipus un noformē datus struktu-rētā un saprotamā veidā.

Tematā “Kā sistemātiski pārbaudīt un atkļūdot risinājumu?” (20 mācību stundas) skolēns apgūst programmatūras kļūdu meklēšanu un novēršanu, testēšanu atbilstoši specifikācijai

un testēšanu, kuru veic lietotājs, lai pilnveidotu algoritmu, kā arī mācās plānot programma-tūras resursus.

Tematā “Kā izvēlēties un efektīvi savā projektā izmantot jau esošu risinājumu?” (40 mācību stundas) uzsvērta objektorientētas programmēšanas pamatprincipu apguve un atbilstošu atvērtā koda bibliotēku iekļaušana programmēšanas projektā. Skolēns apskata arī dažādu datortīklu uzbūves veidus, datu šifrēšanu un mašīnmācīšanās pamatprincipus.

Lai arī katrā no šiem tematiem paredzēts liels praktiskā darba īpatsvars, pēdējā tematā “Kā īstenot risinājumu?” (50 mācību stundas) plānota apjomīga patstāvīga projekta izstrāde, kura ietvaros jāveic pilns programmatūras izstrādes cikls un skolēnam ir iespēja demonstrēt kursā apgūtās prasmes un iemaņas.

Katra temata ietvaru parāda tematu ietvara struktūras paraugs. Programmā lietoto kodu skaidrojums pievienots 1. pielikumā.

Programmēšana I

14© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Temata ietvara struktūras paraugs

Temata numurs un nosaukums Temata numurs un nosaukums Temata numurs un nosaukums Temata numurs un nosaukums Temata numurs un nosaukums

Temata apguvei ieteicamais laiks

Temata apguves mērķis – tematā plānoto skolēnam sasniedzamo rezultātu kopums un apguves pamatojums.

Sasniedzamie rezultāti

Ziņas Prasmes

Apraksta nozīmīgākās temata apguves rezultātā iegūtās zināšanas un izpratni par mācību jomas lielajām idejām. Iekavās norādīts kods standarta attiecīgās mācību jomas plānoto skolēnam sasniedzamo rezultātu tabulā, uz kuru lielo ideju attiecas konkrētā ziņa.

Mācību priekšmetam specifiskās un vispārīgās jeb caurviju prasmes, ko skolēns apgūs attiecīgajā tematā.

Komplekss sasniedzamais rezultāts Ieradumi

Skolēna spēja koordinēti lietot zināšanas, prasmes un ieradumus jaunās, neierastās situācijās. Iekavās norādīts kods no standarta attiecīgās mācību jomas plānoto skolēnam sasniedzamo rezultātu tabulas. Ja tematā tiek sasniegts tabulā minētais plānotais skolēnam sasniedzamais rezultāts pilnībā, pirms koda iekļauta vienādības zīme.

Vērtībās balstīti ieradumi, kuru attīstīšanai plānots pievērst pastiprinātu uzmanību attiecīgajā tematā.

Jēdzieni – nozīmīgākie jēdzieni, par kuriem skolēns gūs izpratni tieši šajā tematā.

Temata apguves norise

Temata vienuma nosaukums Tematā plānoto skolēnam sasniedzamo rezultātu apguvei nepieciešamās skolēna darbības. Tabula veidota, grupējot apgūstamos sasniedzamos rezultātus un katrai sasniedzamo rezultātu grupai jeb temata vienumam piedāvājot nepieciešamās skolēna darbības. Tabulā nav uzskaitītas visas iespējamās skolēna darbības, norādīts uzdevumu skaits, vingrināšanās ilgums vai intensitāte. Galvenā uzmanība pievērsta skolēna darbību veidiem un būtībai.

Temata vienuma nosaukums

Temata vienuma nosaukums

Mācību līdzekļi – tieši šī temata apguvei nepieciešamo mācību līdzekļu uzskaitījums.

Metodiskais komentārs – attiecīgā mācību priekšmeta nozīmīgu saturisku vai metodisku jautājumu skaidrojums, kas aktuāls tieši šī temata apguvē.

Papildiespējas – papildu idejas un ieteikumi, kā vēl paplašināt un padziļināt skolēna mācīšanās pieredzi attiecīgajā tematā, piemēram, ieteikumi mācību ekskursijām, pētniecības projektiem.)

Programmēšana I Pamatkursa programma

Programmēšana I

16© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt

un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi

savā projektā izmantot jau esošu

risinājumu?

6. Kā īstenot risinājumu?

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

Ieteicamais laiks temata apguvei: 30 mācību stundas.

Temata apguves mērķis: izstrādāt neliela apjoma programmēšanas risinājumu, rakstot kodu, kas atbilst dotai specifikācijai, lietojot atbilstošu pirmkoda redaktoru un saglabājot kodu kādā no versijas kontroles sistēmām.

Programmēšana I

17© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Sasniedzamie rezultāti

Ziņas Prasmes

• Ergonomiska darba vide var stimulēt produktīvu darbu. (T.Li.3.)• Programmēšanas valoda jāizvēlas atbilstoši risināmajai problēmai. (T.Li.2.)• Programmējot ir jāievēro atbilstošās programmēšanas valodas sintakse. (T.Li.2.)• Dažādās programmēšanas valodās ir līdzīgi programmēšanas pamatprincipi,

bet atšķiras valodu sintakse. (T.Li.2.)• Lai nedublētu pirmkodu, izmanto cikla konstrukcijas vai funkcijas. (T.Li.2.)• Rakstot kodu, jāievēro koda pieraksta stils, lai kods būtu vieglāk lasāms un saprotams.

(T.Li.2.)• Programmējot kodu nepieciešams komentēt, lai padarītu to sev un citiem vieglāk

uztveramu. (T.Li.2.)• Programmatūras dzīves ciklā ir septiņi galvenie posmi: plānošana, analīze,

projektēšana, attīstība, testēšana, ieviešana, uzturēšana. (T.Li.1.)• Versiju vadības rīki atvieglo koda izmaiņu saglabāšanu un atjaunošanu, kā arī ērtu

veidu kā tos ir lietderīgi izmantot, ja projektā sadarbojas vairāki izstrādātāji. (T.Li.2.)• Programmatūras prasību specifikācijā ir izstrādātājam saprotamā veidā definēts

problēmas risinājums. (T.Li.2.)

• Izvēlas un lieto tehnoloģijas, izvērtējot to radītos riska faktorus cilvēka veselībai. (T.V.2.1.1., T.V.3.1.1., T.V.3.1.4.)

• Izvēlas konkrētam mērķim piemērotāko programmēšanas valodu, apsverot programmēšanas valodu iespējas un ierobežojumus. (T.O.2.4.12.)

• Deklarē un inicializē mainīgo, piešķir tam vērtību. (T.O.2.4.13.)• Pielāgo savu darba vietu, ievērojot atbilstību ergonomikas prasībām. (T.V.3.1.1., T.O.3.1.1.)• Veido jēgpilnus mainīgo un funkciju nosaukumus. (T.O.2.4.8.)• Lieto standarta ievadi un izvadi. (T.O.2.4.13.)• Lieto zarošanās konstrukcijas un loģiskās izteiksmes. (T.O.2.4.13.)• Lieto cikla konstrukcijas. (T.O.2.4.13.)• Veidojot programmu, izmanto funkcijas. (T.O.2.4.13.)• Lieto programmēšanas valodas dokumentāciju un palīdzības sistēmu. (T.O.2.4.10.)• Ievēro vienotu koda pieraksta stilu. (T.O.2.4.8.)• Rakstot kodu, izmanto izstrādes vidē iebūvētās iespējas lietotāja darba produktivitātes

paaugstināšanai. (T.O.2.3.2.)• Salīdzina jau esošu programmatūru ar tās specifikāciju, raksturo specifikācijā

izmantotos paņēmienus un nosauc, kādas darbības veiktas, lai to izstrādātu. (T.V.1.1.1.)• Programmatūras izstrādes procesā lieto versiju vadības rīku. (T.O.2.4.9.)• Izstrādā vienkāršu programmatūru atbilstoši programmatūras prasību specifikācijai

un uzdevumam. (T.O.2.4.5.)• Analizē vienkāršus ikdienas darba procesus, saskata automatizācijas iespējas tajos

vai to daļās. (T.O.2.4.1.)

Komplekss sasniedzamais rezultāts Ieradumi

Mērķim atbilstošā programmēšanas valodā izstrādā nelielu programmu, kura atbilst dotai specifikācijai, izmantojot pirmkoda redaktoru un ievērojot iteratīvo projekta izstrādes metodi. (T.V.1.3.1., T.V.1.3.2., T.O.2.4.3., T.O.2.4.8., T.O.2.4.13., T.O.2.3.2.)

• Attīsta ieradumu izprast un risināt kompleksas problēmas, lasot doto programmatūras prasību specifikāciju. (Tikums – gudrība; vērtība – darbs)

• Attīsta ieradumu sekmīgi darboties digitālajā vidē, izmantojot versiju vadības sistēmu. (Tikums – gudrība; vērtība – darbs)

Jēdzieni: mainīgais (variable), deklarēt (declare), inicializēt (initialise), funkcija (function), kompilators (compiler), interpretators (interpreter), cikls (loop), zarošanās (branching), loģiska izteiksme (boolean expressions), pirmkods (source code), pseidokods (pseudocode), versiju vadības sistēma (version control system, VCS), repozitorijs (repository), mākoņpakalpojumi (cloud services).

Programmēšana I

18© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Temata apguves norise

Lasa specifikāciju Salīdzina programmas specifikāciju un tai atbilstošo kodu, lasot konkrētus specifikācijas dokumenta un datorprogrammas koda piemērus, lai saprastu specifikācijas mērķi, formātu un īstenošanu.

Salīdzina kodu, kas rakstīts dažādās programmēšanas valodās, analizē kopīgo un atšķirīgo.

Salīdzina divu programmēšanas valodu sintaksi, piemēram, JavaScript un Python.

Analizē specifikāciju Izvēlas dotai specifikācijai atbilstošo kodu, lasot specifikācijas dokumentu un aplūkojot vairākus koda variantus, lai apgūtu nepieciešamās analītiskās iemaņas specifikācijas satura izpratnei.

Analizē, kā specifikācijā tiek aprakstīti riska faktori cilvēka veselībai, kuri var rasties, izmantojot programmatūras veikšanai nepieciešamās programmvadāmās ierīces.

Izvēlas doto kodu visprecīzāk aprakstošo specifikāciju, lasot vairākus specifikācijas dokumentus, lai veidotu izpratni par atšķirību starp labi un slikti formulētu specifikāciju.

Īsteno specifikācijas prasības

Raksta programmas kodu kādā no programmēšanas valodām (piemēram, Python), balstoties uz piedāvāto specifikāciju

Lieto versiju vadības sistēmu

Lasot atvērtā koda licenču salīdzinājumu, iepazīstas ar atvērtā koda licencēm (piemēram, GPLv3, BSD, MIT, Apache) un autortiesību principiem, lai nodrošinātu sava intelektuālā īpašuma aizsardzību un varētu ievērot atvērtā koda licenču noteikumus, īstenojot savus projektus.

Izveido kontu tiešsaistes GitHub sistēmā, pieslēdzas un izveido repozitoriju, izvēloties tādu atvērtā koda licenci, kura atbilstoši situācijai definē koda izmantošanas tiesības. Klonē (git clone) izveidoto repozitoriju datorā, lai izmantotu versiju vadības iespējas sava koda saglabāšanai un izmaiņu reģistrēšanai.

Izmantojot git vai koda redaktora iebūvēto funkcionalitāti, saglabā savu kodu klonētajā repozitorijā (git commit) un iesūta izmaiņas (git push) tiešsaistes GitHub sistēmā, lai varētu strādāt ar kodu no citas ierīces, piemēram, mājas datora.

Programmēšana I

19© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Izstrādā temata noslēguma projektu

Izpēta, kādas ir ergonomikas prasības ilgstošā darbā ar datoru un kādi palīglīdzekļi var optimizēt darba vietu, lai tā būtu cilvēka veselībai droša. Izveido atgādni ar darbībām, kuras turpmāk ievēros savā darbā. Regulāri reflektē par saviem ieradumiem.

Izvēlas projekta tematu no skolotāja dotiem specifikāciju variantiem, pārrunā projekta vērtēšanas kritērijus, piemēram, programmas funkcionalitāti (nodrošina lietotāja ievadi, informācijas izvadi uz ekrāna, izmanto vairākas kontroles struktūras), programmēšanas labās prakses lietošanu (mērķim atbilstoši mainīgo un funkciju nosaukumi, koda komentāri atbilstošās vietās).

Apraksta vēlamo lietotāja pieredzi.

Plāno, veic un dokumentē projekta norisi, izmantojot šādus soļus.1. Zīmē risinājuma blokshēmu vai raksta pseidokodu.2. Veido risinājumu.3. Pārbauda risinājumu.4. Demonstrē risinājumu citiem skolēniem vai skolotājam un iegūst atgriezenisko saiti.5. Ja nepieciešami uzlabojumi, atgriežas pie 1. punkta.

Demonstrē skolotājam gatavo risinājumu, stāsta par projekta gaitā pārvarētajām grūtībām.

Mācību līdzekļi

Mācību materiāli • Skola2030 mācību līdzeklis• Vietnes atvērtā koda licenču salīdzināšanai:

○ Choose an open source license [tiešsaiste]. GitHub, Inc. [skatīts 24.07.2020.]. Pieejams: https://choosealicense.com/licenses

○ Software Licenses in Plain English [tiešsaiste]. FOSSA, Inc. [skatīts 24.07.2020.]. Pieejams: https://tldrlegal.com

Darba piederumiAtvērtā koda licences (piemēram, GPLv3, BSD, MIT, Apache).

Mācību videDatorikas kabinets.

Programmēšana I

20© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Metodiskais komentārs

Ievads par kursa struktūru Šī temata sākumā skolēnus vēlams iepazīstināt ar visa kursa struktūru un mācību procesa organizāciju.

Mainīgo un funkciju nosaukumu veidošana

Nosaukums jāveido pēc mainīgā jēgas, neizmantojot īsus nosaukumus, kuri sastāv tikai no viena burta. Visā pirmkodā jālieto vienots stils, piemēram, vai nu camelCase vai snake_case, bet ne abus. Konstantēm jāizmanto LIELIE_BURTI. Turpmākajos tematos skolēni šo prasmi izmanto praktisko darbu laikā, veidojot savas programmas un projektus.

Programmēšanas valodas, to lietošanas iespējas

Līdzīgi kā ar tekstpratību, ir būtiski nodrošināt, ka programmēšanas prasmes tiktu trenētas regulāri, lai pilnvērtīgi apgūtu un lietotu izvēlēto programmēšanas valodu.

Ieteicams izmantot programmēšanas valodu Python, jo tā nodrošina iespēju praktizēties visos būtiskākajos programmēšanas uzdevumos, piemēram, koda rakstīšanā, atkļūdošanā, iebūvēto bibliotēku izmantošanā. Ir iespējams izmantot arī jebkuru citu programmēšanas valodu, kuru skolotājs pārvalda un kuras lietotne vai redaktors ir pieejams skolēniem lietošanai datorikas kabinetā.

Ieteicams izmantot vienu programmēšanas valodu visos pamatkursā Programmēšana I.

Ieteicams izmantot vienotu koda pieraksta stilu (sintakse un komentāri) visos uzdevumos.

Apgūstot programmēšanas valodu, vēlams rosināt skolēnus izmantot programmēšanas valodas dokumentāciju.

Programmēšana I

21© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt

un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi

savā projektā izmantot jau esošu

risinājumu?

6. Kā īstenot risinājumu?

2. Kā izplānot un izveidot lietotājam atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

Ieteicamais laiks temata apguvei: 30 mācību stundas.

Temata apguves mērķis: izstrādāt risinājuma koncepciju – prasību specifikāciju programmatūrai, kura risina lietotājam nozīmīgu problēmu.

Programmēšana I

22© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Sasniedzamie rezultāti

Ziņas Prasmes

• Ar programmēšanas un programmvadāmo ierīču palīdzību iespējams atvieglot automatizējamus ikdienas procesus. (T.Li.2.)

• Programmatūras prasību specifikācija apraksta vēlamo programmatūras funkcionalitāti no lietotāja viedokļa. (T.Li.2.)

• Autortiesības un licences nosaka programmatūras pieejamību, kā arī aizsargā izstrādātāja tiesības. (T.Li.2.)

• Informācijas strukturēšana atvieglo tās uztveramību. (T.Li.2.)• Labas komunikācijas prasmes un empātija palīdz iegūt kvalitatīvu informāciju

no lietotājiem. (T.Li.1.)• Lai izveidotu lietotājam vajadzīgu un ērti izmantojamu risinājumu, ir jāveic

mērķauditorijas izpēte. (T.Li.3.)

• Lieto projekta vadības rīkus informācijas apmaiņai un laika plānošanai. (T.V.2.3.8.)• Koplietotā dokumentā dažādiem lietotājiem iestata atšķirīgas piekļuves, rediģēšanas

un komentēšanas tiesības. (T.V.2.3.2.)• Plāno risinājumu, veidojot versiju pārvaldību un uzlabojumus risinājuma gaitā.

(T.V.1.3.1, T.O.2.4.9.)• Sadarbojas programmatūras izstrādes procesā, izmantojot versiju vadības rīku. (T.O.2.4.9.)• Izmanto populārākās lietotāju izpētes metodes (intervija, aptauja, novērojums,

eksperiments), lai noskaidrotu lietotāja paradumus, analizē iegūtos datus un secina, kādas ir turpmākas darbības risinājuma izstrādē. (T.V.1.2.1.)

• Savā risinājumā izmanto atbilstošus publiski pieejamus materiālus un krātuves, datus un informācijas avotus, lai papildinātu savas zināšanas programmatūras funkcionalitātes nodrošināšanā un uzlabotu risinājumu. (T.O.2.3.3.)

• Analizē vienkāršus ikdienas darba procesus un saskata iespējas to automatizācijai. (T.V.2.4.1., T.O.2.4.1.)

• Atbilstoši uzdevumam izstrādā vienkāršotu programmatūras prasību specifikāciju. (T.O.2.4.4.)

• Risinājuma izstrādē un lietošanā ievēro programmatūras licences nosacījumus, intelektuālā īpašuma un personas datu aizsardzības principus. (T.V.3.1.5.)

• Citu izstrādātāju risinājumos atpazīst informācijas atlases, attēlošanas un strukturēšanas pamatprincipus un šos pamatprincipus ievēro savos risinājumos. (T.V.2.3.10.)

• Veidojot prezentāciju, izmanto vizuālus, audiālus un audiovizuālus elementus, kuri pielāgoti tās mērķim un mērķauditorijai. (T.V.2.3.10.)

• Savā prezentācijā ietver galvenos programmatūras izstrādes posmus. (T.O.2.4.7.)• Izveido vienkāršotu programmatūras prasību specifikāciju, ievērojot mērķauditorijas

vajadzības. (T.O.2.4.4.)• Atpazīst un analizē informācijas dizaina pamatprincipu izmantošanu daudzveidīgos

piemēros. (T.V.2.2.1.)• Analizē doto informācijas dizaina risinājumu priekšrocības un trūkumus. (T.V.2.2.2.)• Pēc dota parauga izveido lietotāju vajadzību noskaidrošanai atbilstošus jautājumus.

(T.V.1.2.1.)• Izvēlas un izveido aptaujas anketas formas, organizē aptaujas un anketēšanu,

veic iegūto datu manuālu un automatizētu apkopošanu. (T.V.2.3.4.)

Programmēšana I

23© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Komplekss sasniedzamais rezultāts Ieradumi

• Izveido digitāla risinājuma analīzi, tajā iekļaujot iesaistītās personas un to viedokli, veido risinājuma funkcionālo aprakstu un pamato risinājumā izmantotās tehnoloģijas. (T.V.1.1.2., T.O.2.4.1.)

• Sava risinājuma izstrādes gaitā izvēlas un izmanto atbilstošus projekta vadības rīkus, izveido programmatūras prasību specifikāciju, balstoties uz lietotāja vajadzībām, un prezentē to. (T.V.1.2.1., T.V.2.3.8., T.O.2.4.4.)

• Attīsta ieradumu veidot cieņpilnas attiecības, komunicējot ar lietotāju. (Tikums – laipnība; vērtība – cilvēka cieņa)

• Attīsta ieradumu izprast un risināt kompleksas problēmas, sadalot lielākas problēmas vairākās mazās. (Tikumi – gudrība, mērenība; vērtība – darbs)

• Attīsta ieradumu lietpratīgi un atbildīgi izmantot informācijas un komunikācijas tehnoloģiju iespējas, plānojot un pārvaldot dažādus projektus. (Tikums – gudrība; vērtība – darbs)

Jēdziens: lietotāja ceļvedis (user guide).

Temata apguves norise

Plāno izstrādes procesu Dalās savā pieredzē par labi un slikti organizētiem individuāliem vai grupas projektiem. Diskutē par nepieciešamību organizēt un pārvaldīt darbu sadalījumu veiksmīgai ikviena projekta īstenošanai. Spriež par vajadzību vienoties par atbildīgajiem un termiņiem, lai noteiktajā laikā sasniegtu projekta mērķus.

Apskata dažādu dokumentāciju saturu atkarībā no projekta mērķa un auditorijas (projekta dalībniekiem, gala lietotājiem, izstrādātajiem), dalās ar piemēriem no savas pieredzes.

Apskata dokumentācijas piemērus un diskutē par labo un slikto dokumentācijas praksi. Grupā vienojas par projekta dokumentēšanas biežumu un veidu.

Salīdzina dažādus projekta pārvaldības rīkus (gan brīvpieejas, gan maksas versijas), to funkcionalitāti un autortiesības, lai analizētu, kādas ir šo rīku priekšrocības un kādi – trūkumi. Diskutē, kādos gadījumos ir izdevīgi izmantot maksas rīkus. Apskata arī citus rīkus un brīvpieejas lietotnes, analizē to licences nosacījumus un izmantošanas iespējas. Pēc nepieciešamības savā risinājumā izmanto jau esošus publiskos materiālus (programmas kodus).

Izveido koplietošanas dokumentu darbam grupā pie projekta pārvaldības. Izmēģina konkrētus projekta vadības rīkus, piemēram, Trello vai fizisku Kanban sistēmas dēli, lai izmantotu tos sava projekta uzdevumu un to izpildes procesa dokumentēšanai un pārvaldībai.

Izmantojot versiju vadības rīkus, izveido jaunu repozitoriju projekta izstrādei.

Izveido projekta plānu (dashboard) Trello vai fiziskā vidē, pielāgo plāna struktūru sava projekta vajadzībām, lai turpmākā projekta gaitā to varētu lietot darba procesa vadībai.

Analizē, kā programmatūras izmantošana tiek aprakstīta un prezentēta lietotājam. Salīdzina dažādu programmu lietotāja ceļvežus un informāciju, kura tajos iekļauta.

Iepazīstas ar esošu programmu un tās darbību, secina, kāda informācija ir būtiska lietotājam, apkopo šo informāciju, veido lietotāja ceļvedi un testē izveidoto lietotāja ceļvedi ar lietotājiem. Noskaidro, kas šādā ceļvedī ir būtiskais un kas ir jāpilnveido.

Programmēšana I

24© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Noskaidro lietotāja vajadzības

Iepazīstas ar situācijas pētījumu (case study), lai uzzinātu, kā reālos projektos notiek komunikācija un lietotāju prasību noskaidrošana (piemēram, pasūtītājs ir brīvdabas izstādes organizētājs, kam nepieciešams izstādīt informatīvas zīmes pie mākslas darbiem). Pa posmiem aplūko risinājuma izstrādē iesaistīto pušu (pasūtītājs un izstrādātājs) komunikāciju un ieņemto pasūtītāja vai izstrādātāja lomu attiecīgajā posmā (analizē, piemēram, e­pasta saraksti, izstrādātāja izveidoto sākotnējo prasību sarakstu, prototipa skices un pasūtītāja komentārus).

Noklausās problēmsituācijas izklāstu un iepazīstas ar skolotāja piedāvāto projektu, lai izmantotu to kā piemēru procesu vadības apguvei. Analizē piedāvāto situāciju un saskata iespējas tās automatizācijai. Kopā ar skolotāju (un grupas biedriem, ja tas ir grupas projekts) vienojas par darbu sadalījumu, atbildīgajiem un termiņiem savam projektam.

Projekta temats var būt, piemēram,• pasākumu organizēšana;• rūpes par mājdzīvnieku;• gatavošanās sacensībām.

Izmantojot problēmsituācijas izklāstu, izveido sarakstu ar ieinteresētajām pusēm (stakeholders), un no tām izvēlas projekta mērķauditoriju, lai apzinātu cilvēkus, kuru viedoklis ir nozīmīgs turpmākā uzdevumu sagatavošanā.

Atkarībā no projekta tie var būt, piemēram,• pats un draugi, kuri palīdzēs organizēt pasākumu;• pats un ģimenes locekļi, kuri var rūpēties par mājdzīvnieku paša prombūtnes laikā;• pats, treneris un vecāki.

Izmantojot skolotāja dotu paraugu, kurš izveidots projekta vadības sistēmā (Trello vai Kanban), strukturēti pieraksta novērojumus par pašreizējo procesa norisi, lai noteiktu darbības un datus, kuri nepieciešami izvēlētajai mērķauditorijai.

Novērojumu piemēri:• e­pasta sarakste un WhatsApp ziņas ar vienošanos par dekorāciju un ēdiena iegādi un pasākuma izmaksām;• līmlapiņas uz ledusskapja ar atgādinājumu iebērt ēdienu un nomainīt ūdeni;• atzīmes sienas kalendārā, treniņu slodzes pieraksti, ēdienkarte.

Analizē dažādas lietotāju izpētes metodes (intervijas, aptaujas, novērojumi, eksperimenti u. c.) un to piemērotību konkrētas informācijas iegūšanai. Salīdzina jau veiktu aptauju, interviju un novērojumu rezultātus un analizē, kādi uzlabojumi būtu jāveic, lai iegūtie dati būtu kvalitatīvāki.

Izmanto skolotāja dotu aptaujas paraugu, pielāgo to dotajai problēmsituācijai, strukturē to (sakārto jautājumus konkrētā secībā) atbilstoši savam mērķim un intervē vienu vai vairākus mērķauditorijas pārstāvjus, lai noskaidrotu viņu vēlmes un vajadzības.

Intervijas jautājumu piemēri:• Ko tu vēlies darīt pasākumā? Cik daudz laika vari veltīt organizēšanai? Kādā veidā vēlies komunicēt ar citiem organizatoriem? Vai tev ir pieredze

pasākumu organizēšanā? Kas radīja problēmas pasākumos iepriekš?• Kādā veidā vēlies redzēt ikdienas informāciju par dzīvnieka barošanu? Kādā veidā vēlies redzēt ārkārtas gadījumos (piemēram, problēmas ar barošanas

ierīci, barība netiek apēsta ilgu laiku) nepieciešamu informāciju? Vai vēlies saņemt atgādinājumus? No kādas ārkārtas situācijas tev ir visvairāk bail?• Kāda veida informācija tevi interesē? Kā vēlies ievadīt treniņu informāciju? Kas plāno ēdienkarti pirms sacensībām? Kas tev traucē ievērot rutīnu?

Programmēšana I

25© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Definē lietotāja vajadzības, apkopojot novērojumu un interviju datus un veicot to analīzi, lai nospraustu konkrētus projekta uzdevumus.

Vajadzību piemēri:• saraksts ar darāmajiem darbiem, saraksts ar organizatoriem, saraksts ar resursiem, laika plānošanas rīks, izdevumu plānošanas rīks;• ikdienas barības un ūdens daudzuma informācija, ikdienas aktivitāšu laiks un ilgums, darbības, ko veikt ārkārtas situācijā, saziņas iespējas

ar saimnieku;• treniņu plānošanas rīks, treniņu un pašsajūtas rezultātu pierakstīšana, ēdienkartes plānošana.

Izveido specifikāciju Lai izvērtētu uzdevuma apjomu, izvēlas vienu konkrētu pasūtītāja definētu prasību (var izmantot iepriekš apskatīto situācijas pētījumu) un izvērš tās funkcionalitāti, izmantojot savu pieredzi ar lietotnēm, piemēram, ja prasība ir “katram lietotājam ir savs konts”, tad jāparedz šādas funkcionalitātes: izveidot jaunu kontu, mainīt paroli, dzēst/bloķēt kontu, uzstādīt lietotāja vārdu, mainīt lietotāja vārdu, pievienot foto, mainīt foto utt.

Izmantojot iepriekš apkopotās un analizētās lietotāja vajadzības, sadala vienu vajadzību konkrētās darbībās, kuras nepieciešamas, lai to realizētu, piemēram,• pievienot jaunu darāmo darbu, pievienot jaunu darba darītāju, mainīt darba darītāju konkrētam darbam, uzstādīt darba termiņu, mainīt darba

statusu;• pievienot vienas ēdienreizes informāciju, pievienot ēdināšanas biežumu, aplūkot ēdināšanas izmaksas mēnesī, aplūkot šodienas ēdināšanas plānu,

mainīt atlikušā ēdiena daudzumu;• pievienot pašbildi ar pašsajūtas komentāru, pievienot ēdienreizes foto ar kaloriju informāciju, aplūkot iepriekšējās ēdienreizes, pievienot saiti

uz veselīgu un garšīgu recepti.

Lasa klasesbiedru apkopotās vajadzības un atbilstošās darbības, diskutē, vai vajadzības ir pareizi sadalītas grupās un nosegtas ar aprakstītajām darbībām. Sniedz un saņem atgriezenisko saiti un, ja nepieciešams, uzlabo darbību sarakstu.

Balstoties uz iepriekš apkopotajām lietotāja vajadzībām, darbībām un dotajiem specifikāciju piemēriem, izveido programmatūras prasību specifikāciju.

Analizē daudzveidīgas prezentācijas (publiskā runa, audiovizuāli un vizuāli materiāli u. c.) un atpazīst tajās informācijas atlases, attēlošanas un strukturēšanas pamatprincipus. Salīdzina labos un sliktos piemērus.

Lai parādītu sava darba procesu un rezultātu, izveido prezentāciju, kurā iekļauj īsu problēmsituācijas aprakstu, izvēlēto mērķauditoriju, pašreizējā procesa novērojumus, intervijas jautājumus un atbildes, lietotāja vajadzības un no tām izveidoto specifikāciju. Savā prezentācija ievēro labo praksi informācijas attēlošanā un strukturēšanā.

Programmēšana I

26© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Mācību līdzekļi

Mācību materiāli • Skola2030 mācību līdzeklis• Trello [tiešsaiste]. Atlassian. [skatīts 24.07.2020.]. Pieejams: https://trello.com

Darba piederumi• Projekta vadības sistēma (piemēram, Trello, Kanban)• Situāciju pētījumi (case study)

Mācību videDatorikas kabinets.

Metodiskais komentārs

Dokumentācijas veidi un formas programmēšanas projektos

Apskata dažādus dokumentācijas veidus, dalās ar piemēriem no savas pieredzes:• projekta dokumentācija;• dokumentācija gala lietotājam (piemēram, lietotāja ceļvedis, pamācība, reklāmas materiāls, apraksts, atgādne);• dokumentācija programmēšanas kodam (piemēram, datne README, strukturēti komentāri kodā).

Apskata dažādas dokumentācijas formas un diskutē par to piemērotību dažādiem projektiem un atbilstību katram no dokumentācijas veidiem:• projektu vadības rīki procesa dokumentēšanai;• teksta dokumenti;• vikivietne (wiki);• izejas koda komentāri;• prezentācijas.

Diskutē par savam projektam piemērotāko dokumentācijas veidu un tajā izmantojamajām dokumentācijas formām.

Projekta vadības rīku apguve

Trello pamatfunkciju apgūšana var notikt, piemēram šādi – izveido kontu https://trello.com, nokopē skolotāja doto Trello dēli (Trello board), izlasa kartītēs dotos uzdevumus, izpilda tos un tad pārvieto kartīti attiecīgajā sarakstā (list).

Kanban dēļa lietošanu var apgūt, izmantojot A2 izmēra kartona plāksni ar sadalītām zonām, kuras atbilst projekta struktūrai, un līmlapiņām ar uzdevumiem, kuras pārvieto attiecīgajā zonā. Visvienkāršākajā gadījumā projekta saraksti vai zonas ir trīs – “veicamie uzdevumi”, “tiek darīti”, “paveikti”.

Programmēšana I

27© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt

un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi

savā projektā izmantot jau esošu

risinājumu?

6. Kā īstenot risinājumu?

3. Kā automātiski apstrādāt un attēlot datus?

Ieteicamais laiks temata apguvei: 40 mācību stundas.

Temata apguves mērķis: sadarbojoties grupā, veikt datu strukturēšanu un apstrādi datnēs un datubāzēs, izmantojot populārākos datu apstrādes algoritmus; sadalīt programmas izstrādei nepieciešamos soļus, identificēt to veikšanai nepieciešamās prasmes un veidot darbu mijiedarbības karti.

Programmēšana I

28© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Sasniedzamie rezultāti

Ziņas Prasmes

• Datubāzes pareiza izveide atvieglo darbu ar datiem. (T.Li.2.)• Datu validācija aizsargā datubāzi. (T.Li.2.)• Programmas darbībai ir jābūt pietiekoši ātrai, lai lietotājam būtu ērti to lietot. (T.Li.2.)• Zinot algoritma sarežģītību, iespējams izvērtēt programmatūras izveides iespējamību

un lietojamību atkarībā no izpildāmo darbību apjoma. (T.Li.2.)• Kārtošanas un meklēšanas algoritmi lietotājam atvieglo programmatūras lietojamību.

(T.Li.2.)• Automatizācijas rīki atvieglo darbu ar apjomīgiem datiem. (T.Li.2.)• Kvalitatīvs informācijas avots ir viens no priekšnosacījumiem augstas kvalitātes datu

iegūšanā. (T.Li.2.)• Datus var apstrādāt un veidot kvalitatīvu to vizuālo noformējumu, lai tie būtu

uzskatāmāki. (T.Li.2.)

• Sagatavo un rediģē lielus strukturētus dokumentus un izklājlapas. (T.V.2.3.3, T.V.2.3.5.)• Veic datu aprēķinus atbilstoši dotajiem kritērijiem. (T.V.2.3.5.)• Veic formu validāciju. (T.V.2.3.5.)• Darbam ar lieliem dokumentiem izmanto lietotnēs iebūvētos efektivitātes un

automatizācijas rīkus. (T.V.2.3.3.)• Veic datu pārstrukturizāciju un to attēlošanu, izmantojot vizualizācijas. (T.V.2.3.6.)• Veic datu apstrādi gatavā datubāzē, izmantojot vaicājumus, formas un pārskatus.

(T.V.2.3.7., T.O.2.3.4.)• Veido datubāzi. (T.O.2.3.4.)• Novērš datu dublēšanos datubāzē. (T.O.2.3.4.)• Organizē datu ievadi, veicot to validāciju. (T.O.2.4.13.)• Formatē datu izvadi. (T.O.2.4.13.)• Izmanto dažādas datu struktūras. (T.O.2.4.14.)• Veic vienkāršotu programmatūras ātrdarbības novērtējumu. (T.O.2.4.16.)• Risina uzdevumu, izmantojot gatavu algoritmu. (T.O.2.4.16.)• Piesaista programmai vienkāršu datubāzi. (T.O.2.4.17.)• Risina vienkāršu datu apstrādes uzdevumu. (T.O.2.4.17.)• Izvēlas uzdevuma izpildei atbilstošu datu kārtošanas un meklēšanas algoritmu.

(T.O.2.4.19.)

Komplekss sasniedzamais rezultāts Ieradumi

Izstrādā programmēšanas projektu, ievērojot dizaina procesa soļus, glabājot datus datubāzē vai datnē, raksturojot to struktūru un pamatojot izvēlēto datu glabāšanas un apstrādes veidu. (T.O.1.1.2., T.O.2.4.17.)

• Attīsta ieradumu uzdrošināties pašizpausties un gūt jaunu pieredzi, lai realizētu nelielu programmēšanas projektu. (Tikums – drosme; vērtība – darbs)

• Attīsta ieradumu izprast un risināt kompleksas problēmas, lai spētu strukturēt, analizēt un apstrādāt datus. (Tikums – gudrība; vērtība – darbs)

Jēdzieni: datu validācija (data validation), algoritma sarežģītība (algorithmic complexity), Null vērtība (null value), masīvs (array, list), vārdnīca (map, dictionary), datubāze (database), vaicājums (query), forma (form), pārskats (view), atvērtie dati (open data).

Programmēšana I

29© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Temata apguves norise

Apstrādā datus un vienkāršas datnes

Aplūko dažādus teksta datņu formātus, piemēram, TXT, CSV, HTML, XML, XLSX, DOCX, JSON, un salīdzina, kurās datnēs dati ir strukturēti, kurās – nestrukturēti, un nosaka, kas par to liecina. Aplūko dažādus dotu datņu formātu paraugus.

Raksta programmu datņu lasīšanai, lai uz ekrāna izvadītu datus (piemēram, personas vārdu, uzvārdu, vecumu) no datnēm, kuru formāts ir dots iepriekš. Diskutē par strukturētu un nestrukturētu datu izmantošanas priekšrocībām programmēšanā.

Lai apgūtu un praktizētos vairāku datņu un datu avotu apstrādē, raksta datorprogrammu, kura lasa vairākas strukturētas datnes kādā no iepriekš minētajiem formātiem, piemēram, dokumentalas_filmas.csv, makslas_filmas.csv, un ieraksta apvienoto rezultātu jaunā datnē, piemēram, filmu_katalogs.csv.

Iepazīstas ar Null vērtību (null value), kura tiek izmantota, lai apzīmētu trūkstošu vai nezināmu vērtību. Raksta funkciju ievades datu pārbaudei, piemēram, validējot pasta indeksu, personas kodu vai bankas kartes numuru. Pārbauda funkcijas darbību, izmantojot standarta ievadi un izvadi. Raksta datorprogrammu, kura izmanto veidoto funkciju, lai pārbaudītu datnes atbilstību sagaidītajam formātam, piemēram, pārbauda, vai visiem abonentiem ir norādīts pasta indekss.

Izmanto saliktas datu struktūras

Iepazīstas ar pamata datu struktūrām – masīviem un vārdnīcām. Raksta programmu, kura lasa CSV formāta datni (piemēram, klases skolēnu sarakstu) un pārveido to masīvā un vārdnīcā. Salīdzina masīva un vārdnīcas datu tipa lietošanas ērtumu un diskutē par viena vai otra datu tipa izvēli dažādiem datiem.

Atkārto zināmos datu tipus un novēro, kāds datu tips ir no datnes ielasītajiem datiem. Raksta datorprogrammu, kura pārveido ielasītos datus uz tiem piemērotu un atbilstošu datu tipu, piemēram, vesels skaitlis, decimāldaļa. Izmanto Unicode kodējumu, lai korekti ielasītu un pierakstītu datnes saturu ar garumzīmēm, mīkstinājuma zīmēm un citiem simboliem. Raksta programmu, kura simbolu virkni pārveido vārdnīcā, piemēram, veido lietotāju sarakstu, kurā vārdnīcas atslēga ir lietotājvārds.

Pārrunā datu struktūras izvēli un datu tipu konvertēšanu atkarībā no datu avota un izmantošanas mērķa, diskutē par iespējamiem ieguvumiem, izmantojot mērķim atbilstošu datu struktūru. Iepazīstas ar jauniem datu tipiem, piemēram, datums, laiks. Raksta programmu, kura ielasa CSV formāta datni ar laika lauku, konvertē datus no šī lauka ar attiecīgo datu tipu.

Raksta programmas, kura lasa CSV formāta datni un pārveido to saliktā struktūrā, piemēram, vārdnīcu masīvā vai masīvu masīvā.

Programmēšana I

30© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Izveido datu ievades programmu

Aplūko dažādus datu ievades veidus, piemēram, standarta ievade, grafiskā saskarne, un dalās pieredzē par to lietošanu. Pārrunā dažādus datu ievades un lietošanas aspektus: • ievades mērķi, piemēram, novērojumu pierakstīšana, atskaites parametru norādīšana;• lietotāju pieredze, piemēram, informācija par sagaidāmajiem datiem, atgriezeniskā saite nepareizas ievades gadījumā, noklusētās vērtības

piedāvāšana, dažu datu automātiska pievienošana (ievades laiks), vienkāršu problēmu automātiska risināšana (atstarpju novākšana pirms/pēc vārda, lielo/mazo burtu konsekvents lietojums).

Uzraksta programmu ar šādu funkcionalitāti:• pirms ievades pieprasījuma izdrukā informāciju ar ievades mērķi, sagaidāmo saturu un formātu, piemēram, “Ievadiet savu vārdu:”, “Ievadiet savu

vecumu gados:”;• nodrošina standarta ievades iespēju;• veic datu validāciju un pārveidošanu, piemēram, nodrošina, ka ievadītais vārds sākas ar lielo burtu, novāc liekas atstarpes;• lūdz lietotāju apstiprināt pārveidoto datu pareizību;• atkārtoti lūdz ievadīt vērtību, ja tā neatbilst pieprasītajam formātam un nevar tikt automātiski pārveidota;• pēc veiksmīgas datu ievades saglabā datus datnē, papildinot iepriekš izveidotu datu kopu;• dod iespēju pārtraukt datu ievadi, nesaglabājot datus.Dalās pieredzē par konkrētām lietotnēm – ērtiem un neērtiem ievades veidiem un saskarnēm, to atbilstību ievades mērķim.Plāno un izveido programmu datu ieguvei no lietotāja, piemēram, fizikas vai bioloģijas eksperimenta pierakstam, pievieno iegūtajiem datiem papildu datus (laiku, vārdu, vietu) un saglabā tos datnē. Pārbauda lietošanas ērtumu un uzlabo programmu, ņemot vērā lietotāju ieteikumus.

Izmanto algoritmus un novērtē to efektivitāti

Nosauc piemērus algoritmiem, kuri tiek izmantoti gan ikdienā, gan programmēšanā, piemēram, meklēšana un kārtošana. Iepazīstas ar skolotāja dotiem vai pašu sameklētiem matemātikā bieži izmantotiem algoritmiem, piemēram, kvadrātsaknes meklēšana, Fibonači skaitļu virknes veidošana. Zīmē algoritma blokshēmu vai raksta pseidokodu. Uzraksta programmu, kura īsteno matemātikas algoritmu izvēlētajā programmēšanas valodā.Sadalās grupās pa 8–10, nostājas vienā rindā nejaušā secībā un mēģina izdomāt algoritmu, lai ar vismazāk darbībām sakārtotu rindu pēc kādas dotas pazīmes, piemēram, vārda vai vecuma. Pārbauda algoritmu, kārtojot rindu un skaitot veiktās darbības. Diskutē par to, kā darbību skaits ietekmē algoritma izpildes laiku.Iepazīstas ar dažādiem kārtošanas algoritmiem un kārtošanas funkcionalitāti lietotajā programmēšanas valodā. No programmēšanas valodas dokumentācijas noskaidro, kādu kārtošanas algoritmu pēc noklusējuma izmanto šī programmēšanas valoda. Uzraksta programmu, kura izpilda vienkāršu kārtošanas algoritmu, piemēram, burbuļkārtošanas algoritmu.Raksta programmu, kura ielasa CSV formāta datni vārdnīcu masīvā, sakārto un izvada datus pēc dažādiem laukiem, piemēram, bibliotēkas grāmatas pēc nosaukuma, izdošanas gada vai autora vārda. Datu izvadei izmanto programmā iebūvētās funkcijas vai raksta mērķim atbilstošu kodu. Pārrunā algoritmu novērtējumu – pētot kodu, var aptuveni noteikt, cik daudz darbību tiks izpildīts atkarībā no kādas mainīgā vērtības, tādējādi var aptuveni prognozēt izpildes laiku. Salīdzina sava algoritma efektivitāti ar citu tā paša algoritma realizāciju kodā, ja dati ir vienādi, piemēram, klasesbiedru risinājumu vai skolotāja dotu piemēru.Iepazīstas ar algoritma efektivitāti no datora resursu lietošanas skata punkta (programmas apjoms, atmiņas patēriņš, vairāku procesoru lietošana, grafiskās kartes iespēju lietošana). Diskutē par to, kā algoritma ātrums un efektivitāte ietekmē lietotāja pieredzi, piemēram, spēļu vai simulāciju ātrdarbība datoros ar dažādu specifikāciju, enerģijas patēriņa ietekme uz viedierīču baterijas ilgdarbību. Min piemērus lietotnēm, kuras patērē daudz datora vai viedierīces resursu (un darbojas stacionāros datoros vai viedierīcēs).

Programmēšana I

31© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Veido un izmanto datubāzes

Iepazīstas ar dažādiem datu glabāšanas veidiem – atmiņa, datnes, datubāzes – un dalās pieredzē par to lietošanu, priekšrocībām un trūkumiem, piemēram, datu zaudēšana, iespēja datus strukturēt tekstapstrādes programmā vai izklājlapā.

Iepazīstas ar relāciju datubāzes principiem, priekšrocībām un prasībām datu strukturēšanai, salīdzina ar CSV, XLSX formāta datnēm. Aplūko teksta datni ar strukturētiem datiem, piemēram, filmas.csv, modelē datubāzes tabulas struktūru, kurā šos datus glabāt. Pievieno UNIQUE kolonnu, kura glabās filmu identifikatorus. Apspriež INDEX nepieciešamību kolonnās, kurās būs vajadzīgs meklēt datus, piemēram, filmas nosaukums un apraksts, filmas izdošanas gads. Izveido datubāzi un tabulu skolotāja norādītajā tīmekļa vietnē.

Izmanto piemērus, lai iepazītos ar SQL vaicājumu iespējām un sintaksi. Praktizējas veidot SQL vaicājumus, lai iegūtu specifisku informāciju no datubāzes, piemēram, sarakstu ar produktiem, kuriem drīz beigsies derīguma termiņš; filmas, kuru aprakstā minēta kāda pilsēta.

Pēta dotu CSV formāta datni, modelē un izveido datubāzes tabulu datnē esošo datu glabāšanai. Raksta programmu CSV formāta datnes apstrādei un ievieto datus datubāzē, piemēram, veido vārdadienu sarakstu.

Pievieno programmai funkcionalitāti, kura izmanto dažādus SQL vaicājumus, piemēram, (ja izmanto datni ar vārdadienu datumiem) uzzināt vārdadienas datumu konkrētam vārdam vai izvadīt visus vārdus konkrētā datumā.

Raksta programmu, kura no datubāzes iegūtos rezultātus saglabā datnē, piemēram, visas filmas, kuru aprakstā minēta skola, pilsēta, novads vai reģions.

Izstrādā projektu grupā Analizē programmatūras izstrādes piemēru, aprakstot tajā iesaistīto darbinieku lomu risinājuma izstrādē. Veido mijiedarbības karti par to, kā darbinieku rīcība un darbības ietekmē projektu kopumā un citu darbinieku veiktspēju. Reflektē par lomu, kura atbilst paša personīgajām iezīmēm un profesionālajām interesēm.

No dotiem piemēriem vai savām interesēm izvēlas pētnieciskā projekta tematu, kura īstenošanai būs nepieciešama datu apstrāde un analīze. Izvēlas projekta mērķauditoriju. Izvēlas projekta mērķim atbilstošu datu ieguves veidu vai avotu, piemēram, aptauja, sensoru dati, nedigitalizētu datu ievade, atvērtie dati. Projekta mērķis var būt, piemēram, aptaujas datu statistiska analīze un attēlošana izmantošanai medijos, vēsturisku datu konvertēšana un analīze publicēšanai sabiedrības izmantošanai turpmāk, sensoru datu attēlošana mājas vides kvalitātes novērtēšanai.

Grupā vienojas par pienākumiem un lomu sadali. Izmanto projektu pārvaldības rīkus (piemēram, Trello, Slack, Asana, kalendārs, koplietošanas rīki), lai sekotu līdzi projekta izpildei.

Projektu plāno, izmantojot projektu organizācijas un vadības rīku, un kodu glabā versiju vadības sistēmā. Projekta gaitā veido atbilstošu dokumentāciju.

Izveido programmu datu iegūšanai, apstrādei un saglabāšanai datnēs vai datubāzē. Pievieno funkcionalitāti datu saglabāšanai CSV formāta datnē to turpmākai apstrādei izklājlapās.

Veic papildu datu analīzi un aprēķinus, izklājlapās veido diagrammas, formulē secinājumus.

Demonstrē projekta rezultātu, reflektē par procesu, apgūtajām prasmēm un piedzīvotajām grūtībām. Min piemērus projekta iespējamiem uzlabojumiem.

Programmēšana I

32© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Mācību līdzekļi

Mācību materiāli • Skola2030 mācību līdzeklis• Brīvpiekļuves datubāzes:

○ csdd.lv [tiešsaiste]. Rīga: Ceļu satiksmes drošības direkcija. [skatīts 24.07.2020.]. Pieejams: https://www.csdd.lv

○ Centrālās statistikas pārvaldes datu kopas [tiešsaiste]. Rīga: Centrālās statistikas pārvalde. [skatīts 24.07.2020.]. Pieejams: https://www.csb.gov.lv

• Tiešsaistes brīvpieejas mācību vietnes:○ SQL Tutorial [tiešsaiste]. Andrew Cumming. [skatīts 24.07.2020.]. Pieejams:

https://sqlzoo.net○ Online Interactive SQL Course [tiešsaiste]. SQL Climber. [skatīts 24.07.2020.].

Pieejams: https://www.sqlclimber.com

Darba piederumiProjektu pārvaldības rīki (piemēram, Trello, Slack, Asana, kalendārs, koplietošanas rīki).

Mācību videDatorikas kabinets.

Metodiskais komentārs

Datu iegūšana Datus uzdevumu veikšanai iespējams iegūt no brīvpiekļuves datubāzēm, piemēram, csdd.lv, Centrālās statistikas pārvaldes datubāzes csb.gov.lv.

Datu validācija Datu validācijai var izmantot Google forms, kurā var iespējot datu validāciju kā funkciju.

Datu analīze, izmantojot vaicājumus, formas, pārskatus

Lai vingrinātos datu atlasīšanā, iespējams izmantot tiešsaistes brīvpieejas mācību vietnes, piemēram, https://sqlzoo.net, https://www.sqlclimber.com.

Programmēšana I

33© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt

un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi

savā projektā izmantot jau esošu

risinājumu?

6. Kā īstenot risinājumu?

4. Kā sistemātiski pārbaudīt un atkļūdot risinājumu?

Ieteicamais laiks temata apguvei: 20 mācību stundas.

Temata apguves mērķis: veikt programmatūras testēšanu atbilstoši programmatūras specifikācijai.

Programmēšana I

34© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Sasniedzamie rezultāti

Ziņas Prasmes

• Testējot var pārbaudīt, vai programmatūra strādā korekti un izpilda uzstādītās prasības. (T.Li.2.)

• Atkļūdošana ir būtiska daļa no programmatūras izstrādes. (T.Li.2.)• Rakstot kodu, iespējams pieļaut dažādu veidu kļūdas, kuras var atkļūdot, zinot kļūdas

paziņojuma veidu. (T.Li.2.)• Kļūdas var rasties, izmantojot nepareizus datu tipus. (T.Li.2.)• Testējot programmu ar lietotājiem, iespējams atklāt nepieciešamos uzlabojumus

programmas lietojamībā. (T.Li.1., T.Li.3.)

• Veic testēšanu un lieto versiju vadības rīkus, lai pilnveidotu programmatūras risinājumu. (T.V.1.3.2.)

• Izstrādā testa komplektus atbilstoši konkrētam uzdevumam. (T.V.1.3.2.)• Veic programmatūras izstrādi un testēšanu atbilstoši izstrādātai programmatūras

prasību specifikācijai. (T.O.2.4.6.)• Analizē testēšanā iegūtos datus, lai identificētu pamatotus un nepieciešamus

uzlabojumus, un ievieš uzlabojumus. (T.V.1.3.2.)

Komplekss sasniedzamais rezultāts Ieradumi

Veic programmatūras analizēšanu, pētot programmvadāmās ierīces nepieciešamos resursus (atmiņa, laiks). Testējot dokumentē rezultātus un atbilstoši iegūtajiem rezultātiem veic programmatūras atkļūdošanu vai uzlabošanu. (T.V.1.3.2., T.O.2.4.6.)

• Attīsta ieradumu veidot cieņpilnas attiecības, lai, komunicējot ar klasesbiedriem, korekti norādītu uz viņu pieļautajām kļūdām. (Tikumi – laipnība, godīgums; vērtības – cilvēka cieņa, darbs)

• Attīsta ieradumu kļūdas uztvert kā iespēju izaugsmei, lai testēšanā atrastās kļūdas nākotnē vairs nepieļautu. (Tikumi – godīgums, gudrība; vērtība – darbs)

• Attīsta ieradumu paveikt darbu pēc iespējas kvalitatīvāk, lai pēc testa piemēru veikšanas būtu mazāk labojumu. (Tikums – atbildība; vērtība – darbs)

Jēdzieni: iegultā lietotne (embedded software), kompilatora paziņojumi (compiler message), interpretatora paziņojumi (interpreter message), izpildlaika (runtime) paziņojumi.

Programmēšana I

35© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Temata apguves norise

Atkļūdo kļūdaini uzrakstītas programmas

Iepazīstas ar kļūdu paziņojumu veidiem – kompilatora un interpretatora, kā arī izpildlaika (runtime). Skaidro galvenās atšķirības starp tiem un apstākļus, kādos šīs kļūdas parādās, lai precīzāk identificētu kļūdu izcelsmi. Aplūko dotu programmu ar sintakses kļūdu koda redaktorā un pievērš uzmanību redaktora iezīmētajām vietām kodā un ieteikumiem. Izpilda dotu programmu un pievērš uzmanību pēdējai kļūdas paziņojuma rindai vai rindai pirms tās. Izmanto kļūdas paziņojumu, programmēšanas valodas dokumentāciju un koda redaktora ieteikumus sintakses kļūdas atrašanai, lai izlabotu kļūdas savā programmā.Izpilda dotu programmu, kurā ir izpildlaika kļūda (runtime error), un pievērš uzmanību pēdējai kļūdas paziņojuma rindai un komandai. Lasa, kāds ir kļūdas veids, un salīdzina komandas izsaukumu, tās parametrus ar plānotajiem. Izmanto kļūdas paziņojumu un programmēšanas valodas dokumentāciju kļūdas atrašanai un izlabo to.Apskata atkļūdošanas rīkus, kuri ir pieejami izvēlētajā koda redaktorā (IDE): mainīgo vērtību monitors (watch section), pārtraukumpunkti (breakpoint), izpilde pa soļiem (step in, step over). Izvērtē šo rīku izmantošanas priekšrocības, salīdzinot ar informācijas izvadi standarta izvadē. Izmanto atkļūdošanas rīkus, lai atrastu un izlabotu kļūdas dotā programmā.Labo dotas kļūdainas programmas, aprakstot, kāda veida kļūdas tika atrastas.

Pārbauda (testē) programmas darbību

Lasa un testē (t. i., darbina noteiktos apstākļos ar noteiktiem parametriem) dotu programmu (piemēram, programmu, kurai jāatgriež sveiciena teksts atkarībā no diennakts stundas), kurā ir dažādas loģikas kļūdas, veic atbilstošos uzlabojumus. Argumentē, kāpēc nav iespējams vai nav lietderīgi testēt ar visiem iespējamiem parametriem, bet ir svarīgi testēt vismaz ar• parametriem, kuri ir pareizi un kuriem ir zināma pareizā atbilde, – testēt rezultāta pareizību (piemēram, plkst. 10.00 atgriež tekstu “Labrīt!”);• parametriem, kuri nav pareizi, – testēt, vai tiek atgriezts pareizais kļūdas paziņojums (piemēram, plkst. 25.00 atgriež tekstu “Nepareizs laiks”);• parametriem, kuri ir tieši uz kādas izvēles robežas, – pārbaudīt, vai izvēle tiek veikta pareizi (piemēram, plkst. 12.00 atgriež tekstu “Labdien!”,

nevis “Labrīt!”).Izlabo doto programmu, lai tā strādātu atbilstoši aprakstam.Izstrādā testa piemērus (ievades un izvades pārus) dotajam uzdevuma aprakstam, patstāvīgi aplūko doto programmu, veic testēšanu atbilstoši sastādītajiem testa piemēriem atrod un dokumentē kļūdas. Salīdzina savus testa piemērus ar klasesbiedru testiem.

Mācību līdzekļi

Mācību materiāli Skola2030 mācību līdzeklis.

Mācību videDatorikas kabinets.

Metodiskais komentārs

Kodā biežāk pieļauto kļūdu apzināšana un novēršana

Papildu uzmanība jāpievērš datu ievadei un pareiza datu tipa izmantošanai, iekļaujot visas datu tipa iespējamās vērtības un ņemot vērā to galējās robežas.

Lai vingrinātos koda kļūdu novēršanā, skolēniem var dot kļūdainus koda piemērus. To iespējams organizēt kā savstarpēju mācīšanās uzdevumu – skolēns ar nodomu raksta kļūdainu kodu, kuru dot citam skolēnam pārbaudīt un uzlabot.

Programmēšana I

36© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt

un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi

savā projektā izmantot jau esošu

risinājumu?

6. Kā īstenot risinājumu?

5. Kā izvēlēties un efektīvi savā projektā izmantot jau esošu risinājumu?

Ieteicamais laiks temata apguvei: 40 mācību stundas.

Temata apguves mērķis: apgūt objektorientētās programmēšanas principus, atvērtā koda bibliotēku lietošanu un iepazīties ar programmēšanas nozares attīstības virzieniem un jaunākajam tendencēm, lai atpazītu un risinātu kompleksas problēmas ar programmēšanas palīdzību un lai izstrādātu programmu, kurā izmanto piemērotu jau esošu risinājumu (atvērtā koda bibliotēku).

Programmēšana I

37© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Sasniedzamie rezultāti

Ziņas Prasmes

• Pastāv dažādi datortīkli. (T.Li.2.)• Standarta bibliotēkas izmantošana atvieglo programmēšanas risinājumu izveidi. (T.Li.2.)• Objektorientētā programmēšana atvieglo darbu ar kompleksām datu struktūrām un

apkārtējās pasaules modelēšanu. (T.Li.2.)• Zinātniskie pētījumi un atklājumi palīdz attīstīties programmēšanas nozarei un palielina

tās pielietošanas iespējas. (T.Li.3.)• Katrai datortīklā esošajai ierīcei ir noteikta funkcionalitāte. (T.Li.2.)• Šifrētai un nešifrētai datu plūsmai ir dažādi pielietojumi. (T.Li.3.)• Darba un programmatūras drošība ir svarīga. (T.Li.3.)• Mašīnmācīšanās palīdz kompleksās jomās, kurās nav vienkārši izmantojamu algoritmu.

(T.Li.2.)• Mašīnmācīšanās principus iespējams izmantot ikdienas situācijās un dažādos

risinājumos. (T.Li.2.)• API (lietojumprogrammu) izmantošana var samazināt programmas izstrādes laiku.

(T.Li.2.)

• Sastāda nepieciešamo programmvadāmo ierīču, programmatūras un citu resursu sarakstu atbilstoši lietotāja vajadzībām konkrētā uzdevuma veikšanai. (T.V.2.3.9.)

• Ievēro drošības nosacījumus, lietojot atvērto datu apmaiņu. (T.V.3.1.3.)• Atbilstoši situācijai izvēlas atvērto vai šifrēto datu apmaiņu. (T.V.3.1.3.)• Novērtē drošības riskus, lietojot programmvadāmās ierīces, un rīkojas, lai tos

samazinātu. (T.O.3.1.3.)• Salīdzina dažādas programmvadāmas ierīces un to lietojamību sadzīvē un ražošanā.

(T.V.2.3.9., T.V.2.1.2.)• Izvēlas konkrētai situācijai atbilstošāko datortīklu, izvērtējot dažādu datortīklu veidu

iespējas un drošības riskus. (T.V.2.3.1., T.O.3.1.3.)• Pielāgo operētājsistēmas un lietotnes iestatījumus, veicinot darba drošību. (T.V.2.3.11.)• Izvēlas piemērotāko datortīklu, balstoties uz uzdevuma prasībām. (T.V.2.3.1.)• Veic maršrutētāja konfigurāciju. (T.O.2.3.1.)• Pēc nepieciešamības izmanto esošu programmēšanas valodas dokumentāciju sava

risinājuma izveidē. (T.O.2.4.10.)• Pēc nepieciešamības izmanto API (lietojumprogrammu) projekta izstrādē. (T.O.2.4.11.)• Salīdzina programmēšanas valodā biežāk lietotās standarta bibliotēkas funkcijas,

procedūras un metodes un izvēlas piemērotāko no tām sava risinājuma izstrādē. (T.O.2.4.13.)

• Veidojot savu risinājumu un izmantojot objektorientēto programmēšanas pieeju, izmanto klases, objektus, metodes un laukus (atribūtus). (T.O.2.4.15.)

• Secina, kā zinātniskie pētījumi ietekmē sasniegumus tehnoloģiju jomā un citur. (T.O.3.2.5.)

Komplekss sasniedzamais rezultāts Ieradumi

• Izmantojot objektorientēto pieeju, izstrādā programmu, kura spēj šifrēt un atšifrēt datnes sensitīvu informāciju, lai nodrošinātu datu drošību. (T.V.3.1.3., T.O 2.4.3.)

• Vispārīgi skaidro, kā mašīnmācīšanās strādā, kas tai ir nepieciešams un kā tā ietekmē mūsdienu sabiedrību. Skaidro atšķirības starp mākslīgo intelektu un vienkāršu algoritmu izmantošanu dažādās dzīves situācijās. (T.O.2.4.18., T.O.3.2.5.)

Attīstīta ieradumu lietpratīgi un atbildīgi izmantot informācijas un komunikācijas tehnoloģiju iespējas, saskatot mašīnmācīšanās principus ikdienā un skaidrojot šo principu izmantošanas iespējas. (Tikums – gudrība; vērtība – darbs)

Jēdzieni: klase (class), objekts (object), metode (method), īpašība (property), mašīnmācīšanās (machine learning), mākslīgais intelekts (artificial intelligence), datorredze (computer vision), vadītā/nevadītā mašīnmācīšanās (assisted/unassisted machine learning).

Programmēšana I

38© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Temata apguves norise

Programmē, izmantojot objektorientēto pieeju

Aplūko piemērus programmēšanas valodas papildu moduļiem jeb bibliotēkām, kurās jau ir ieviesti dažādi algoritmi, vizualizācijas iespējas u. tml. Aplūko koda piemērus konkrētas bibliotēkas lietošanai, kuros tiek izmantoti objektorientētās programmēšanas principi, un ar skolotāja palīdzību izmēģina bibliotēku (piemēram, Python Turtle, Tinytag vai Pagan) funkcionalitāti savā programmā.

Aplūkojot vienkāršu piemēru, analizē objektorientētās programmēšanas pamatprincipus un terminoloģiju, lai varētu savos projektos efektīvi izmantot papildu bibliotēku funkcionalitāti un komunicēt ar citiem izstrādātājiem. Saviem vārdiem skaidro jēdzienus klase (class), objekts (object), īpašība (property/field) un metode (method).

Pārrunā, kādas īpašības varētu piederēt klasei, piemēram, vārds, krāsa, garums, platums, augstums, virziens, vecums, materiāls, saturs, cena, adrese. Pieraksta dotu klašu piemēru īpašības.

Pārrunā, kādas būtu klases metodes (darbības), piemēram, izveidot, izdzēst, ieslēgt, izslēgt, pievienot, izdrukāt. Pieraksta dotu klašu piemēru metodes.

Aktualizē, ka jau pazīstamās simbolu virknes ir objekti ar metodēm, izmanto dažas simbolu virknes metodes uzdevuma veikšanai, piemēram, dalīšanu mazākās virknēs.

Izpēta kases čeku no kāda veikala, novēro un pieraksta, kāda informācija uz tā ir atrodama, un spriež, kā sauktu attiecīgās klases īpašības. Izplāno un izveido klasi, kura apraksta kases čeku kases aparāta atmiņā, piemēram Ceks, vai Cheks.

Veido kases aparāta vēlamās funkcionalitātes sarakstu, piemēram, čeku iespējams izveidot un izdrukāt, tam iespējams pievienot un dzēst jaunus pirkumus, iespējams aprēķināt pirkumu summu.

Izstrādā risinājumam nepieciešamo funkcionalitāti. Testē, sastādot testa plānu, un pēc nepieciešamības atkļūdo risinājumu un demonstrē to citiem.

Izvēlas un izmanto papildu bibliotēku resursus

Meklē un izvēlas atbilstošu bibliotēku, atrod tās instalācijas un lietošanas dokumentāciju, instalē, pievieno (importē) savā projektā, lasa dokumentāciju un piemērus, lieto funkcionalitāti. Praktizējas meklēt dažādas bibliotēkas, kuras nodrošina doto funkcionalitāti, piemēram, vizualizāciju, audio apstrādi, statistiskus aprēķinus. Ievērojot bibliotēkas licences nosacījumus, uzstāda un izmanto bibliotēku konkrēta uzdevuma risināšanai, piemēram, datu kopas vizuālai attēlošanai ar Plotly.

Salīdzina lietotāja grafisko saskarni ar teksta vidi un diskutē par priekšrocībām un trūkumiem. Atbilstoši kases aparāta lietotāja vajadzībām izveido skici vienkāršam tā vizuālajam izskatam (logs ar dažiem teksta laukiem un pogām).

Pēta skolotāja piedāvātas grafiskās lietotāja saskarnes bibliotēkas (piemēram, TkInter) mājaslapu un dokumentāciju. Sekojot pamācībai bibliotēkas mājas lapā, uzstāda bibliotēku un, izmantojot piemērus, raksta programmu, kura izveido vienkāršu logu ar pogu.

Pievieno grafiskās lietotāja saskarnes bibliotēku savai kases aparāta programmai un veic izmaiņas programmā, izveidojot vizuālo izskatu atbilstoši skicei.

Programmēšana I

39© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Konfigurē drošības parametrus tīklā

Apskata un salīdzina operētājsistēmas un to izmantošanas iespējas dažādu datortīklu veidošanā.

Pārrunā lokālā tīkla un globālā tīmekļa nozīmi un atšķirības. Aplūko atšķirību starp pieslēgšanos tīklam caur tīkla kabeli, Wi-Fi un mobilajiem datiem. Izmēra un salīdzina datu pārraides ātrumu dažādiem pieslēguma veidiem.

Pārrunā, vai drošības pasākumi ir vajadzīgi, lai nodrošinātu tīkla piekļuvi. Konfigurē savu Wi-Fi pieejas punktu ar paroli (ja iespējams, ar Wi-Fi maršrutētāju, ja ne – ar Wi-Fi Hotspot viedtālrunī).

Pārrunā, kas nepieciešams, lai lietotu tīkla resursus (tīmekļa adrese, IP adrese). Iepazīstas ar tīmekļa uzbūves pamatiem (HTTP), eksperimentē un novēro reālu tīmekļa lapu uzbūvi, piemēram, izmantojot Postman vai Chrome Developer Tools. Diskutē par starpību starp klientu un serveri un abu lomu globālajā tīmeklī.

Apgūst klientservera arhitektūras principus un to izmantošanu vairāklietotāju čata sistēmas uzbūvei. Pārrunā iespējamos risinājumus, izmantojot tikai esošās zināšanas un spriež, kas būtu jāapgūst papildus.

Pievieno tīklošanas bibliotēku vienkāršākai tīkla resursu lietošanai, piemēram, Python Requests. Izmantojot piemērus, raksta programmu datu iegūšanai no publiskas tīmekļa vietnes, piemēram, google.com vai data.gov.lv. Papildina programmu ar datu iegūšanu no publiskas API, piemēram, https://randomuser.me vai https://api.chucknorris.io lapas. Salīdzina iegūto datu formātu un diskutē par to lietošanas ērtumu programmēšanas kontekstā un atšķirībām starp API un tīmekļa lapu.

Pievieno Python Flask (vai Python Bottle) bibliotēku vienkārša tīmekļa servera izveidošanai. Izmantojot piemērus, veido vienkāršu tīmekļa serveri, kurš atgriež tekstu “Sveika, pasaule”. Papildina to ar iespējām atgriezt no ārējās API iegūtos datus.

Šifrē datus Iepazīstas ar datu šifrēšanas lietošanu un nepieciešamību šifrēt datus dažādos digitālos un tiešsaistes produktos. Diskutē par drošības riskiem, izmantojot tīmekli pa atvērta teksta pieslēgumu (HTTP). Argumentē, kādēļ nepieciešams izmantot šifrētu pieslēgumu (HTTPS).

Iepazīstas ar simetrisko un asimetrisko šifrēšanu un jaucējfunkcijām, apskata to pielietojumu dažādos pazīstamos kontekstos. Salīdzina dažas kriptogrāfijas bibliotēkas (piemēram, Python bcrypt, Cryptography), to pielietojumu un atbilstību konkrētām situācijām.

Veido datorprogrammu, kura, izmantojot kriptogrāfijas bibliotēku, šifrē un atšifrē tekstu vai simbolu virkni.

Programmēšana I

40© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Atpazīst mašīnmācīšanās pamatprincipus

Pārrunā, kāpēc tehnoloģijas (it īpaši digitālās) arvien uzlabojas – bieži vien esošus risinājumus ir iespējams lietot kā pamatu jauniem risinājumiem, kas paātrina izstrādes procesu. Analizē konkrētus risinājumus, piemēram, ceļu satiksmes regulēšana, medicīnisku operāciju veikšana, iepirkšanās (gan fiziskā veikalā, gan internetā).

Iepazīstas ar dažādiem brīvi tiešsaistē pieejamiem mašīnmācīšanās produktiem, piemēram, https://deep­image.ai attēlu uzlabošanai, https://deepdreamgenerator.com un https://deepart.io attēlu veidošanai, https://www.autodraw.com zīmēšanai. Salīdzina to iespējas un piedāvā idejas, kā šādus produktus var izmantot savos projektos.

Secina, kādi ir mašīnmācīšanās pamatprincipi, un saviem vārdiem skaidro mašīnmācīšanās atšķirību no programmēšanas, kurā tiek izmantoti algoritmi. Piemēram, secina, ka, izmantojot mašīnmācīšanos, algoritmu neprogrammē konkrēti, bet dod iespēju programmai mācīties no piemēriem (vadītā mašīnmācīšanās) vai mācīties, salīdzinot un grupējot ievaddatus (nevadītā mašīnmācīšanās).

Skaidro, kāpēc iznākuma kvalitāte ir ļoti atkarīga no ievaddatiem, min piemērus, kā nepilnīgi ievaddati var padarīt teorētiski labu mašīnmācīšanās produktu par problemātisku vai nederīgu, piemēram, iPhone sejas atpazīšanas programma, kurā netika apsvērti dažādu rasu cilvēku atšķirīgās sejas vaibstu iezīmes, tādejādi radot trūkumus programmatūras lietošanā.

Aplūko piemērus mašīnmācīšanās lietošanai sociālajos tīklos un tiešsaistes veikalos, piemēram, “raksti, kuri jums varētu patikt” (stories you might like), “produkti, kuri jums varētu patikt” (products you might like). Diskutē par ieguvumiem, trūkumiem un ētikas problēmām, pielietojot mašīnmācīšanos šajās jomās.

Izvēlas konkrētu piemēru, kā šobrīd tiek izmantota mašīnmācīšanās (piemēram, IBM Watson, OpenAI GPT-3, spēļu spēlētāji – AlphaGo, OpenAI Five, https://experiments.withgoogle.com/ai­duet klavieru spēlētājs), izpēta to – nosaka pielietojuma mērķi, principus, iespējamas problēmsituācijas u. tml. – un prezentē apkopoto informāciju par mašīnmācīšanās pielietojumu kādā sevi interesējošā jomā.

Mācību līdzekļi

Mācību materiāli • Skola2030 mācību līdzeklis• Publiskas tīmekļa vietnes datu iegūšanai:

○ Google [tiešsaiste]. Google LLC. [skatīts 24.07.2020.]. Pieejams: https://www.google.com

○ Latvijas Atvērto datu portāls [tiešsaiste]. Valsts Reģionālās attīstības aģentūra. [skatīts 24.07.2020.]. Pieejams: https://data.gov.lv/lv

• Publiskas API:○ Random User Generator [tiešsaiste]. Arron J. Hunt un Keith Armstrong.

[skatīts 24.07.2020.]. Pieejams: https://randomuser.me ○ chucknorris.io [tiešsaiste]. Mathias Schilling. [skatīts 24.07.2020.]. Pieejams:

https://api.chucknorris.io

• Tiešsaistē pieejami mašīnmācīšanās produkti: ○ Deep-Image [tiešsaiste]. Teonite. [skatīts 24.07.2020.]. Pieejams: https://deep­image.ai ○ Deep Dream Generator [tiešsaiste]. Deep Dream Generator. [skatīts 24.07.2020.].

Pieejams: https://deepdreamgenerator.com ○ DeepArt [tiešsaiste]. DeepArt UG. [skatīts 24.07.2020.]. Pieejams: https://deepart.io ○ AutoDraw [tiešsaiste]. Dan Motzenbecker un Kyle Phillips. [skatīts 24.07.2020.].

Pieejams: https://www.autodraw.com ○ AI Duet [tiešsaiste]. Yotam Mann. [skatīts 24.07.2020.]. Pieejams:

https://experiments.withgoogle.com/ai­duet• Bezmaksas tiešsaistes mašīnmācīšanās kursu sērija:

o Elements of AI [tiešsaiste]. Reaktor un Helsinku Universitāte. [skatīts 24.07.2020.]. Pieejams: https://course.elementsofai.com/lv

Programmēšana I

41© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Darba piederumi• Bibliotēkas (piemēram, Python Turtle, Python Requests, Python Flask, Python Bottle, Python

bcrypt, Cryptography, TkInter, Ploty, Tinytag vai Pagan) • Programmas pārbaudes rīki, piemēram, Postman vai Chrome Developer Tools• Programmas, kas izmanto mašīnmācīšanos, piemēram, IBM Watson, OpenAI GPT-3, spēļu

spēlētāji – AlphaGo, OpenAI Five

Mācību videDatorikas kabinets.

Metodiskais komentārs

Objektorientētas programmēšanas pieejas

Ieteicams pildīt dažādus uzdevumus, lai vingrinātos izmantot un noteikt atšķirības starp jēdzieniem “klase” (class), “objekts” (object), “īpašība” (property/field) un “metode” (method).

Izmanto piemērus, lai pārrunātu atšķirību starp klasi un objektu, piemēram, Datorspēles tēls (klase) – Pikachu (objekts), Steve (objekts); Ierīce (klase) – novērošanas kamera uz skolas vārtu kreisā staba (objekts); Čeks (klase) – Gvido šodienas skolas ēdnīcas pusdienu čeks (objekts), Hermiones vakardienas grāmatnīcas čeks (objekts). Izdomā un nosauc vēl citus klases un objektu piemērus.

Mašīnmācīšanās pamatprincipu papildu apguve

Lai apgūtu mašīnmācīšanās principus, iespējams izmantot Elements of AI bezmaksas tiešsaistes kursu sēriju, kura pieejama https://course.elementsofai.com/lv.

Maršrutētāja konfigurēšana

Ja nav iespējams izmantot Wi-Fi maršrutētāju, kā alternatīvu iespējams konfigurēt viedtālrunī pieejamo karstvietu (Hotspot).

Programmēšana I

42© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt

un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi

savā projektā izmantot jau esošu

risinājumu?

6. Kā īstenot risinājumu?

6. Kā īstenot risinājumu?

Ieteicamais laiks temata apguvei: 50 mācību stundas.

Temata apguves mērķis: izstrādāt projektu (datorprogramma un tās ieviešanas plāns) izmantojot pilnu dizaina procesa ciklu, lai radītu noderīgu digitālu risinājumu.

Programmēšana I

43© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Sasniedzamie rezultāti

Ziņas Prasmes

• Izstrādājot programmatūru, ir noteikta veicamo darbību secība. (T.Li.2.)• Eksistē vairāki programmatūras izstrādes modeļi. (T.Li.2.)• Programmatūras prasību specifikācija palīdz veikt programmatūras izstrādi. (T.Li.2.)• Vizuāli patīkama un ērta lietotnes saskarne motivē lietotāju izmantot lietotni. (T.Li.2.)• Lai izveidotu pieprasītu risinājumu, ir jānosaka risinājuma mērķauditorija un jāizzina

tās vajadzības. (T.Li.1., T.Li.3.)• Lai aizsargātu savu risinājumu, ir jāparedz intelektuālā īpašuma aizsardzības veids.

(T.Li.3.)• Ir daudzi programmatūras izstrādes moduļi – ūdenskrituma, V­modelis, pakāpeniskais,

iteratīvais un citi. (T.Li.2.)• Plānojot risinājumu, jāparedz tā izmantošanas veids un ietekme uz lietotāja veselību

un labklājību. (T.Li.3.)

• Izstrādā programmatūru, izmantojot iteratīvo izstrādes modeli. (T.O.2.4.2.)• Programmatūras izstrādes modeļa izveidē ievēro tā galvenos izstrādes posmus.

(T.O.2.4.3.)• Izveido vienkāršotu un lietotājam saprotamu programmatūras ceļvedi. (T.O.2.4.7.)• Izmanto programmēšanas valodas dokumentāciju. (T.O.2.4.10.)• Izveido vienkāršotu programmatūras prasību specifikāciju. (T.O.2.4.4.)• Risinājuma izstrādes laikā ievēro darba drošības prasības. (T.V.3.1.2.)• Paredz nepieciešamos pasākumus darba aizsardzības prasību nodrošināšanai visā

risinājuma izstrādes procesā. (T.V.3.1.2.)• Veic attēlu, audio un video datņu apstrādi, veidojot programmatūrai nepieciešamos

grafiskos elementus. (T.V.2.2.3.)• Ievēro godīga dizaina principus un paredz sava risinājuma intelektuālā īpašuma

aizsardzības veidu. (T.O.3.1.5.)• Paredz risinājuma izmantošanas ietekmi uz cilvēka veselību un labklājību, rīkojas,

lai samazinātu negatīvo ietekmi. (T.V.3.1.1.)

Komplekss sasniedzamais rezultāts Ieradumi

Ievērojot dizaina procesa soļus, izstrādā projektu, kas ar programmēšanas un programmvadāmo ierīču palīdzību atrisina kādu lokālu problēmu. (T.O.1.1.2., T.O.2.4.1, T.O.2.4.8, T.O.2.4.13.)

• Attīsta ieradumu veidot cieņpilnas attiecības, komunicējot ar lietotāju. (Tikums – laipnība; vērtība – cilvēka cieņa)

• Attīsta ieradumu uzdrošināties pašizpausties un gūt jaunu pieredzi, lai realizētu programmēšanas projektu. (Tikums – drosme; vērtība – darbs)

• Attīsta ieradumu izprast un risināt kompleksas problēmas, lai izstrādātu programmēšanas projektu. (Tikums – gudrība; vērtība – darbs)

• Attīsta ieradumu sekmīgi darboties digitālajā vidē, digitāli veicot lietotāju aptauju un datu apstrādi. (Tikums – gudrība; vērtība – darbs).

• Attīsta ieradumu lietpratīgi un atbildīgi izmantot informācijas un komunikācijas tehnoloģiju iespējas, veidojot projekta prezentāciju un dokumentāciju. (Tikums – gudrība; vērtība – darbs).

Jēdziens: programmatūras izstrādes modelis (Software Development Methodology).

Programmēšana I

44© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Temata apguves norise

Apzina, izpēta un analizē problēmu/vajadzību

Individuāli vai grupās identificē kādu lokālu problēmu, kuru varētu atrisināt, izstrādājot vairāklietotāju programmu, piemēram, čats klases komunikācijas nodrošināšanai. Aplūko un salīdzina dažādu līdzīgu risinājumu – programmu un vietņu – funkcionalitāti (piemēram, aplūko čata vietnes WhatsApp, Skype, Discord, Slack).

Izvēlas un lieto mērķim atbilstošu lietotāju izpētes metodi, lai iegūtu datus par risinājuma nepieciešamību, potenciālo pieprasījumu, vēlamo izskatu un funkcionalitāti. Apkopo rezultātus un, vadoties pēc tehniskām iespējām, sagatavo argumentētu izvērtējumu par pieņemamām un atmetamām vēlmēm. Veido programmas aprakstu, apkopo lietotāju prasības un tehnisko specifikāciju. Nosaka noteicošos kritērijus, lai novērtētu, vai vēlamais rezultāts ir sasniegts.

Aktualizē apgūtos pamatprincipus un aplūko piemērus HTML un CSS lietošanā. Izveido vienkāršu tīmekļa lapu ar informāciju par topošo projektu.

Analizē drošības riskus, izstrādājot vairāklietotāju tīmekļa programmu. Diskutē par drošības jautājumu nozīmi projekta plānošanā. Vienojas par minimālām drošības prasībām projekta veidošanas un ieviešanas gaitā, piemēram, pieeja čatam tikai ar paroli.

Analizē piemērus tam, kā līdzīgu risinājumu izmantošana ietekmē lietotājus, to fizisko un garīgo veselību un drošību. Diskutē par ētisku risinājumu izveidi. Sava risinājuma izstrādē veido aprakstu par tā ietekmi uz lietotājiem un vidi.

Izstrādā prototipu un plāno savu risinājumu

Balstoties uz izstrādāto projekta koncepciju, grupas dalībnieki vienojas par darbu sadali un izplāno izstrādi, nosakot katra atbildību.

Plāno projekta uzdevumus un izstrādes soļus, piemēram, čata tīmekļa lietotnei,• pāros zīmē risinājuma blokshēmu;• vienojas par servera un klienta komunikācijas parametriem ziņu lasīšanai (URL shēmu, datu formātu);• pirmais skolēns izveido servera daļu, kurā var lasīt esošās čata ziņas caur Postman vai Developer Tools;• otrais skolēns izveido klienta daļu, kura izmanto servera daļu un parāda čata ziņas neformatētā veidā;• otrais skolēns pārbauda, vai tiek parādīts kļūdas paziņojums, ja serveris nav sasniedzams;• vienojas par servera un klienta komunikācijas parametriem ziņu sūtīšanai (URL shēmu, datu formātu);• otrais skolēns klienta daļai pievieno ievades lauku, kurš nosūta ievadīto ziņu uz serveri;• pirmais skolēns servera daļai pievieno saņemto datu apstrādes funkcionalitāti;• pirmais skolēns pārbauda, vai tiek parādīts kļūdas paziņojums, ja lietotāja ievade nav pareiza.

Izstrādā un testē savu risinājumu

Analizē piemērus ar dažādiem programmatūras izstrādes modeļiem (piemēram, ar ūdenskrituma, V­modeli, iteratīvo un pakāpenisko), salīdzina to darbības principus un efektivitāti dažādās situācijās.

Projektu veic iteratīvi un dokumentē tā norisi: 1. Atbilstoši plānam veido risinājumu un nepieciešamības gadījumā izmanto programmēšanas valodas dokumentāciju.2. Pārbauda risinājumu.3. Demonstrē risinājumu citiem skolēniem vai skolotājam un iegūst atgriezenisko saiti.4. Salīdzina risinājumu ar plānu, kuru izlabo atbilstoši realitātei un ieteikumiem.5. Ja nepieciešami uzlabojumi, atgriežas pie 1. punkta.

Demonstrē gatavo risinājumu, stāsta par projekta gaitā pārvarētajām grūtībām.

Programmēšana I

45© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Ievieš savu risinājumu Izstrādā sava risinājuma dokumentāciju gala lietotājam, piemēram, lietotāja ceļvedi, reklāmas bukletu vai atgādni, kura izveidē pēc nepieciešamības veic attēlu, audio un video datņu apstrādi. Publicē projektu publiski pieejamā tīmekļa vietnē, izmantojot Repl.it, Heroku, PythonAnywhere vai citus mākoņpakalpojumus. Analizē citus risinājuma publicēšanas veidus.

Testē paša un citu izstrādātos projektus, vērtē to atbilstību iepriekš definētajiem kritērijiem. Labo citu norādītās kļūdas savā projektā.

Izvēlas un pamato sava risinājuma intelektuālā īpašuma aizsardzības veidu.

Prezentē savu projektu lietotājiem.

Mācību līdzekļi

Mācību materiāli • Skola2030 mācību līdzeklis• Mākoņpakalpojumi projekta publicēšanai:

○ Repl.it [tiešsaiste]. Repl.it. [skatīts 24.07.2020.]. Pieejams: https://repl.it ○ Heroku [tiešsaiste]. Heroku. [skatīts 24.07.2020.]. Pieejams: https://www.heroku.com ○ PythonAnywhere [tiešsaiste]. PythonAnywhere LLP. [skatīts 24.07.2020.]. Pieejams:

https://www.pythonanywhere.com

Mācību videDatorikas kabinets.

Metodiskais komentārs

Pašvadīta mācīšanās Visvairāk uzmanības jāvelta laika plānošanas rīku apguvei un skolēnu pašvadītam laika plānošanas procesam, jo projekta darbs ir individuāls un skolēni paši organizē savu laiku. Var rasties situācijas, kas būtiski ietekmē darba izpildi, – skolēnam pietrūkst laika vai ir jāmaina risinājuma koncepcija.

Projekta vērtēšana pa starpposmiem

Lai sekotu līdzi projekta progresam, skolēna darbs tiek vērtēts pa starpposmiem – idejas radīšana (idejas koncepcija), plānošana (darba plāns, lomu sadale u. c.), analīze (tirgus izpēte, apraksts par risinājuma lietderību un efektivitāti), projektēšana (programmēšanas uzdevumu izvirzīšana), attīstība (programmētā risinājuma izstrāde), testēšana (pilns testēšanas cikls, datu iegūšana un analīze, uzlabojumu veikšana), ieviešana (dokumentācija lietotājam, apmācība), uzturēšana (uzturēšanas plāns).

Projekta noslēgumā skolēni prezentē savu risinājumu un stāstījumā iekļauj būtiskākos izstrādes posmus un paveikto.

Par katru dokumentēto starpposmu skolēns saņem atgriezenisko saiti no skolotāja un/vai citiem skolēniem.

Programmēšana I

46© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Pielikumi1. pielikums

Mācību priekšmetu kursu programmu paraugos lietotie kodi

Atsaucei uz standartu1 mācību priekšmetu kursu programmu paraugos izmantoti šādi plānoto skolēnam sasniedzamo rezultātu (SR) un lielo ideju (Li) kodi. (Standarta pielikumi, kuros lietoti šie kodi, atrodami Skola2030 tīmekļa vietnē.)

SR kodiPiemērs:

1 Ministru kabineta 2019. gada 3. septembra noteikumi Nr. 416 “Noteikumi par valsts vispārējās vidējās izglītības standartu un vispārējās vidējās izglītības programmu paraugiem”.

VL.O.2.1.VL. O. 2.1.Mācību joma (visu mācību jomu apzīmējumus sk. tabulā)

Kursa apguves līmenis (visu kursu apguves līmeņu apzīmējumus sk. tabulā)

Mācību jomas SR kārtas numurs standartā

Li kodiPiemērs:

VSK.S. Li.6.VSK. S. Li.6.Vispārējās vidējās izglītības pakāpe

Mācību joma Mācību jomas SR kārtas numurs standartā

Kursu apguves līmeņu apzīmējumi

V Vispārīgais līmenis

O Optimālais līmenis

A Augstākais līmenis

Mācību jomu apzīmējumi

V Valodu mācību joma

VL Latviešu valoda

VS Svešvaloda

K Kultūras izpratnes un pašizpausmes mākslā mācību joma

S Sociālā un pilsoniskā mācību joma

D Dabaszinātņu mācību joma

M Matemātikas mācību joma

T Tehnoloģiju mācību joma

F Veselības, drošības un fiziskās aktivitātes mācību joma

2.1. Izvēlas, atlasa un izmanto informāciju no dažādiem avotiem sava teksta izveidei saskaņā ar konkrētajām vajadzībām un mācību mērķiem.

2.1. Lai daudzpusīgi izzinātu noteiktu problēmu, jautājumu vai tematu un veidotu savu tekstu, mērķtiecīgi izvēlas, kārto, analizē un vērtē informāciju, salīdzinot dažādos avotos publicēto tekstu saturu un tajos izmantotos valodas līdzekļus.

2.1. Pēta valodas un literatūras jautājumu atspoguļojumu plašsaziņas līdzekļos, lai pēc noteiktiem kritērijiem izvērtētu informāciju un veidotu spriedumus par šo ziņu kvalitāti, aktualitāti un izmantojamību savu tekstu izveidei.

6. Jebkurš informācijas avots, kas ataino norises sabiedrībā pagātnē un mūsdienās, ir vērtējams kritiski.

Programmēšana I

47© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

2. pielikums

Pamatkursā Programmēšana I plānotie skolēnam sasniedzamie rezultāti

Vispārīgais apguves līmenis Optimālais apguves līmenis

1. Dizaina risinājumi (produktu, informācijas, vides un pakalpojumu dizains) tiek radīti dizaina procesā

1.1. Dizaina procesa īstenošana

1.1.1. Salīdzina līdzīgus risinājumus un raksturo tajos izmantotos materiālus, tehnoloģiskos procesus, to priekšrocības un trūkumus, nosaka, kādi dizaina procesa soļi un darbības veiktas, lai tos radītu.

1.1.2. Pēta un izvērtē dizaina risinājumu dzīves ciklā iesaistīto darbinieku (dizainera, ražošanas vadītāja, programmētāja, projektu vadītāja, materiālzinātnieka u. c.) lomu risinājumu izstrādes procesā. Reflektē par savām prasmēm un profesionālajām interesēm attiecīgajā nozarē.

1.2. Lietotāju izpēte, vajadzību analīze un ideju radīšana

1.2.1. Noskaidro lietotāju paradumus, intereses un to, kādus risinājumus un kādā veidā tie ikdienā izmanto, lietojot dažādas pētniecības metodes.

1.3. Prototipēšana un variantu veidošana

1.3.1. Plānojot risinājumu, veido tā modeļus un variantus, lai veiktu nepieciešamās izmaiņas un uzlabojumus gala risinājuma idejā.

1.3.2. Testē un lieto radīto risinājumu iterācijas, analizē iegūtos datus un formulē pamatotus ierosinājumus, lai pilnveidotu risinājuma izstrādes darba plānu.

Programmēšana I

48© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

2. pielikums

Vispārīgais apguves līmenis Optimālais apguves līmenis

2. Atbilstošu un drošu materiālu un tehnoloģiju izvēle, to prasmīga izmantošana dod iespēju radīt labākus dizaina risinājumus (produktu, informācijas, vides un pakalpojumu dizains)

2.1. Darbs ar materiāliem un to apstrādes tehnikas

2.1.1. Tehnoloģiju izvēlē ņem vērā informāciju par darba apstākļu ietekmi uz lietotāju veselību un vidi, lai neradītu apdraudējumu sev un citiem.

2.1.2. Salīdzina dažādas programmvadāmas ierīces un to izmantojamību sadzīves un ražošanā, tai skaitā datorvadāmās iekārtas datorizētu telpisku modeļu, digitālu rasējumu un attēlu izveidē.

2.2. Informācijas dizaina risinājumu izstrāde

2.2.1. Atpazīst un analizē informācijas dizaina pamatprincipu izmantošanu daudzveidīgos piemēros.

2.2.2. Salīdzina dažādos medijos izmantotos informācijas dizaina risinājumus, analizē konkrēto piemēru priekšrocības un trūkumus.

2.2.3. Veido un apstrādā digitālus attēlus, audio un video datnes, lietojot dažādas lietotnes atbilstoši dotajam uzdevumam.

2.3. Programmvadāmu ierīču pārvaldība, lietotņu un tām raksturīgāko un kopīgo funkciju izmantošana

2.3.1. Nosauc un raksturo ar piemēriem biežāk lietotos datortīkla veidus un risinājumus, t. sk. akcentējot tā drošību. Izvēlas piemērotāko pieejamo datortīklu, ņemot vērā drošības apsvērumus un izmaksas.

2.3.1. Salīdzina dažādu veidu datortīklus, to uzbūvi, drošības risinājumus un lietošanas iespējas atbilstoši mērķauditorijai. Veic maršrutētāja konfigurēšanu, izmantojot vedni datortīkla vajadzībām.

2.3.2. Izmanto dažādu lietotņu piedāvātās dokumentu koplietošanas iespējas, nosakot atšķirīgiem lietotājiem atšķirīgas piekļuves, rediģēšanas un komentēšanas tiesības un iespējas.

2.3.2. Izmanto dažādās lietotnēs pieejamās programmēšanas iespējas, izstrādājot vienkāršas programmas (skriptus) piedāvāto datu apstrādes iespēju papildināšanai un lietotāja darba produktivitātes paaugstināšanai.

Programmēšana I

49© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

2. pielikums

Vispārīgais apguves līmenis Optimālais apguves līmenis

2.3.3 Sagatavo, rediģē un formatē lielus strukturētus dokumentus, iekļaujot dažādus objektus (t. sk. attēlus, tabulas, vēres, mijnorādes, galvenes, kājenes, automātiskos satura, attēlu, priekšmetu (alfabētiskos) rādītājus, kā arī literatūras (avotu) sarakstu un atsauces uz tiem) un izmantojot lietotnēs iebūvētos darba efektivitātes un automatizācijas rīkus.

2.3.3. Patstāvīgi meklē un izmanto publiski pieejamus digitālus mācību materiālus un krātuves, datus un informācijas avotus savu zināšanu papildināšanai un risinājumu izstrādei.

2.3.4. Sagatavo mērķauditorijas aptaujas un anketēšanas formas, organizē aptaujas un anketēšanu, veic iegūto datu manuālu un automatizētu apkopošanu.

2.3.5. Sagatavo, rediģē un formatē izklājlapas (rēķintabulas), veicot nepieciešamos aprēķinus, izmantojot matemātiskās darbības un iebūvētās funkcijas, kas izprotamas izglītības iestādē apgūtā mācību satura ietvaros. Veic datu atlasi, kārtošanu un aprēķinus atbilstoši dotajiem kritērijiem, kā arī ievades un formulu validāciju.

2.3.6. Izmantojot datu analīzes automatizācijas un vizualizācijas rīkus, veic datu pārstrukturēšanu, t. sk. datu konsolidāciju un rakurstabulas, un attēlošanu, t. sk. veidojot diagrammas, infografikas, atbilstoši veicamā uzdevuma kontekstam.

2.3.7. Ar piemēriem skaidro jēdzienus datubāze, informācijas sistēmas un atvērtie dati. Veic datu izguvi no publiski pieejamām datubāzēm un iegūto datu pēcapstrādi.

2.3.4. Veido datubāzes, novēršot datu dublēšanos, veic datu apstrādi (t. sk. atlasi un pārstrukturēšanu), izmantojot vaicājumus, formas un pārskatus.

2.3.8. Izvēlas, pielāgo un lieto piemērotākos saziņas, informācijas ieguves un apmaiņas rīkus un citus interneta pakalpojumus, kā arī laika plānošanas rīkus, veicinot sava ikdienas un mācību darba produktivitāti un efektivitāti.

2.3.9. Nosauc un ar piemēriem raksturo biežāk lietoto programmvadāmo ierīču operētājsistēmas. Sastāda nepieciešamo programmvadāmo ierīču, programmatūras un citu resursu sarakstu atbilstoši lietotāja vajadzībām konkrētā uzdevuma veikšanai.

2.3.10. Veido, rediģē, formatē un demonstrē prezentācijas, ievērojot informācijas atlases, attēlošanas un strukturēšanas pamatprincipus, izvērtējot mērķauditorijas specifiku un izmantojot atbilstošas sagataves un pieejamo tehnisko aprīkojumu.

2.3.11. Pielāgo operētājsistēmas un lietotnes iestatījumus lietotāju vajadzībām, veicinot ikdienas darba drošību un efektivitāti. Izvēlas konkrētā uzdevuma veikšanai piemērotāko(­ās) lietotni(­es) un pamato savu izvēli.

Programmēšana I

50© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

2. pielikums

Vispārīgais apguves līmenis Optimālais apguves līmenis

2.4. Programmatūras izstrāde

2.4.1. Analizē vienkāršus ikdienas darba procesus, atpazīst automatizācijai piemērotas daļas un raksturo automatizācijas iespējas.

2.4.1. Analizē vienkāršus ikdienas darba procesus, saskata tajos vai to daļās automatizācijas iespējas un sarunā ar programmatūras prasību specifikācijas izstrādātāju aprakstoši formulē problēmu un tās vēlamo risinājumu.

2.4.2. Nosauc un raksturo ar piemēriem programmatūras dzīves cikla galvenos posmus, t.sk. specificēšana, projektēšana, izstrāde, testēšana, uzturēšana.

2.4.2. Nosauc un raksturo ar piemēriem dažus programmatūras izstrādes modeļus, t. sk. ūdenskrituma, V­modeli, pakāpenisko un iteratīvo.

2.4.3. Izstrādā programmatūru individuāli, ievērojot programmatūras izstrādes modeļa galvenos posmus, veic katra posma vienkāršotu dokumentēšanu pēc parauga.

2.4.4. Pēc parauga sastāda vienkāršotu programmatūras prasību specifikāciju atbilstoši uzdevumam, ievērojot mērķauditorijas vajadzības.

2.4.5. Pēc parauga izstrādā vienkāršotu programmatūras projektējumu atbilstoši programmatūras prasību specifikācijai un uzdevumam.

2.4.6. Veic programmatūras izstrādi un testēšanu atbilstoši izstrādātajai programmatūras prasību specifikācijai un projektējuma aprakstam.

2.4.7. Izstrādā izveidotās programmatūras vienkāršotu lietotāja ceļvedi. Prezentē un dalās ar izveidoto programmatūru, ievērojot tās lietotāju mērķauditorijas specifiku.

2.4.8. Veido programmu, izmantojot vienu doto veidu tās pieraksta strukturēšanā un komentāru veidošanā, kā arī ievērojot izvēlētās programmēšanas valodas sintaksi.

2.4.9. Lieto vienu versiju pārvaldības rīku programmatūras risinājuma izstrādes procesā.

2.4.10. Izmanto programmēšanas valodas dokumentāciju un palīdzības sistēmu.

2.4.11. Skaidro ar piemēriem, kas ir API (programmsaskarne) un kādas ir tās izmantošanas iespējas.

Programmēšana I

51© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

2. pielikums

Vispārīgais apguves līmenis Optimālais apguves līmenis

2.4.12. Nosauc populārākās programmēšanas valodas un ar piemēriem raksturo to izmantošanas iespējas un ierobežojumus dažāda veida programmatūras izstrādē. Izmanto vienu (pedagoga ieteikto) programmēšanas valodu un tai atbilstošo programmatūras izstrādes vidi.

2.4.13. Lieto atbilstošas programmēšanas valodas konstrukcijas (t. sk. zarošanās un cikla priekšrakstus) un datu tipus, kā arī tām atbilstošas standarta bibliotēku biežāk lietotās funkcijas un/vai procedūras, un/vai metodes programmatūras izstrādē. Organizē datu ievadi, veicot to validāciju, un izvadi, organizējot to formatēšanu.

2.4.14. Izmanto dažas datu struktūras (t. sk. viendimensijas un divdimensiju masīvus un teksta datnes) un gatavus algoritmus to apstrādei.

2.4.15. Skaidro ar piemēriem jēdzienus funkcija, procedūra, klase, objekts, metode, lauks (atribūts) un notikums.

2.4.16. Skaidro ar piemēriem jēdzienu algoritma sarežģītība. Veic vienkāršotu izstrādātās programmatūras ātrdarbības aptuvenu novērtējumu.

2.4.17. Izstrādā programmu, piesaistot vienkāršu datubāzi ar vienu tabulu, risinot vienkāršu datu apstrādes uzdevumu.

2.4.18. Nosauc vismaz vienu lietotni, kurā tiek izmantota mašīnmācīšanās, raksturo ar piemēriem ieguvumus, kurus sniedz mašīnmācīšanās algoritmu izmantošana tajās.

2.4.19. Veido dotā uzdevuma (problēmas) risinājumu, izmantojot gatavus algoritmus un/vai pielāgojot vai kombinējot tos. Skaidro un salīdzina dažādus datu kārtošanas un meklēšanas algoritmus.

Programmēšana I

52© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

2. pielikums

Vispārīgais apguves līmenis Optimālais apguves līmenis

3. Dizaina risinājumus (produktu, informācijas un pakalpojumu dizaina, vides risinājumus) un programmatūru lieto un rada atbilstoši konkrēta lietotāja un sabiedrības vajadzībām, vēlmēm un iespējām

3.1. Dizaina risinājumu un programmatūru lietošanā un radīšanā tiek ņemti vērā vides ilgtspējas, darba drošības un ētiskie apsvērumi

3.1.1. Apzinās un skaidro faktorus, kas var ietekmēt un apdraudēt cilvēka fizisko un garīgo veselību, izstrādājot vai lietojot risinājumus, un veic pasākumus, lai izvairītos no apdraudējumiem un atkarībām, t. sk. viedierīču pārmērīgas lietošanas. Analizē savas darba vietas iekārtojumu atbilstoši ergonomikas prasībām un iekārto to atbilstoši veicamajam uzdevumam.

3.1.1. Raksturo prasības darba vides ergonomiskai iekārtošanai (izglītības iestādē, birojā, darbnīcā) un uzturēšanai, izvērtē darba vietas, kas nepieciešamas risinājuma izstrādei, modelē piemērotus darba apstākļus konkrētai darba vietai un procesam.

3.1.2. Risinājuma izstrādes procesā ievēro darba drošības prasības un lieto darba aizsardzības līdzekļus, paredz nepieciešamos darba aizsardzības līdzekļus apdraudējumu samazināšanai un pārbaudei.

3.1.3. Nosauc iespējamos drošības riskus, lietojot atvērtu datu apmaiņu, salīdzina atvērtas un šifrētas datu apmaiņas priekšrocības un trūkumus.

3.1.3. Salīdzina drošības risku novēršanas iespējas, lietojot programmvadāmas ierīces.

3.1.4. Skaidro sava risinājuma lietošanai nepieciešamo tehnoloģiju un veicamo darbību ietekmi uz lietotāju veselību un vidi, salīdzinot dažādus riska faktorus.

3.1.5. Risinājuma izstrādē un lietošanā ievēro programmatūras licences nosacījumus, intelektuālā īpašuma un personas datu aizsardzību.

3.2. Attīstoties un mijiedarbojoties zinātņu jomām, kultūrai un tehnoloģijām, rodas jauni, inovatīvi, konkurētspējīgi dizaina risinājumi

3.2.5. Ilustrē ar piemēriem un analizē, kā zinātniskie pētījumi ietekmē sasniegumus dažādās dzīves jomās un tehnoloģiju attīstību, lieto iegūto informāciju sava risinājuma koncepcijas izstrādē.

Programmēšana I

53© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

3. pielikums

Plānotie skolēnam sasniedzamie rezultāti caurviju prasmēs, beidzot vispārējās vidējās izglītības pakāpi

1. Kritiskā domāšana un problēmrisināšana:1.1. mērķtiecīgi formulē precīzus jautājumus, lai kritiski analizētu kompleksas situācijas un

abstraktas idejas. Izzina kontekstu, to analizē, kritiski izvērtē, kā arī sintezē un inter-pretē informāciju, lai sasniegtu konkrētu mērķi. Gūst vispusīgu, precīzu informāciju par kompleksiem jautājumiem, izvērtē tās ticamību un analizē, kādēļ atsevišķās situācijās iegūt ticamu informāciju ir grūti;

1.2. kompleksās situācijās spriež no konkrētā uz vispārīgo un no vispārīgā uz konkrēto. Pamana loģiskās argumentācijas kļūdas savos un citu izteikumos, novērš tās. Argu-mentē, pierādot izteiktā apgalvojuma ticamību un veidojot pamatotus secinājumus;

1.3. nosaka aktuālas vajadzības, precīzi formulē kompleksu problēmu un pamato nepiecie-šamību to risināt, izvirza mērķi, piedāvā vairākus risinājumus, izvērtē tos attiecībā pret mērķi, izvēlas īstenot labāko;

1.4. kompleksās, neskaidrās situācijās patstāvīgi izstrādā problēmas risinājuma plānu un īsteno to, izvēloties, lietojot un pielāgojot piemērotas problēmrisināšanas stratēģijas, elastīgi reaģē uz neparedzētām pārmaiņām, izvērtē paveikto un gūtos secinājumus izmanto arī citā kontekstā.

2. Jaunrade un uzņēmējspēja:2.1. interesējas par atklājumiem un inovācijām, proaktīvi meklē jaunas iespējas, kā efektīvi

uzlabot savu un citu dzīves kvalitāti, rosina uzlabot esošo situāciju, pieņem nepiere-dzētus, kompleksus izaicinājumus, saglabā emocionālu līdzsvaru un atvērtību neno-teiktības apstākļos;

2.2. raugoties uz situāciju no dažādiem skatpunktiem, pamana jaunas iespējas, mērķtie-cīgi un elastīgi izmanto vai attīsta pats savas ideju radīšanas stratēģijas, lai nonāktu pie jauniem un noderīgiem risinājumiem, efektīvi organizē resursus (cilvēku, zināšanu, kapitāla, infrastruktūras), lai īstenotu savu ieceri, patstāvīgi meklē, izvērtē un atbildīgi izmanto citu idejas, kā arī piedāvā savas, lai iedvesmotu citus;

2.3. gan patstāvīgi, gan grupā attīsta ideju ilgtspējīgā piedāvājumā, kļūdas un grūtības izmanto kā iespēju izaugsmei.

3. Pašvadīta mācīšanās:3.1. regulāri un atbilstoši savām vajadzībām izvirza īstermiņa un ilgtermiņa mērķus, formulē

kritērijus, pēc kuriem izvērtēt, vai mērķis ir sasniegts, plāno mērķa īstenošanas soļus, uzņemas atbildību par savu lomu soļu īstenošanā un mērķu sasniegšanā;

3.2. patstāvīgi un regulāri analizē un reflektē par savas darbības saistību ar emocijām, per-soniskajām īpašībām un uzvedību, rod veidus, kā attīstīt spējas pārvaldīt savu domā-šanu, emocijas un uzvedību;

3.3. patstāvīgi izvēlas, pielāgo un rada savas domāšanas stratēģijas kompleksās situācijās;3.4. pieņemot atbildīgus lēmumus, vada emocijas sociāli pieņemamā veidā un orientējas uz

iespējām, ieguvumiem un pozitīviem risinājumiem;3.5. patstāvīgi izmanto kritērijus, kas palīdz īstenot darba uzraudzīšanu un pilnveidošanu,

izvērtē, apkopo un turpmākā darba procesā mērķtiecīgi izmanto gūto pieredzi.

4. Sadarbība:4.1. plāno un īsteno personisko un grupas mērķu sasniegšanai nozīmīgu, cieņpilnu verbālu,

neverbālu un digitālu komunikāciju;4.2. piedalās gan viendabīgas, gan neviendabīgas grupas darba procesā, pieņem viedokļu

atšķirības, dalībnieku dažādo pieredzi un spējas, prognozē, novērš un risina domstar-pības un konfliktus, tostarp digitālā vidē;

4.3. mācību procesā un sabiedriskajā dzīvē apzināti orientējas uz kopīgo labumu un grupai nozīmīgu mērķu sasniegšanu, spēj pārstāvēt savas un respektēt citu intereses, ja gru-pas un paša vajadzības atšķiras.

5. Pilsoniskā līdzdalība:5.1. skaidro un pamato savu skatījumu par kopsakarībām gan vietējā, gan globālā mērogā,

izvērtē indivīdu, sabiedrības un vides mijiedarbību;5.2. balstoties savās vērtībās un cienot citu vērtības, izsvērti izvēlas pasākumus un ikdienas

situācijas, kurās iesaistīties un iesaistīt citus, cieņpilni pamatojot savu nostāju, prot atteikties, ja pasākums neatbilst vērtībām, un spēj nepakļauties grupas spiedienam, paliekot saistīts ar tiem, kuriem nepiekrīt;

Programmēšana I

54© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

3. pielikums

5.3. skaidro savas rīcības sekas un uzņemas par tām atbildību ikdienas situācijās, lokālos un globālos procesos;

5.4. patstāvīgi un kopā ar citiem gūst pieredzi, iesaistoties risinājumu meklēšanā un īsteno-šanā, kas palīdz uzlabot dzīves kvalitāti.

6. Digitālā pratība:6.1. lai īstenotu daudzveidīgas ieceres, mērķtiecīgi izvēlas vai pielāgo un efektīvi izmanto

atbilstošas digitālās tehnoloģijas;6.2. analizē digitālās komunikācijas ieguvumus un riskus, atbildīgi uzvedas un komunicē

digitālajā vidē atbilstoši savām un citu interesēm;6.3. kritiski analizē mediju radīto realitāti un informācijas ticamību, uzņemas atbildību rīko-

ties, lai novērstu nekvalitatīva mediju satura radīto ietekmi, un, radot savu mediju saturu, ievēro privātuma, ētiskos un tiesiskos nosacījumus;

6.4. analizē un novērtē tehnoloģiju lomu dažādos kontekstos, izvērtē veselīgus un drošus tehnoloģiju lietošanas paradumus, ievēro un pielāgo tos savām vajadzībām, reflektē par savu digitālo identitāti un tās atbilstību savām un sabiedrības interesēm.

Programmēšana I

55© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

4. pielikums

Skolēnam attīstāmie ieradumi programmēšanā vispārējās vidējās izglītības pakāpē optimālajā apguves līmenī

• Attīsta ieradumu izprast un risināt kompleksas problēmas,o lasot doto programmatūras prasību specifikāciju. (Tikums – gudrība; vērtība – darbs)o sadalot lielākas problēmas vairākās mazās. (Tikumi – gudrība, mērenība;

vērtība – darbs)o lai spētu strukturēt, analizēt un apstrādāt datus. (Tikums – gudrība; vērtība – darbs)o lai izstrādātu programmēšanas projektu. (Tikums – gudrība; vērtība – darbs)

• Attīsta ieradumu sekmīgi darboties digitālajā vidē,o izmantojot versiju vadības sistēmu. (Tikums – gudrība; vērtība – darbs)o digitāli veicot lietotāju aptauju un datu apstrādi. (Tikums – gudrība; vērtība – darbs).

• Attīsta ieradumu veidot cieņpilnas attiecības,o komunicējot ar lietotāju. (Tikums – laipnība; vērtība – cilvēka cieņa)o lai, komunicējot ar klasesbiedriem, korekti norādītu uz viņu pieļautajām kļūdām.

(Tikumi – laipnība, godīgums; vērtības – cilvēka cieņa, darbs)• Attīsta ieradumu lietpratīgi un atbildīgi izmantot informācijas un komunikācijas

tehnoloģiju iespējas,o plānojot un pārvaldot dažādus projektus. (Tikums – gudrība; vērtība – darbs)o saskatot mašīnmācīšanās principus ikdienā un skaidrojot šo principu izmantošanas

iespējas. (Tikums – gudrība; vērtība – darbs)o veidojot projekta prezentāciju un dokumentāciju. (Tikums – gudrība; vērtība – darbs)

• Attīsta ieradumu uzdrošināties pašizpausties un gūt jaunu pieredzi, lai realizētu programmēšanas projektu. (Tikums – drosme; vērtība – darbs)

• Attīsta ieradumu kļūdas uztvert kā iespēju izaugsmei, lai testēšanā atrastās kļūdas nākotnē vairs nepieļautu. (Tikumi – godīgums, gudrība; vērtība – darbs)

• Attīsta ieradumu paveikt darbu pēc iespējas kvalitatīvāk, lai pēc testa piemēru veikšanas būtu mazāk labojumu. (Tikums – atbildība; vērtība – darbs)

Programmēšana I

56© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

5. pielikums

Pamatkursa Programmēšana I tematu pārskats

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam

atbilstošu programmētu risinājumu un uzraudzīt

tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot

datus?

4. Kā sistemātiski pārbaudīt un atkļūdot

risinājumu?

5. Kā izvēlēties un efektīvi savā projektā izmantot jau

esošu risinājumu?

6. Kā īstenot risinājumu?

6. pielikums

Tehnoloģiju mācību jomas pamatkursu tematu/moduļu pārskats

Datorika (vispārīgais līmenis), temati Dizains un tehnoloģijas I (optimālais līmenis), moduļi Programmēšana I (optimālais līmenis), temati

1. Programmvadāmas ierīces

2. Darba organizācijas rīki

3. Dokumentu strukturēšana

4. Informācijas dizains

5. Datu apstrāde

1. Vides dizaina risinājumu izveide, balstoties uz lietotāju vajadzībām

2. Prototipēšana un plānveida testēšana produktu dizainā

3. Ilgtspējīgu modes produktu izgatavošana un to virzīšana tirgū

4. Sociāli iekļaujoši pakalpojumi un resursu pārvaldība pakalpojumu dizainā

1. Kā uzrakstīt kodu pēc dotas specifikācijas?

2. Kā izplānot un izveidot lietotājam atbilstošu programmētu risinājumu un uzraudzīt tā īstenošanu?

3. Kā automātiski apstrādāt un attēlot datus?

4. Kā sistemātiski pārbaudīt un atkļūdot risinājumu?

5. Kā izvēlēties un efektīvi savā projektā izmantot jau esošu risinājumu?

6. Kā īstenot risinājumu?

Programmēšana I

57© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

7. pielikums

Mācību satura apguvei izmantojamie mācību līdzekļi un resursi

Izmantošanas nolūks Mācību līdzekļu veids Mācību līdzekļa nosaukums

Materiālu atbalsts skolotājiem

Elektroniskie materiāli Programmēšanas mācību materiāli [tiešsaiste]. Rīga: LU Starpnozaru izglītības inovāciju centrs. [skatīts 24.07.2020.]. Pieejams: https://siic­lv.github.io/programmesana/vidusskola Krātuvei iespējams pievienot savus materiālus un ieteikumus.

Start(IT) mācību līdzekļi [tiešsaiste]. Rīga: IT Izglītības fonds Start(IT). [skatīts 24.07.2020.]. Pieejams: https://datorika.startit.lv/datorika

Skolēniem darbam (individuālajam/pāru/ grupu darbam)

Mācību materiāli Skola2030 mācību līdzeklis.

Programmēšanas valodas JavaScript, Python, SQL.

Materiāli darbam Piemēri lietotāju izpētes metodēm, datu vizualizēšanas piemēri.

Materiāli (attēli, prezentācijas, videomateriāli u. c.) demonstrēšanai un analizēšanai.

Programmatūras prasību specifikācijas, lietotāja ceļvežu piemēri.

Situāciju pētījumi (case study).

Atvērto kodu (piemēram, GPLv3, BSD, MIT, Apache) licences.

Fizisks Kanban sistēmas dēlis.

Dati uzdevumu veikšanai brīvpiekļuves datubāzēs, piemēram, • csdd.lv [tiešsaiste]. Rīga: Ceļu satiksmes drošības direkcija. [skatīts 24.07.2020.]. Pieejams: https://www.csdd.lv • Centrālās statistikas pārvaldes datu kopas [tiešsaiste]. Rīga: Centrālās statistikas pārvalde. [skatīts 24.07.2020.].

Pieejams: https://www.csb.gov.lv • SQL Tutorial [tiešsaiste]. Andrew Cumming. [skatīts 24.07.2020.]. Pieejams: https://sqlzoo.net • Online Interactive SQL Course [tiešsaiste]. SQL Climber. [skatīts 24.07.2020.]. Pieejams: https://www.sqlclimber.com

Brīvpieejas bibliotēka, piemēram, Python Flask vai Python Bottle.

Kritpogrāfijas bibliotēkas, piemēram, Python bcrypt, Cryptography.

Programmēšana I

58© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

7. pielikums

Lietotnes Komunikācijas rīki, piemēram, WhatsApp, Skype, Discord, Slack.

Projektu pārvaldības rīki, piemēram, Asana, kalendārs, GitHub, Trello.

Ierīces Ierīces demonstrēšanai, printeris, zibatmiņas, Wi-Fi maršrutētājs.

Skolēniem informācijas ieguvei

Elektroniskie izziņas avoti

Start(IT) mācību līdzekļi [tiešsaiste]. Rīga: IT Izglītības fonds Start(IT). [skatīts 24.07.2020.]. Pieejams: https://datorika.startit.lv/datorika

Atvērtā koda licenču salīdzināšanas lapas:• Choose an open source license [tiešsaiste]. GitHub, Inc. [skatīts 24.07.2020.].

Pieejams: https://choosealicense.com/licenses • Software Licenses in Plain English [tiešsaiste]. FOSSA, Inc. [skatīts 24.07.2020.]. Pieejams: https://tldrlegal.com • Brīvpieejas bibliotēkas, piemēram, Python Turtle, Python Requests, Tinytag, Pagan, Postman, Chrome Developer Tools.

Publiskas API, piemēram, • Random User Generator [tiešsaiste]. Arron J. Hunt un Keith Armstrong. [skatīts 24.07.2020.].

Pieejams: https://randomuser.me • chucknorris.io [tiešsaiste]. Mathias Schilling. [skatīts 24.07.2020.]. Pieejams: https://api.chucknorris.io

Brīvpieejas mašīnmācīšanās produkti, piemēram,• Deep-Image [tiešsaiste]. Teonite. [skatīts 24.07.2020.]. Pieejams: https://deep­image.ai • Deep Dream Generator [tiešsaiste]. Deep Dream Generator. [skatīts 24.07.2020.].

Pieejams: https://deepdreamgenerator.com • DeepArt [tiešsaiste]. DeepArt UG. [skatīts 24.07.2020.]. Pieejams: https://deepart.io • AutoDraw [tiešsaiste]. Dan Motzenbecker un Kyle Phillips. [skatīts 24.07.2020.]. Pieejams: https://www.autodraw.com • AI Duet [tiešsaiste]. Yotam Mann. [skatīts 24.07.2020.]. Pieejams: https://experiments.withgoogle.com/ai­duet• IBM Watson• OpenAI• GPT-3• AlphaGo• OpenAI Five

Bezmaksas tiešsaistes mašīnmācīšanās kursu sērija:• Elements of AI [tiešsaiste]. Reaktor un Helsinku Universitāte. [skatīts 24.07.2020.].

Pieejams: https://course.elementsofai.com/lv

Mācību vide Datorikas kabinets.

Programmēšana I

59© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

8. pielikums

Programmēšanas mācību priekšmeta īstenošanai ieteicamā mācību vide

Datorikas kabinets ar šādu iekārtojumu.• Iekārtots atbilstoši ergonomikas prasībām.• Aprīkots ar interneta pieslēgumu.• Katram skolēnam pieejama ierīce lietotņu izmantošanai (piemēram, planšetdators,

portatīvais dators, stacionārais dators (monitors, sistēmbloks, pele, tastatūra)).• Pieejamas audio izvadierīces, ierīces un aprīkojums fotografēšanai, filmēšanai

un skaņas ierakstu veidošanai.• Datoros ir šādas lietotnes: tekstapstrādes lietotne, attēlu apstrādes lietotne,

prezentāciju lietotne, izklājlapu lietotne, videomateriālu un audiodatņu apstrādes lietotne, lietotne animāciju izveidei, programmēšanas lietotne, koda redaktors. Daļu lietotņu var aizstāt ar tiešsaistes rīkiem.

• Kabinetā ir projektors, tāfele vai interaktīvais ekrāns un atbilstoši rakstāmrīki (marķieri, krīts u. tml.), maršrutētājs un printeris.

© Valsts izglītības satura centrs | ESF projekts Nr.8.3.1.1/16/I/002 Kompetenču pieeja mācību saturā

Valsts izglītības satura centra īstenotā projekta “Kompetenču pieeja mācību saturā” mērķis ir izstrādāt, aprobēt un pēctecīgi ieviest Latvijā tādu vispārējās izglītības saturu un pieeju mācīšanai, lai skolēni gūtu dzīvei 21. gadsimtā nepieciešamās zināšanas, prasmes un attieksmes.