DE0759 Objektorientētās programmatūras attīstība

Kods DE0759
Nosaukums Objektorientētās programmatūras attīstība
Statuss Obligātais/Ierobežotās izvēles
Līmenis un tips Augstākā līmeņa, 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 6.0
Daļas 1
Anotācija Studiju kurss veltīts objektorientētās pieejas (OOP) principu implementēšanai vairākās programmēšanas valodās. Runa ir kā par fundamentāliem OOP principiem (abstrakcija, iekapsulēšana, mantošana, polimorfisms), tā arī par papildus jēdzieniem (vairākpavedienošana, tipizācija, izņēmumu apstrāde). Uzmanības centrā ir trīs pietiekami atšķirīgas objektorientētās programmēšanas valodas: Ada, Java un Python. Studiju kursa ietvaros aplūko arī dažus specifiskos jautājumus: grafisko lietotņu izstrādi un notikumu apstrādi Java valodā, sarežģīto datu struktūru veidošanu Python valodā un citus. Tiek aplūkotas arī objektorientēto valodu funkcionālās iespējas, tajā skaitā lambda – izteiksmes. Apskatīta dažu valodu mehānismu evolūcija, tajā skaitā interfeisu koncepcijas attīstība Java valodā. 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
Ada valodas veidošanas vēsture, pamatprincipi un attīstības tendences. 4 4 0 0
Informācijas ievade/izvade Ada valodā. Noskaņošana un parametriskais polimorfisms. 6 6 0 0
Abstrakcija, iekapsulēšana un mantošana Ada valodā. Izņēmumu apstrāde. 4 4 0 0
Paralēla programmēšana Ada valodā. Uzdevumi. Satikšanās. 6 6 0 0
Aizsargātie tipi Ada valodā. Sinhronizācija. Semafori. 4 4 0 0
Java valodas veidošanas vēsture, pamatprincipi un attīstības tendences. 2 2 0 0
Abstrakcija, iekapsulēšana un mantošana Java valodā. 4 2 0 0
Masīvu apstrāde un kārtošana Java valodā. Interfeisi. Daudzkāršās mantošanas simulēšana. 4 6 0 0
Reflekcija Java valodā. Tipu identifikācija programmas izpildes laikā (RTTI). 4 2 0 0
Izņēmumu apstrāde Java valodā. 2 2 0 0
Pakotnes 'java.util' lietošana Java valodā (klases, interfeisi, kolekcijas). 4 6 0 0
Citi Java programmēšanas aspekti: klases-čaulas, parametru nodošana. 2 2 0 0
Paralēla programmēšana Java valodā: pamatprincipi. Pavedieni, sinhronizācija. 4 4 0 0
Paralēla programmēšana Java valodā: papildu iespējas. Pakotne java.util.concurrent. 4 6 0 0
Grafisko lietotņu programmēšana Java valodā. Notikumu apstrāde. Izvietošanas menedžeri. 6 4 0 0
Python valodas koncepcija un pamatprincipi. Datu tipi, to pārveidošana, operatori. 4 2 0 0
Saraksti, korteži, masīvi, vārdnīcas Python valodā. Daudzlīmeņu struktūras. Izņēmumu apstrāde. 6 6 0 0
Apakšprogrammas Python valodā. Failu apstrāde. Lambda – izteiksmes. 4 6 0 0
Klases un objekti Python valodā. Grafiskās iespējas. 6 6 0 0
Kopā: 80 80 0 0
Mērķis un uzdevumi, izteikti
kompetencēs un prasmēs
Studiju kursa mērķis ir sagatavot kvalificētus programmatūras izstrādes speciālistus, kuri var pielietot projektos objektorientētās programmēšanas valodas ar dažām konceptuālām atšķirībām. Studiju kursa uzdevumi: - attīstīt prasmi noteikt objektorientētās pieejas implementēšanas īpatnības vairākās objektorientētajās programmēšanas valodās; - iepazīstināt ar paralēlās/laiksakritīgās programmēšanas jēdzieniem un principiem; - veicināt izpratni par Java grafisko lietotņu izstrādi un notikumu apstrādi; - attīstīt prasmi rakstīt Python servera skriptus.
Sasniedzamie studiju
rezultāti un to vērtēšana
Spēj implementēt četrus objektorientētās programmēšanas bāzes principus Ada, Java un Python valodās. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot objektorientētās programmas dažādās valodās.
Spēj saprast dažas atšķirības starp Ada’83, Ada’95, Ada’2005 un Ada'2012 standartiem. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj saprast Ada valodas attīstības tendences.
Spēj veidot paralēlās programmas Ada un Java valodās. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot programmas ar vairākiem pavedieniem.
Spēj lietot Java valodas kolekcijas. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj veidot daudzveidīgas Java datu struktūras un apstrādāt tās.
Spēj izstrādāt Java grafiskās lietotnes. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj pielietot vadības elementus, izvietošanas menedžerus un apstrādāt notikumus.
Spēj izstrādāt daudzfunkcionālos skriptus Python valodā. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj apstrādāt Python sarakstus, vārdnīcas, daudz līmeņu datu struktūras un objektus.
Spēj saprast Python grafisko programmu pamatprincipus. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj saprast Python grafiskās lietotnes struktūru un darbības principus.
Spēj demonstrēt teorētiskās un praktiskās zināšanas par objektorientētajām iespējām dažās programmēšanas valodās citam speciālistam. - Eksāmena darba rakstīšana. Kritēriji: spēj orientēties valodu konstrukcijās, meklēt kļūdas eksistējošos risinājumos un piedāvāt savus risinājumus.
Studiju rezultātu vērtēšanas kritēriji
Laboratorijas darbi - 50%
Eksāmens - 50%
 
Priekšzināšanas Objektorientētās programmēšanas principi, algoritmu konstruēšana.
Studiju kursa plānojums
Daļa KP Stundas Pārbaudījumi
Lekcijas Prakt. d. Lab. Ieskaite Eksāmens Darbs
1 6.0 32.0 0.0 32.0 *

Pieteikties uz šo kursu

[Kursa apraksts PDF formātā]