DE0603 Paralēlie procesi un valoda ADA

Kods DE0603
Nosaukums Paralēlie procesi un valoda ADA
Statuss Obligātais/Ierobežotās izvēles
Līmenis un tips Augstākā līmeņa, Profesionālais
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šana divās objektorientētajās programmēšanas valodās – Ada un Java: Tiek apskatītas abu valodu rašanās vēsture un attīstība, bāzes konstrukcijas. Sniegta informācija par abu valodu svarīgākajām iespējām vairākās programmēšanas jomās. Plaši izskatīti tādi jautājumi, kā pavedienu veidošana un to savstarpējā iedarbība, datu aizsardzība no konkurējošiem pavedieniem, izņēmumu apstrāde potenciāli bīstamajās situācijās, semafori un monitori.. Uzmanības centrā ir uzdevumi un aizsargātās konstrukcijas Ada valodā, kā arī klase Thread un interfeiss Runnable Java valodā. Analizētas Java valodas papildu bibliotēkas, tajā skaitā java.util.concurrent. Laboratorijas darbos studentiem jādemonstrē apgūtās teorētiskās zināšanas un jāapgūst 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
Objektpamatotā valoda Ada’83 un objektorientētā valoda Ada’95. Turpmākā Ada valodas attīstība. Ada standartu lietošana ražošanā: modernie projekti. 2 3 0 0
Aritmētiskie aprēķini Ada valodā. Laboratorijas darbs. 2 0 0 0
Pakotnes. Programma kā pakotņu kolekcija. Vairākpavedienošanas pamatprincipi. Uzdevumu būtība un struktūra. 2 3 0 0
Neatkarīgu uzdevumu programmēšana Ada valodā. Laboratorijas darbs. 2 0 0 0
Uzdevumi ar parametriem (diskriminantiem). Uzdevumu sinhronizācija un satikšanās. Ieejas un pieņemšanas operatori. 2 4 0 0
Dinamisko uzdevumu ar diskriminantiem programmēšana Ada valodā. Laboratorijas darbs. 2 0 0 0
Uzdevumu izpildes kontrole. Uzdevumu prioritāte. Uzdevumu pabeigšana. Izņēmumu apstrāde uzdevumos. 2 3 0 0
Satikšanu programmēšana Ada valodā. Laboratorijas darbs. 2 0 0 0
Uzdevumu izvēle (selekcija) programmas izpildes laikā. Selektīvā operatora veidi. Atvērtās alternatīvas 2 4 0 0
Selektīvā operatora programmēšana Ada valodā. Laboratorijas darbs. 2 0 0 0
Resursu aizsardzība. Aizsargātie tipi. Aizsargāto operāciju ierobežojumi un praktiskā lietošana. 2 3 0 0
Aizsargāto tipu programmēšana Ada valodā. Laboratorijas darbs. 2 0 0 0
Java valodas pamati. Pavedieni Java programmā. Principiālās atšķirības pavedienu radīšanā starp Ada un Java. 2 4 0 0
Neatkarīgu pavedienu programmēšana Java valodā. Laboratorijas darbs. 2 0 0 0
Java pavedienu prioritāte. Pavedienu aizture un attiecīgā izņēmuma apstrāde. Pavediena palaišana un pabeigšana. 2 4 0 0
Resursu aizsardzība Java valodā. Laboratorijas darbs. 2 0 0 0
Monitoru veidošana Java valodā ar atslēgvārda “synchronized” palīdzību. 2 3 0 0
Pavedienu sinhronizācija Java valodā lietojot metodes join(), wait(), notify() un notifyAll(). 2 3 0 0
Pakotne java.util.concurrent. Klases CountDownLatch, CyclicBarrier, Exchanger un citas. 2 3 0 0
Pavedienu pūli. Dēmoni. Pavedienu grupas. 2 3 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 studenta paralēlajai un laiksakritīgajai programmēšanai divās objektorientētajās programmēšanas valodās – Ada un Java. Studiju kursa uzdevumi: 1. Veicināt izpratni par Ada valodas rašanās iemesliem un attīstības tendencēm; 2. Attīstīt prasmi lietot Ada valodu, kuru intensīvi izmanto reāllaika sistēmās; 3. Iemācīt lietot vairākas Ada iespējas, tajā skaitā sistēmprogrammēšanas jomā; 4. Attīstīt prasmi brīvi orientēties pavedienu veidošanā un vadībā; 5. Iemācīt risināt resursu aizsardzības problēmas.
Sasniedzamie studiju
rezultāti un to vērtēšana
Spēj izstrādāt programmatūru Ada valodā bez vairākpavedienošanas atbalsta. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot Ada programmu no procedūrām, funkcijām un pakotnēm.
Spēj saprast paralēlās/laiksakritīgās programmēšanas īpatnības un ar to saistītas valodu konstrukcijas valodās Ada un Java. - 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 Ada valodā. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj programmēt satikšanās 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 nodrošināt resursu aizsardzību, veidot pavedienu pūlus un grupas.
Spēj spriest par vairākiem paralelitātes/laiksakritības jautājumiem. - Eksāmena darba uzrakstīšana. Kritēriji: spēj atbildēt uz teorētiskajiem jautājumiem, rakstīt programmas un meklēt kļūdas eksistējošajā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, Pascal un C++ valodu zināšanas, procesu sinhronizācijas pamati.
Studiju kursa plānojums
Daļa KP Stundas Pārbaudījumi
Lekcijas Prakt. d. Lab. Ieskaite Eksāmens Darbs
1 3.0 16.0 0.0 16.0 *

Pieteikties uz šo kursu

[Kursa apraksts PDF formātā]