DE0280 Vairākpavedienošana programmatūrā

Kods DE0280
Nosaukums Vairākpavedienošana programmatūrā
Statuss Obligātais/Ierobežotās izvēles; Brīvās izvēles
Līmenis un tips Pamatstudiju, Akadēmiskais
Tematiskā joma Datorika
Struktūrvienība Datorzinātnes, informācijas tehnoloģijas un enerģētikas fakultāte
Mācībspēks Pāvels Rusakovs
Kredītpunkti 3.0
Daļas 1
Anotācija Studiju kursā tiek aplūkota vairākpavedienošanas iespēju lietošana modernajās programmēšanas valodās. Studiju kursā sniegts apskats par pavedieniem, paralēliem un laiksakritīgiem apakšprocesiem (aģentiem). Aplūkoti vairākpavedienošanas teorētiskie pamati. Programmēšanas līmenī detalizēti izskatīta pavedienu veidošana un pavedienu savstarpējā iedarbība, datu aizsardzība no konkurējošiem pavedieniem, izņēmumu apstrāde potenciāli bīstamās situācijās, semafori un monitori. Analizēti ar vairākpavedienošanu saistīti programmēšanas valodu paplašinājumi un papildu bibliotēkas. Laboratorijas darbos studentiem ir nodrošināta iespēja pilnveidot studiju kursā apgūtās teorētiskās zināšanas un programmēšanas prasmes..
Studiju kursa saturs
Saturs Pilna un nepilna laika klātienes studijas Nepilna laika neklātienes studijas
Kontaktstundas Patstāvīgais darbs Kontaktstundas Patstāvīgais darbs
Procesi un apakšprocesi (pavedieni, aģenti). Vairākpavedienošana. Paralēlā un laiksakritīgā programmēšana. 4 4 0 0
Resursu aizsardzība. Semafori un monitori. Neatkarīgie un atkarīgie pavedieni. Pavedienu sinhronizācija. 4 4 0 0
Vairākpavedienošanas pamati .NET platformā. 2 2 0 0
Paralēlo uzdevumu bibliotēka TPL. Vārdu telpas System.Threading un System.Threading.Tasks. Klase Thread. 4 4 0 0
LINQ vaicājumi. Datu paralēlisms. Paralēlais LINQ (PLINQ). 4 4 0 0
C# valodas pamati. 2 2 0 0
Vairākpavedienošana C# valodā. 6 6 0 0
Sinhronā un asinhronā programmēšana. Delegāti .NET platformā. 2 2 0 0
Vairākpavedienošana Java valodā. 4 4 0 0
Funkcionālā programmēšana vairākpavedienošanā. 2 2 0 0
Iespējamo kļūdu analīze programmās ar vairākiem pavedieniem. 2 2 0 0
Reāllaika sistēmas vairākpavedienošanas kontekstā. 4 4 0 0
Kopā: 40 40 0 0
Mērķis un uzdevumi, izteikti
kompetencēs un prasmēs
Studiju kursa mērķis ir sagatavot studentu paralēlajai un laiksakritīgajai programmēšanai modernajās programmēšanas valodās. Studiju kursa uzdevumi: 1. Veicināt izpratni par vairākpavedienošanas rašanās iemesliem un tās pamatprincipiem; 2. Attīstīt prasmi lietot programmēšanas valodas, kuras intensīvi izmanto reāllaika sistēmās; 3. Apgūt programmēšanu platformās ar vairākpavedienošanas atbalstu; 4. Attīstīt pavedienu veidošanas un vadības prasmes; 5. Attīstīt resursu aizsardzības problēmu risināšanas prasmes.
Sasniedzamie studiju
rezultāti un to vērtēšana
Spēj izstrādāt daudzfunkcionālo programmatūru. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot programmu no procedūrām, funkcijām un pakotnēm (moduļiem).
Spēj izskaidrot paralēlās/laiksakritīgās programmēšanas īpatnības un izmantot ar to saistītas valodu konstrukcijas. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot pavedienus un kontrolēt to izpildi.
Spēj izstrādāt paralēlo/laiksakritīgo programmatūru C# valodā. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot pavedienus un nodrošināt resursu aizsardzību.
Spēj izstrādāt paralēlo/laiksakritīgo programmatūru Java valodā. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot pavedienu pūlus un grupas, kā arī nodrošināt resursu aizsardzību.
Spēj spriest par vairākiem paralelitātes/laiksakritības jautājumiem. - Eksāmens. Kritēriji: spēj atbildēt uz teorētiskajiem jautājumiem, rakstīt programmas, atklāt un izskaidrot kļūdas eksistējošās programmās.
Studiju rezultātu vērtēšanas kritēriji
Laboratorijas darbi - 80%
Eksāmens - 20%
 
Priekšzināšanas Procedurālā programmēšana, objektorientētā programmēšana, C un C++ valodu zināšanas.
Studiju kursa plānojums
Daļa KP Stundas Pārbaudījumi Pārbaudījumi (brīvai izvēlei)
Lekcijas Prakt. d. Lab. Ieskaite Eksāmens Darbs Ieskaite Eksāmens Darbs
1 3.0 20.0 0.0 20.0 * *

Pieteikties uz šo kursu

[Kursa apraksts PDF formātā]