Veidlapa Nr. M-3 (8)
Studiju kursa apraksts

Programmēšanas pamati

Studiju kursa pamatinformācija

Kursa kods
SZF_166
Zinātnes nozare
Elektrotehnika, elektronika, informācijas un komunikāciju tehnoloģijas
Kredītpunkti (ECTS)
3,00
Mērķauditorija
Informācijas un komunikācijas zinātne; Uzņēmējdarbības vadība; Vadībzinātne
LKI
7. līmenis
Studiju veids un forma
Pilna laika

Studiju kursa īstenotājs

Kursa vadītājs
Struktūrvienības vadītājs
Struktūrvienība
Sociālo zinātņu fakultāte
Kontaktinformācija

Kuldīgas iela 9c, Rīga

Par studiju kursu

Mērķis

Python programmēšanas kursa mērķis ir nodrošināt studentiem visaptverošas zināšanas par Python programmēšanu, attīstot prasmes un kompetences, kas nepieciešamas reālu problēmu risināšanai, efektīvu un lietotājam draudzīgu programmu izstrādei. Apgūstot Python vadības struktūras, datu struktūras, funkcijas un objektorientētās programmēšanas principus, studenti spēs izstrādāt strukturētus un atkārtoti lietojamus programmatūras risinājumus, kritiski izvērtējot un pielietojot atbilstošas programmēšanas metodes dažādu projektu vajadzībām.

Priekšzināšanas

Lai sekmīgi apgūtu šo kursu, studentiem ir jābūt pamatprasmēm darbā ar datoru, tostarp jāprot lietot datoru, pārvaldīt failus un mapes, kā arī jāorientējas operētājsistēmas pamatfunkcijās. Būs noderīgi arī stabili aritmētisko un matemātisko darbību pamati, kā arī pamatjēdzienu, piemēram, mainīgo lielumu un vienkāršu vienādojumu, pārzināšana. Turklāt angļu valodas prasme ir būtiska, lai lasītu un saprastu tehniskos materiālus, jo lielākā daļa programmēšanas resursu un dokumentācijas ir pieejama angļu valodā. Iepriekšēja programmēšanas pieredze nav obligāta, taču, lai gūtu panākumus šajā kursā, ir svarīgi vēlēties mācīties un eksperimentēt ar jauniem jēdzieniem.

Studiju rezultāti

Zināšanas

1.Uzskaitīt Python programmēšanas valodas pamatelementus un skaidrot to pielietojumu.

Patstāvīgais darbs un pārbaudījumi

Tests: Ievads Python programmēšanā

2.Nosaukt galvenās vadības struktūras un datu struktūras un izskaidrot to nozīmi efektīvā programmēšanā.

Patstāvīgais darbs un pārbaudījumi

Tests: Vadības struktūru izmantošana programmēšanā Praktiskā darba prezentēšana

3.Aprakstīt funkciju un objektorientētās programmēšanas (OOP) principus un to priekšrocības programmas modularitātes nodrošināšanā.

Patstāvīgais darbs un pārbaudījumi

Praktiskā darba prezentēšana Tests: Objektorientētās programmēšana 1 Tests: Objektorientētās programmēšana 2

Prasmes

1.Veidot un pielietot Python vadības struktūras un datu struktūras reālu problēmu risināšanā.

Patstāvīgais darbs un pārbaudījumi

Vienkāršas pārvaldības sistēmas izstrāde Python valodā Praktiskā darba prezentēšana

2.Izstrādāt funkcijas un izmantot objektorientētās programmēšanas pieejas, lai uzlabotu programmas struktūru un atkārtotu izmantojamību.

Patstāvīgais darbs un pārbaudījumi

Praktiskā darba prezentēšana Vienkāršas pārvaldības sistēmas izstrāde Python valodā Tests: Funkciju nepieciešamība, veidošana un pielietošana 1 Tests: Funkciju nepieciešamība, veidošana un pielietošana 2

3.Pielietot Python, lai apstrādātu datus un veiktu analīzi dažādos projektos.

Patstāvīgais darbs un pārbaudījumi

Tests: Datu struktūru veidi un pielietojums 1 Tests: Datu struktūru veidi un pielietojums 2 Vienkāršas pārvaldības sistēmas izstrāde Python valodā Praktiskā darba prezentēšana Tests: Python programmēšanas valodas pielietojums mākslīgā intelekta izstrādē 1 Tests: Python programmēšanas valodas pielietojums mākslīgā intelekta izstrādē 2

4.Izstrādāt vienkāršas grafiskās lietotāja saskarnes, padarot programmas lietotājam draudzīgas un vizuāli pievilcīgas.

Patstāvīgais darbs un pārbaudījumi

Tests: Grafiskas lietotāju saskarnes izstrāde 1 Tests: Grafiskas lietotāju saskarnes izstrāde 2

Kompetences

1.Pielietot Python programmēšanas valodas iespējas, lai risinātu reālas dzīves problēmas un efektīvi plānot projektus.

Patstāvīgais darbs un pārbaudījumi

Vienkāršas pārvaldības sistēmas izstrāde Python valodā Praktiskā darba prezentēšana

2.Veidot strukturētas un lietotājiem draudzīgas lietotnes, izmantojot gan vadības struktūras, gan objektorientēto programmēšanu.

Patstāvīgais darbs un pārbaudījumi

Praktiskā darba prezentēšana Vienkāršas pārvaldības sistēmas izstrāde Python valodā

3.Demonstrēt kritisko domāšanu, izvēloties atbilstošas programmēšanas metodes un risinājumus.

Patstāvīgais darbs un pārbaudījumi

Vienkāršas pārvaldības sistēmas izstrāde Python valodā Praktiskā darba prezentēšana

4.Atrast un izmantot atbilstošus tehniskos risinājumus dažādās programmēšanas situācijās.

Patstāvīgais darbs un pārbaudījumi

Praktiskā darba prezentēšana Vienkāršas pārvaldības sistēmas izstrāde Python valodā

Vērtēšana

Patstāvīgais darbs

Virsraksts
% no gala vērtējuma
Vērtējums
1.

Vienkāršas pārvaldības sistēmas izstrāde Python valodā

40,00% no gala vērtējuma
10 balles

Mērķis:

Izveidot Python programmu, kas simulē bibliotēkas pārvaldības sistēmas galvenās funkcijas – grāmatu pārvaldību, meklēšanu, izsniegšanu un statistikas atskaites. Visi dati tiek glabāti kopīgā JSON failā (library_data.json).

Datu modelis – Grāmata (Book):

Katram ierakstam jāietver:

  • Nosaukums (string)
  • Autors (string)
  • Cena (float)
  • Pieejamais skaits (int)
  • Izsniegtais skaits (int)

Nepieciešamās funkcijas (funkcionalitātes):

1. Grāmatu pievienošana un atjaunināšana

  • Ievaddati: nosaukums, autors, cena, pieejamais skaits.
  • Ja grāmata jau eksistē – atjaunina tās informāciju.
  • Ja grāmata neeksistē – pievieno jaunu ierakstu.
  • Dati tiek saglabāti library_data.json.

2. Visu grāmatu saraksta apskate

  • Izvada katru grāmatu ar visiem tās atribūtiem.

3. Grāmatas izsniegšana

  • Lietotājs ievada grāmatas nosaukumu un izsniedzamo skaitu.
  • Samazina pieejamo skaitu un palielina izsniegto, ja tas iespējams.

4. Grāmatas atgriešana

  • Lietotājs ievada grāmatas nosaukumu un atgriežamo skaitu.
  • Palielina pieejamo skaitu un samazina izsniegto, ja tas iespējams.

5. Grāmatu meklēšana

  • Meklēšana pēc nosaukuma vai autora.
  • Izvada atrasto grāmatu(-as) ar to datiem.

6. Top 5 visvairāk izsniegtās grāmatas

  • Balstoties uz Izsniegtais skaits lauku.

7. Top 5 vismazāk izsniegtās grāmatas

  • Balstoties uz Izsniegtais skaits lauku.

8. Top 5 dārgākās grāmatas

  • Balstoties uz Cena lauku.

Izstrādāt kodu, ievērojot visus labās prakses principus.

Pārbaudījums

Virsraksts
% no gala vērtējuma
Vērtējums
1.

Tests: Ievads Python programmēšanā

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

2.

Tests: Vadības struktūru izmantošana programmēšanā

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

3.

Tests: Funkciju nepieciešamība, veidošana un pielietošana 1

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

4.

Tests: Funkciju nepieciešamība, veidošana un pielietošana 2

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

5.

Tests: Datu struktūru veidi un pielietojums 1

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

6.

Tests: Datu struktūru veidi un pielietojums 2

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

7.

Tests: Objektorientētās programmēšana 1

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

8.

Tests: Objektorientētās programmēšana 2

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

9.

Tests: Grafiskas lietotāju saskarnes izstrāde 1

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

10.

Tests: Grafiskas lietotāju saskarnes izstrāde 2

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

11.

Tests: Python programmēšanas valodas pielietojums mākslīgā intelekta izstrādē 1

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

12.

Tests: Python programmēšanas valodas pielietojums mākslīgā intelekta izstrādē 2

4,00% no gala vērtējuma
10 balles

Tests par nodarbībā apgūto vielu.

13.

Praktiskā darba prezentēšana

12,00% no gala vērtējuma
10 balles

Pēdējā nodarbībā prezentēt izveidoto Python programmu bibliotēkas pārvaldībai, īpašu uzmanību pievēršot programmas kodam. Prezentācijas ilgums 10 minūtes, pēc prezentācijas jāspēj atbildēt uz auditorijas uzdotajiem jautājumiem.

Prezentācijā jāparāda:

  • Programmas struktūra (faili un moduļi).
  • Galvenās funkcijas kodā (piemēram: add_book()).
  • Katrai funkcijai īsi jāizskaidro tās darbības princips:
    • Kādi dati tiek ievadīti,
    • Kā funkcija apstrādā šos datus,
    • Kā tiek atjaunināts library_data.json fails vai parādīts rezultāts lietotājam.
  • Prezentēt programmas darbību.

Studiju kursa tēmu plāns

PILNA LAIKA
1. daļa
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Grafiskas lietotāju saskarnes izstrāde
Apraksts
Anotācija: Šajā tēmā iepazīsimies ar grafisko lietotāju saskarņu (GUI) izstrādi Python valodā, lai veidotu lietotājam draudzīgas un vizuāli pievilcīgas aplikācijas. Teorētiskajā daļā aplūkosim GUI pamatprincipus, piemēram, logu un pogu veidošanu, datu ievades elementus un saskarnes izkārtojuma organizēšanu. Tiks apskatīti arī GUI bibliotēkas, piemēram, Tkinter un Turtle, kas palīdz vienkārši izveidot grafisko saskarni Python vidē. Praktiskajā daļā dalībnieki izstrādās savu vienkāršu lietotāja saskarni, eksperimentējot ar dažādiem saskarnes elementiem un funkcionalitātēm. Tēmas beigās studenti būs apguvuši pamatus GUI izstrādē, kas ļaus viņiem veidot interaktīvas un lietotājiem ērtas Python lietotnes.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Objektorientētās programmēšana (OOP)
Apraksts
Anotācija: Šajā tēmā aplūkosim objektorientētās programmēšanas (OOP) pamatprincipus un to pielietojumu Python valodā. Teorētiskajā daļā iepazīstināsim ar tādiem OOP pamatiem kā klases, objekti, īpašības un metodes, kā arī apskatīsim būtiskos principus – mantošanu, polimorfismu un enkapsulāciju. Tiks skaidrots, kā OOP palīdz veidot strukturētākas un atkārtoti lietojamas programmas. Praktiskajā daļā dalībnieki izveidos savas klases un objektus, praktizēs metožu un īpašību definēšanu un izmantos OOP, lai risinātu uzdevumus, kuriem nepieciešama sarežģītāka datu un loģikas organizēšana. Tēmas noslēgumā studenti būs guvuši pamatzināšanas par OOP un spēs pielietot šo pieeju savās Python programmās, lai veidotu elastīgākus un vieglāk uzturamus risinājumus.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Objektorientētās programmēšana (OOP)
Apraksts
Anotācija: Šajā tēmā aplūkosim objektorientētās programmēšanas (OOP) pamatprincipus un to pielietojumu Python valodā. Teorētiskajā daļā iepazīstināsim ar tādiem OOP pamatiem kā klases, objekti, īpašības un metodes, kā arī apskatīsim būtiskos principus – mantošanu, polimorfismu un enkapsulāciju. Tiks skaidrots, kā OOP palīdz veidot strukturētākas un atkārtoti lietojamas programmas. Praktiskajā daļā dalībnieki izveidos savas klases un objektus, praktizēs metožu un īpašību definēšanu un izmantos OOP, lai risinātu uzdevumus, kuriem nepieciešama sarežģītāka datu un loģikas organizēšana. Tēmas noslēgumā studenti būs guvuši pamatzināšanas par OOP un spēs pielietot šo pieeju savās Python programmās, lai veidotu elastīgākus un vieglāk uzturamus risinājumus.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Vadības struktūru izmantošana programmēšanā
Apraksts
Anotācija: Šajā tēmā koncentrēsimies uz programmēšanas vadības struktūrām, kas ir būtiskas loģikas veidošanā un programmas plūsmas kontrolei. Teorētiskajā daļā apskatīsim tādas vadības struktūras kā nosacījuma konstrukcijas (if, else, elif), ciklus (for, while) un pārtraukšanas komandas (break, continue). Praktiskajā daļā dalībnieki veidos programmas, kurās izmanto vadības struktūras, lai atrisinātu dažādus uzdevumus, piemēram, lietotāja ievades pārbaudi. Tēmas noslēgumā studenti būs apguvuši prasmes pielietot vadības struktūras problēmu risināšanā Python vidē.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Grafiskas lietotāju saskarnes izstrāde
Apraksts
Anotācija: Šajā tēmā iepazīsimies ar grafisko lietotāju saskarņu (GUI) izstrādi Python valodā, lai veidotu lietotājam draudzīgas un vizuāli pievilcīgas aplikācijas. Teorētiskajā daļā aplūkosim GUI pamatprincipus, piemēram, logu un pogu veidošanu, datu ievades elementus un saskarnes izkārtojuma organizēšanu. Tiks apskatīti arī GUI bibliotēkas, piemēram, Tkinter un Turtle, kas palīdz vienkārši izveidot grafisko saskarni Python vidē. Praktiskajā daļā dalībnieki izstrādās savu vienkāršu lietotāja saskarni, eksperimentējot ar dažādiem saskarnes elementiem un funkcionalitātēm. Tēmas beigās studenti būs apguvuši pamatus GUI izstrādē, kas ļaus viņiem veidot interaktīvas un lietotājiem ērtas Python lietotnes.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Funkciju nepieciešamība, veidošana un pielietošana
Apraksts
Anotācija: Šajā tēmā apskatīsim funkciju būtisko lomu programmēšanā, kā arī to izveides un izmantošanas principus Python valodā. Teorētiskajā daļā skaidrosim, kāpēc funkcijas ir svarīgas koda modularitātes, atkārtotas izmantošanas un lasāmības nodrošināšanai. Izskatīsim funkciju sintaksi, parametru nodošanu, atgriešanas vērtības, kā arī iebūvēto un lietotāja definēto funkciju atšķirības. Praktiskajā daļā dalībnieki veidos un izmēģinās savas funkcijas, atrisinot dažādus uzdevumus, kuriem nepieciešama loģiska sadalīšana un atkārtota koda izmantošana. Tēmas noslēgumā studenti spēs efektīvi izmantot funkcijas, lai uzlabotu savas programmas struktūru un darbību.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Datu struktūru veidi un pielietojums
Apraksts
Anotācija: Šajā tēmā iepazīsimies ar datu struktūru veidiem Python valodā un to nozīmi efektīvā datu organizēšanā un apstrādē. Teorētiskajā daļā apskatīsim dažādas datu struktūras, piemēram, sarakstus (lists), kopas (sets), vārdnīcas (dictionaries) un virknes (tuples), izskaidrojot to īpašības, priekšrocības un lietošanas gadījumus. Praktiskajā daļā studenti apgūs, kā izvēlēties piemērotāko datu struktūru dažādām programmēšanas situācijām un veiks uzdevumus, kuros pielieto šīs struktūras datu pārvaldīšanai un manipulācijām. Tēmas noslēgumā studenti spēs saprast, izvēlēties un izmantot dažādas datu struktūras atbilstoši konkrētajiem uzdevumiem Python programmēšanas ietvaros.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Python programmēšanas valodas pielietojums mākslīgā intelekta izstrādē un praktiski piemēri
Apraksts
Anotācija: Šajā tēmā pievērsīsimies Python kā vienai no galvenajām programmēšanas valodām mākslīgā intelekta (MI) izstrādē, iepazīstot tās pielietojumu mašīnmācīšanās un datu analīzes projektos. Teorētiskajā daļā apskatīsim MI projekta galvenos posmus, sākot no datu sagatavošanas līdz analīzes veikšanai un rezultātu interpretācijai, un izskaidrosim, kā Python valoda palīdz realizēt šos posmus efektīvi un strukturēti. Tiks aplūkoti arī dažādi MI pielietojuma piemēri. Praktiskajā daļā dalībnieki izstrādās vienkāršus risinājumus, lai praktiski apgūtu MI pieeju izmantošanu Python vidē dažādu problēmu risināšanā. Tēmas noslēgumā studenti būs apguvuši pamatzināšanas par MI izstrādi Python vidē un ieguvuši praktiskas iemaņas, kas nepieciešamas vienkāršu MI projektu īstenošanai.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Python programmēšanas valodas pielietojums mākslīgā intelekta izstrādē un praktiski piemēri
Apraksts
Anotācija: Šajā tēmā pievērsīsimies Python kā vienai no galvenajām programmēšanas valodām mākslīgā intelekta (MI) izstrādē, iepazīstot tās pielietojumu mašīnmācīšanās un datu analīzes projektos. Teorētiskajā daļā apskatīsim MI projekta galvenos posmus, sākot no datu sagatavošanas līdz analīzes veikšanai un rezultātu interpretācijai, un izskaidrosim, kā Python valoda palīdz realizēt šos posmus efektīvi un strukturēti. Tiks aplūkoti arī dažādi MI pielietojuma piemēri. Praktiskajā daļā dalībnieki izstrādās vienkāršus risinājumus, lai praktiski apgūtu MI pieeju izmantošanu Python vidē dažādu problēmu risināšanā. Tēmas noslēgumā studenti būs apguvuši pamatzināšanas par MI izstrādi Python vidē un ieguvuši praktiskas iemaņas, kas nepieciešamas vienkāršu MI projektu īstenošanai.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Datu struktūru veidi un pielietojums
Apraksts
Anotācija: Šajā tēmā iepazīsimies ar datu struktūru veidiem Python valodā un to nozīmi efektīvā datu organizēšanā un apstrādē. Teorētiskajā daļā apskatīsim dažādas datu struktūras, piemēram, sarakstus (lists), kopas (sets), vārdnīcas (dictionaries) un virknes (tuples), izskaidrojot to īpašības, priekšrocības un lietošanas gadījumus. Praktiskajā daļā studenti apgūs, kā izvēlēties piemērotāko datu struktūru dažādām programmēšanas situācijām un veiks uzdevumus, kuros pielieto šīs struktūras datu pārvaldīšanai un manipulācijām. Tēmas noslēgumā studenti spēs saprast, izvēlēties un izmantot dažādas datu struktūras atbilstoši konkrētajiem uzdevumiem Python programmēšanas ietvaros.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Funkciju nepieciešamība, veidošana un pielietošana
Apraksts
Anotācija: Šajā tēmā apskatīsim funkciju būtisko lomu programmēšanā, kā arī to izveides un izmantošanas principus Python valodā. Teorētiskajā daļā skaidrosim, kāpēc funkcijas ir svarīgas koda modularitātes, atkārtotas izmantošanas un lasāmības nodrošināšanai. Izskatīsim funkciju sintaksi, parametru nodošanu, atgriešanas vērtības, kā arī iebūvēto un lietotāja definēto funkciju atšķirības. Praktiskajā daļā dalībnieki veidos un izmēģinās savas funkcijas, atrisinot dažādus uzdevumus, kuriem nepieciešama loģiska sadalīšana un atkārtota koda izmantošana. Tēmas noslēgumā studenti spēs efektīvi izmantot funkcijas, lai uzlabotu savas programmas struktūru un darbību.
  1. Nodarbība/Seminārs

Modalitāte
Norises vieta
Kontaktstundas
Klātiene
Datorklase
2

Tēmas

Ievads Python programmēšanā
Apraksts
Anotācija: Šajā tēmā iepazīsimies ar Python programmēšanas valodu, tās pielietojuma iespējām un priekšrocībām. Teorētiskajā daļā apskatīsim Python vēsturi, sintakses pamatus un tipiskākās Python lietošanas jomas, piemēram, datu apstrādi, tīmekļa izstrādi un automatizāciju. Praktiskajā daļā studenti uzsāks darbību ar Python interpretatoru, apgūs pirmās komandas un veidos vienkāršus programmēšanas risinājumus, lai stiprinātu izpratni par valodas pamatiem un sintaksi. Tēmas noslēgumā studenti būs spējīgi rakstīt elementāras Python programmas.
Kopā kredītpunkti (ECTS):
3,00
Kontaktstundas:
24 ak. st.
Gala pārbaudījums:
Eksāmens

Bibliogrāfija

Obligātā literatūra

1.

Matthes E. 2023. Python Crash Course: A Hands-On, Project-Based Introduction to Programming. 3rd ed. No Starch PressPiemērots angļu valodas plūsmai

2.

Downey A. B. 2015. Think Python: How to Think Like a Computer Scientist. 2nd ed. O'Reilly MediaPiemērots angļu valodas plūsmai

3.

Slatkin B. 2019. Effective Python: 90 Specific Ways to Write Better Python. 2nd ed. Addison-Wesley ProfessionalPiemērots angļu valodas plūsmai