DE0164 Moderno programmēšanas valodu praktikums

Kods DE0164
Nosaukums Moderno programmēšanas valodu praktikums
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 5.0
Daļas 1
Anotācija Studiju kurss veltīts programmēšanas valodu Java, C# un Python analīzei. Runa ir par fundamentāliem OOP principiem (abstrakcija, iekapsulēšana, mantošana, polimorfisms) un par papildus jēdzieniem (tipizācija, izņēmumu apstrāde, citi jautājumi). Uzmanības centrā ir visu analizējamo valodu bāzes konstrukcijas, svarīgas klases un pakotnes. 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ā. Tiek parādītas .NET platformas raksturīgas īpašības. Tiek izskatīta .NET tipu sistēma CTS (Common Type System), šajā kontekstā tiek analizēta C# tipu specifika. Tiek izskatīta vadāmā koda koncepcija. 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
Valodas Java pamati. Baitu kods un virtuālā mašīna JVM (Java Virtual Machine). Drošums un drošība valodā Java. 2 4 0 0
Abstrakcija un iekapsulēšana valodā Java. Piekļuves specifikatori. Destruktora imitēšana ar finalizatora palīdzību. 2 2 0 0
Projekta veidošana Eclipse vidē. Pakotņu veidošana un informācijas importēšana no tām. Laboratorijas darbs. 2 0 0 0
Mantošana valodā Java. Mantošanas un metožu pārdefinēšanas aizliegšana. Masīvi. Tipu piemēru un objektu masīvi. 2 5 0 0
Saskarnes valodā Java. Konstanšu grupēšana ar saskarņu palīdzību. Rombveida mantošana: simetriskā un asimetriskā pieeja. 2 5 0 0
Klases un apakšklases radīšana valodā Java. Objektu masīva radīšana un apstrāde. Laboratorijas darbs. 2 0 0 0
Operācijas ar masīviem valodā Java. Masīvu kopēšanas aspekti. Pakotne java.util. Saskarnes Comparable un Comparator. 2 5 0 0
Klases-čaulas. Populāras klases no valodas Java pakotnes java.util. Saraksti, vārdnīcas, kopas. 2 4 0 0
Agregācija. Objektu secības kārtošana. Izņēmumi objektu pievienošanas/dzēšanas kontrolei. Laboratorijas darbs. 2 0 0 0
Java grafisko lietotņu koncepcija un radīšanas pamati. 2 4 0 0
Notikumu apstrāde Java grafiskajās lietotnēs. Dažādu apstrādes shēmu analīze. Izvietošanas menedžeru lietošana. 6 5 0 0
Objektu identifikācija secībā. Vārdnīcas veidošana identifikācijas statistikas glabāšanai. Laboratorijas darbs. 2 0 0 0
Bibliotēkas Swing koncepcija un lietošana. 4 4 0 0
Valodas Python pamati. Kontroles struktūras un aritmētisko aprēķinu īpašības. Izņēmumu ierosināšana un apstrāde. 4 4 0 0
Java grafiskās lietotnes radīšana. Laboratorijas darbs. 2 0 0 0
Vairāklīmeņu datu struktūras valodā Python. Vārdnīcu vārdnīcas, sarakstu vārdnīcas un tā tālāk. Darbs ar datnēm. 2 4 0 0
Klases un objekti valodā Python. Mantošana un agregācija. Dažu populāro metožu pārdefinēšana. 2 2 0 0
Saraksti un vārdnīcas valodā Python. Laboratorijas darbs. 2 0 0 0
Citi Python valodas lietošanas aspekti. Grafisko lietotņu izstrāde Python valodā. 2 6 0 0
.NET platformas īpašības. C# valoda kā .NET platformas bāzes valoda. Kods MSIL kā .NET lietotņu kompilācija. 2 5 0 0
Vairāklīmeņu datu struktūras un datnes valodā Python. Laboratorijas darbs. 2 0 0 0
Objektorientētās iespējas C# valodā. Sakritības un atšķirības no Java koncepcijām. 4 8 0 0
Integrācija ar .NET platformu. Citu valodu apskats .NET platformas kontekstā. 4 6 0 0
Kolekciju lietošana C# valodā. Kārtošana un izņēmumi. Laboratorijas darbs. 2 0 0 0
Kopā: 60 73 0 0
Mērķis un uzdevumi, izteikti
kompetencēs un prasmēs
Studiju kursa mērķis ir sagatavot speciālista, kurš var brīvi lietot trīs objektorientētās programmēšanas valodas: Java, Python un C#. Studiju kursa uzdevumi: 1. Attīstīt prasmi pielietot programmatūras izstrādei jebkuru C grupas programmēšanas valodu; 2. Iemācīt skriptu programmēšanu Python valodas piemērā; 3. Iemācīt saprast būtiskās atšķirības starp statiskajām un dinamiskajām programmēšanas valodām; 4. Attīstīt prasmi perspektīvā ātri apgūt jebkuru dinamisko programmēšanas valodu; 5. Iemācīt izvēlēties labāko valodu konkrētās problēmas risināšanai; 6. Iemācīt .NET platformas arhitektūru un fundamentālus jēdzienus.
Sasniedzamie studiju
rezultāti un to vērtēšana
Spēj lietot Java, Python un C# valodu daudzveidīgas sintaktiskās konstrukcijas. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj programmēt algoritmus un datu struktūras.
Spēj izstrādāt objektorientētās programmas Java, Python un C# valodās. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj risināt uzdevumus objektorientētajā stilā.
Spēj pielietot Java, Python un C# valodu bibliotēkas. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj lietot kolekcijas un apstrādāt notikumus.
Spēj orientēties .NET platformas raksturīgajās īpašībās. - Laboratorijas darbu izpilde un aizstāvēšana. Kritēriji: spēj pielietot .NET platformas specifiskās klases un pieejas.
Spēj demonstrēt teorētiskās un praktiskās zināšanas par vairākām objektorientētajām programmēšanas valodām citam speciālistam. - Eksāmena darba rakstīšana. Kritēriji: spēj atbildēt uz teorētiskiem jautājumiem, 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, C++ valoda, algoritmu konstruēšana.
Studiju kursa plānojums
Daļa KP Stundas Pārbaudījumi
Lekcijas Prakt. d. Lab. Ieskaite Eksāmens Darbs
1 5.0 40.0 0.0 20.0 *

Pieteikties uz šo kursu

[Kursa apraksts PDF formātā]