Scratch izvēles pamatojums un projekta koncepcija

Vietne: E-izglītība
Kurss: Jauno datoriķu skola
Grāmata: Scratch izvēles pamatojums un projekta koncepcija
Drukājis: Vieslietotājs
Datums: sestdiena, 2024. gada 20. aprīlis, 06:29

Apraksts

Projekta koncepcija un paskaidrojums kā lietot šo materiālu vietni.

1. Projekta JDS pamatnostādnes un materiālu lietošana

Radošās komūnas licenceVisi Latvijas Universitātes Datorikas fakultātes Jauno datoriķu skolas materiāli ir licencēti. Autors Imants Gorbāns šo materiālu ir licencējis ar Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported licenci.
 

Projekts "Jauno datoriķu skola” (saīsināti - JDS) sākotnēji ir veidots ar mērķi piedāvāt skolēniem un arī citu vecumu interesentiem vienkāršu un viegli patstāvīgi īsā laikā (pamatus - pat tikai dažās stundās) apgūstamu programmēšanas valodu un izstrādes rīku skolēniem, kuriem skolā nav bijusi programmēšana, vai tā apgūta niecīgā apjomā. Tas varētu palīdzēt skolēniem saprast, vai viņiem programmēšanas abstraktā domāšana interesē un padodas, vai ir pamatota vēlme studēt programmēšanu Latvijas Universitātes Datorikas fakultātē vai citur.
 

Savukārt tiem, kas jau pieteikušies uz IT, datorzinātņu studijām, neraugoties uz to, ka nav pazīstami ar programmēšanu, ir ļoti vēlams līdz studiju sākumam izpētīt šos materiālus un izveidot vismaz dažas programmiņas. Savukārt tiem, kas skolā ir programmējuši, Scratch var izrādīties patīkams, arī izklaidējošs pārsteigums.

Projekta sākuma stadijā tika veikta daudzu dažāda vecuma skolēniem domātu programmēšanas valodu analīze ar sekojošu izvēli: Scratch (izvēles kritērijus skat. 2., 3. nodaļu). Scratch ir pasaulslavenā MIT - Masačūsetas Tehnoloģiskā institūta (ASV, Kembridža, Masačūseta) mūžizglītības grupas Lifelong Kindergarten projekts. Scratch interneta vietne/ portāls ir http://scratch.mit.edu/.
 

Šajos konspektos aplūkotās programmas vienuviet Scratch portālā atrodas studijā "Jauno datoriķu skola" - http://scratch.mit.edu/studios/470085/, tajā ir pasniedzēju veidotie piemēri. Savukārt JDS dalībnieku izveidoto un kopīgoto (Share) programmu publicēšanai vienuviet ir izveidota otra Scratch studija "Jauno datoriķu skolas dalībnieku kopīgotie darbi" - http://scratch.mit.edu/studios/475208/, šai studijai savu programmiņu pievienot var jebkurš Scratch portālā reģistrējies lietotājs.

Šā, JDS projekta mājas lapas adrese ir http://jds.df.lu.lv (lapa fiziski atrodas uz LU skolu servera skolas.lu.lv). JDS mājas lapa veidota neformāla, speciāla dizaina MODLE e-kursa formā. Mājas lapā atrodami šāda tipa materiāli:
 

e-grāmatas ikona

1. konspekti par svarīgākajiem izvēlētās valodas Scratch praktiskiem un teorētiskiem jautājumiem HTML e-grāmatu formā (e-grāmatas var atpazīt pēc zaļas grāmatas sīktēla);

PDF faila ikona

2. svarīgākie konspekti ir doti ne tikai e-grāmatu, bet arī lejupielādei PDF failu formātā;

YouTube ikona
flv video ikona

3. tie konspekti, kas ir būtiski darba uzsākšanai, pirmajiem soļiem kā visā Scratch, tā atsevišķās tā tēmās, ir apgūstami ne tikai no e-grāmatām, bet arī no videopamācībām, tās galvenokārt iegūtas ar ekrāna filmēšanas programmatūru un balss ierakstu; videopamācības ir pieejamas YouTube kanālā http://www.youtube.com/channel/UCUy02S6v28IaaR5D5dLXRRA un sakārtotā veidā tā atskaņošanas sarakstā http://www.youtube.com/playlist?list=PL5l-QYGxyg18rcBjc_lRwQl--JZ1iBn8i; tomēr mazākā izšķirtspējā .flv formātā videopamācības var atrast arī JDS materiālu e-kursā; 

YouTube ikona
flv video ikona

4. dažas videolekcijas ir filmētas ar kamerām, tādējādi redzams lektors, arī šie videomateriāli ir minētajā YouTube kanālā un JDS e-kursā;

Acratch ikona
URL ikona

5. pamācošajos materiālos jeb konspektos un videopamācībās aplūkotās programmas koda izpētei un papildināšanas uzdevumiem ir pieejamas (izņemot 1. tēmas ievaddarbu) Scratch portālā izveidotajā studijā "Jauno datoriķu skola” http://scratch.mit.edu/studios/470085/; uz šīm programmām e-kursā ir ievietotas saites, to teksts sākas ar "PROGRAMMAS PIEMĒRS:”;

mapes ikona

6. programmu piemērus var ne tikai remiksēt un lietot Scratch portālā, tos no šī portāla var arī lejupielādēt, kā arī programmu failus ar izpētīšanas un tālāka darba sagataves nozīmi var lejupielādet arī no mapes e-kursa apakšā;

lappuses ikona

7. atsevišķas īsākas pamācības, uzdevumi, paskaidrojumi, kas ir par mazu e-grāmatai ar vairākām nodaļām, ir izveidoti kā tīmekļa lappuses;

attēlu galeriju ikona

8. dažu programmu kods un ar tā izveidi vai programmiņas lietošanu saistītie attēli ir doti Lightbox attēlu galerijās JDS e-kursā;

foruma ikona

9. būtiska 21. gadsimta mācīšanās komponente ir kopdarbība, sadarbība kā reālajā dzīvē, tā tīmekļa virtuālajā vidē, to var realizēt gan visas Scratch kopienas diskusiju un atsauksmju formā, gan piedaloties JDS projekta e-kursa forumos; lai dalībnieks varētu veikt ierakstu forumā (uzdot jautājumu, sniegt kādam atbildi, izteikt kādu noderīgu ideju utml.), dalībniekam ir jāpiesakās sistēmā (e-kursa augšējā labajā stūrī), to var izdarīt ar skolas.lu.lv vai e-žurnāla un skolvadības sistēmas MyKoob lietotājvārdu un paroli;

uzdevums

10. uzdevumu rīks e-studijās ir domāts mājas darbu iesniegšanai, šeit tajā aicinām pieteikt Jauno datoriķu skolas dalībniekus savas veidotās programmas. Programma pirms tam Scratch portālā http://scratch.mit.edu ir jākoplieto (Share). Ja programma veidota ar lokālu Scratch instalāciju, tad to vispirms vajag augšupielādēt.

Katrā tēmā ir ieteikts interesentiem pamēģināt izpildīt dažus radošus uzdevumus, ar 2014. gada septembri tiks piedāvāts vairāk uzdevumu - katram mēnesim savs uzdevumu komplekts. Dalībnieki, kas e-kursam piereģistrēsies ar skolas.lu.lv vai MyKoob lietotājvārdu un paroli, saņems iespēju veikt ierakstus forumos, iesniegt/ pieteikt izpildītos uzdevumus, lielāku atbalstu un skolas beigšanas apliecinājumu. Par Jauno datoriķu skolas regulāro aktivitāšu sākumu tiks paziņots šī e-kursa jaunumu forumā un e-pastos skolām, informātikas skolotājiem u.c. Dalībnieki, kas nepieslēdzas reģistrēta lietotāja režīmā, jds.df.lu.lv vietnē atrodas kā vieslietotāji, viņiem ir pieejami visi materiāli, programmu piemēri, bet nav tikai iespējas ierakstīt ziņas forumos un pieteikt izpildītos uzdevumus (tas netraucē publicēt savas programmas Scratch portālā 4. rindkopā minētajā JDS dalībnieku kopīgoto darbu studijā).
  

JDS projektā veidotie materiāli var būt noderīgi ne tikai skolēniem, topošajiem studentiem, bet arī kā topošajiem tā jau strādājošiem informātikas skolotājiem, gatavojoties programmēšanas stundām, kurās radīt atraktīvu dažādību valodas Pascal utml. matemātiskajam skaistumam, pielietojumu šaurumam un vizuālajai garlaicībai. Scratch programmēšana ir apgūstama intuitīvi, nav daudz jādomā par pašas valodas sintaksi, līdz ar to var koncentrēties uz programmējamo ideju, uzdevumu, kas ļoti atvieglo pirmos soļus programmēšanā.
 

Turklāt, šī vienkāršā vide ir samērā jaudīgs programmēšanas rīks - tajā ir 148 koda bloki (operatori, funkcijas, klases utml.), iegūtie rezultāti tiek grafiski attēloti uz datora ekrāna - šī ir vizuāla objektorientēta valoda, tajā var veidot multimediju, interaktīvas prezentācijas, animētus stāstus, spēles, simulācijas, arī nelielas matemātisku aprēķinu programmas. Izcila Scratch īpašība ir ne tik bieži sastopamā iespēja programmai strādāt ar mikrofonu, tīmekļa kameru, kā arī var veidot spēles mobilajiem telefoniem, darboties ar mikrokontrolieriem Arduino un Lego Mindstorms. Šajos materiālos sāksim ar vienkāršāko un pakāpeniski pāriesim uz vēl skaistākām un līdz ar to - sarežģītākām programmām.
 

Projekta atvēršanas brīdī - 2014. g. jūnijā ir padarīta sākumam pietiekama darba daļa, tālāk jauni materiāli turpinās parādīties, tiklīdz būs izstrādāti, visas 5 pirmajā kārtā plānotās tēmas paredzēts pabeigt līdz 2014. g. septembrim. Materiāli, kas reiz ir ievietoti JDS e-kursā, vienmēr būs pieejami, tomēr ir piedāvāta iespēja tos arī lejupielādēt, atkalizmantošanas gadījumā ir jāievēro Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported licence. 

2. Prasības pirmajai programmēšanas valodai

Meklējot programmēšanas valodu un rīku šim projektam, tika izvirzītas prasības, kas tika sadalītas divos blokos. Svarīgākās prasības:

  1. valodai jābūt vienkāršai, lai nav nepieciešamas priekšzināšanas programmēšanā, lai valodas sarežģītība negūst virsroku pār domāšanu par radāmās programmiņas ideju, algoritmu,

  2. intuitīvi apgūstamai, lai nav jāmācās sarežģīta valodas sintakse,

  3. apgūstamai ātri, bez lielas piepūles,

  4. tai jābūt lietojamai dažādās operētājsistēmās (Microsoft Windows, Linux, Mac iOS),

  5. iegūtajām programmiņām jābūt vizuāli pievilcīgām, jāizmanto datora grafiskā saskarne,

  6. valodai jābūt “dzīvai” jeb aktuāli izstrādātāju uzturētai, ar regulāriem atjauninājumiem un pielāgojumiem operētājsistēmu u.c. jaunākajām versijām,

  7. valodai ir jābūt ne tikai ar vienkāršas lietošanas līmenī, tajā jāvar veidot arī sarežģītas programmas,

  8. valodai jābūt lietojamai bez maksas vai par niecīgu samaksu.

Vēlamās, papildus prasības:

  1. vēlams, lai valodu var izmantot kā interneta pārlūkprogrammā, tā instalētu datorā,

  2. valodas aprakstam un pamācībām jābūt internetā atrodamam vairākās valodās, tostarp, noteikti angļu, tiek pieļauts, ka latviešu valodā materiālu nav un tie darba sākumam tiks izstrādāti šajā projektā,

  3. internetā ir jābūt “dzīvai” valodas atbalstītāju kopienai, ir jābūt programmu piemēriem ar atvērtu kodu,

  4. vēlams, lai valoda ievēro atvērtos standartus,

  5. vēlams, lai valodu var izmantot arī planšetdatoros,

  6. vēlams, lai ir iespēja veidot sīklietotnes mobilajiem telefoniem,

  7. valodai jābūt pasaulē pazīstamai, pētītai un lietotai vairākās valstīs,

  8. vēlams, lai valoda būtu izmantojama skolā plaša diapazonā - no 1. līdz 12, klasei, lai tā varētu būt viena no Latvijas skolās lietot ieteicamajām programmēšanas valodām.

3. Dažādu alternatīvu skolu programmēšanas valodu apskats

No vairākiem desmitiem pasaulē skolās izmantotām valodām, šeit pieminēšu tikai tās, kas tika aplūkotas izvirzīto 16 kritēriju kontekstā.

  • Free Pascal – tā ir Pascal bezmaksas versija, Pascal 1970-tajos, 80-tajos bija visā pasaulē plaši skolās lietota valoda, bet vairs netiek būtiski attīstīta, tai nav grafiskās vides, līdz ar to bieži šķiet nepievilcīga, rezultāts parasti ir praktiski nepielietojams, kaut arī Pascal ir ar plašām, profesionālajām valodām tuvām iespējām, līdz ar ko ir visai sarežģīta valoda. Lietojama dažādās operētājsistēmās, labs variants nākamajai valodai pēc šajā materiālā meklētās.

  • PHP – tīmekļa programmēšanas servera puses valoda, pozitīvi, ka rezultāts ir tīmekļa lappuses, bet nepieciešams tīmekļa serveris, jāprot tam pieslēgties, profesionāli lietojama valoda. Kaut arī tai ir vienkāršas lietošanas iespējas, kopumā visai sarežģīta valoda. Lietojama dažādās operētājsistēmās. Viens no variantiem, ko ieteikt skolām, bet ne viegliem pirmajiem soļiem, labs variants nākamajai valodai pēc šajā materiālā meklētās.

  • ASP .NET - tīmekļa programmēšanas servera puses valoda, pozitīvi, ka rezultāts ir tīmekļa lappuses, bet nepieciešams Windows tīmekļa serveris, jāprot tam pieslēgties, profesionāli lietojama valoda, programmēšanas rīki nav vienkārši, versijas ļoti atšķirīgas, efektīvi lietot var tikai uz Windows.

  • Python – bezmaksas un atvērtā pirmkoda valoda, daudz iespēju, bet visai sarežģīta, tiek izmantota skolās Somijā, labs variants nākamajai valodai pēc šajā materiālā meklētās.

  • JavaScript – tīmekļa programmēšanas skriptu papildinājumu veidošanai, ar ļoti plasam iespējām, profesionāla, bet sarežģīta valoda. Lietojama dažādās operētājsistēmās.

  • HTML – tīmekļa lappušu veidošana, nav sarežģīti, bet tās pamatus skolā, visticamāk, visi ir apguvuši, turklāt tajā neparādās algoritmiskā domāšana (tā tīmeklī ir PHP, ASP u.c.), HTML tā ir vairāk tikai tīmekļa lappuses noformēšana kopā ar CSS.

  • Qbasic – sena, skolām piemērota valoda, daudz piemēru, pamācību, bet visai neskaidras nākotnes perspektīvas.

  • Visual Basic .NET – no 60-tajiem populārā BASIC radikāli pilnveidota versija, bet lietojama tikai uz Windows, arī sarežģīta, ir bezmaksas rīka versija Visual Basic Express Edition.

  • Microsoft Small Basic – vienkārša, piemērota pirmajiem programmēšanas soļiem skolās, ir tikai 15 komandas, bet lietojama tikai uz Windows.

  • Java – sarežģīta profesionāla valoda, iespējams, vispār vissarežģītākā programmēšanas valoda, līdz ar ko pirmajiem soļiem maz piemērota, bet var veidot sīklietotnes mobilajiem telefoniem, kas to dara skolēniem pievilcīgu, ko Latvijā jau izmanto viena veiksmīga skolu projekta ietvaros.

  • C++ – sarežģīta profesionāla valoda, iespējams, lai paliek apgūšanai augstskolās, pirmajiem soļiem maz piemērota savas sarežģītības dēļ.

  • Logo – speciāli skolēniem veidota veca valoda no 70-tajiem, bet joprojām izmantota, tajā skaitā robotu programmēšanai.

  • Alice – bezmaksas visai moderna skolām domāta valoda, bet nav pārliecības par tās attīstību nākotnē, ir bloku interfeiss, 3D atbalsts prasa visai lielus resursus. Variants, ko pamēgināt.

  • Scratch – jauna valoda, kas tiek pilnveidota, atbalstīta, intuitīvi apgūstama, izstrādāta speciāli dažāda vecuma skolēniem, ir izveidojusies mūsdienīga interneta Scratch kopiena (tajā ir jau vairāk kā 3 miljoni programmu, starp tām daudz labu piemēru), bezmaksas, var lietot visās 3 populārākajās operētājsistēmās, kā arī ir pārlūkprogrammas versija, tiek izstrādāta un uzturēta prestižā MIT paspārnē, 2D dzinis tērē maz resursu. Valoda, neraugoties uz vienkāršību, ir ar lielām iespējām, tai ir 148 komandas.

  • Snap! - ir kopīgais ar JavaScript un Scratch, derīga skolēniem, Berkeley universitātes projekts, bet mazāk izstrādāta, veidota uz Scratch 1.4 pamata. Variants, ko pamēģināt.

  • Kodu – piemērota skolām, pieejama 3 operētājsistēmās, ir bezmaksas versija, var veidot spēles, ir lēta Xbox 360 Live lejupielāde, maz bloku. Viens no variantiem, ko var pamēģināt.

  • Code - arī skolēniem piemērota valoda, bet nav skaidrības par atbalstu nākotnē, maz bloku. Variants, ko var ieteikt pamēģināt.

  • Blokly – tīmeklī bāzēta skolēniem domāta valoda, kas balstās uz bloku vilkšanu, līdzīgi kā vairākas iepriekšminētas. Pieejama Google Code projektā, nav daudz bloku, neprognozējama nākotne. Cerīgs variants, ko pamēģināt. Gala izšķiršanās bija starp Scratch un Blokly.

  • Kids Ruby – bērniem domāta valoda, platformneatkarīga, variants, ko pamēgināt.

  • Lego Mindstorms – ideāla kopā ar tāda paša nosaukuma superīgu konstruktoru, bet tas ir dārgs.

  • Robo Mind – valoda robotu programmēšanai, noderīga, bet ne mūsu mērķiem, jo nepieciešams robotiņš, kas to saprot.

  • Mama – derīga skolēniem, bet vairāk piemērota 1. kursa studentiem, lai saprastu objektorientētās programmēšanas pamatidejas.

  • u.c.

Tīmeklī ir atrodami daudzi resursi par šo jautājumu, piemēram, http://blog.acthompson.net/2012/12/programming-with-blocks.htmlhttp://www.computer-schools.org/software/top-10-computer-programming-languages/, http://en.wikipedia.org/wiki/List_of_educational_programming_languages, http://quib.ly/qu/which-programming-language-is-best-suited-to-a-primary-school-child, http://blog.acthompson.net/, http://www.oreillyschool.com/individual-courses/java2/, http://www.telegraph.co.uk/technology/news/10410036/Teaching-our-children-to-code-a-quiet-revolution.html, http://www.researchgate.net/post/Programming_languages_and_environments_for_kids utt. utml., var tīmekļa meklētājiem likt daudz atrast. Visas šīs un citas labas skolēniem noderīgas programmēšanas valodas var iedalīt: kodējamas, rakstot simbolu virknes; kodējamas, izmantojot rīkus, kas ievieto kodu lieliem blokiem; kodējamas, bīdot klucīšus. Var iedalīt pēc tīmekļa servera nepieciešamības, pēc operētājsistēmu atbalsta utt. Par noteicošo izvēlei izmantoju atbilstību 16 prasību sarakstam, tajā par galveno uzskatot vienkāršību vismaz pirmajos soļos un iespēju intuitīvi sākt darbu bez simtiem lappušu garu pamācību pilnas izlasīšanas.

4. Scratch izvēles ieguvumi

Ja skatāmies Scratch atbilstību izvirzītajām prasībām, iegūstam, ka lielākajai daļai prasību tā atbilst, un būtiski, ka atbilst svarīgākajām prasībām. Atbilstība pa 16 prasībām jeb izvērtēšanas kritērijiem:

  1. valodai jābūt vienkāršai - atbilst,

  2. intuitīvi apgūstamai - atbilst,

  3. apgūstamai ātri - atbilst,

  4. tai jābūt lietojamai dažādās operētājsistēmās (Microsoft Windows, Linux, Mac iOS) - atbilst,

  5. iegūtajām programmiņām jābūt vizuāli pievilcīgām, grafiskajā saskarnē - atbilst,

  6. valodai jābūt "dzīvai” jeb aktuāli izstrādātāju uzturētai - atbilst,

  7. valodai ir jābūt ne tikai ar vienkāršas lietošanas līmenī, tajā jāvar veidot arī sarežģītas programmas - atbilst,

  8. valodai jābūt lietojamai bez maksas - atbilst.

  9. vēlams, lai valodu var izmantot kā interneta pārlūkprogrammā, tā instalētu datorā - atbilst,

  10. valodas aprakstam un pamācībām jābūt internetā atrodamam vairākās valodās, tostarp, noteikti angļu - atbilst,

  11. internetā ir jābūt "dzīvai” valodas atbalstītāju kopienai, ir jābūt programmu piemēriem ar atvērtu kodu - atbilst,

  12. vēlams, lai valoda ievēro atvērtos standartus - atbilst,

  13. vēlams, lai valodu var izmantot arī planšetdatoros - daļēji atbilst, jo nepieciešams pieinstalēt Adobe Flash (alternatīvi vienkāršoti Flash spraudņi te nederēs, izstrādātāji ziņo, ka Scratch Android versija varētu būt pieejama pēc gada),

  14. vēlams, lai ir iespēja veidot sīklietotnes mobilajiem telefoniem - daļēji atbilst,

  15. valodai jābūt pasaulē pazīstamai, pētītai un lietotai vairākās valstīs - atbilst,

  16. vēlams, lai valoda būtu izmantojama skolā plašā diapazonā - no 1. līdz 12, klasei, lai tā varētu būt viena no Latvijas skolās lietot ieteicamajām programmēšanas valodām - atbilst.


Līdz ar to izvēle ir izdarīta vienā no vislabākajiem, iespējams, vislabākajā veidā. Tālāk tikai uz priekšu! Mācoties programmēt ar
Scratch, der piedomāt pie izstrādes domu cikla: Iztēloties (ko es gribu izveidot) -> Radīt (algoritms jeb koda ideja un tās programmēšana) -> Eksperimentēt (manuāla testēšana dažādos variantos) -> Koplietot (strādājošu programmu var publicēt tīmeklī) -> Atspoguļot (pārdomāt, pēc dažam dienām lietas mēdz izskatīties jaunā gaismā, palasīt atsauksmes, pieiet pozitīvistiski un paškritiski reizē) -> Iztēloties (izdomāt uzlabotu programmas versiju). Scratch izstrādāji ir ņēmuši vērā visas modernās pedagoģiskās atziņas, cilvēces pieredzi, tajā skaitā sociālo tīklu lietderīgas izmantošanas pieredzes un radījuši lielisku programmēšanas valodu un rīku ceļa sākumam.

Veiksmīgu darbu un izklaidi!
25.04.2014.

Dr. Vadībzin., Doc. Imants Gorbāns