Programmēšanas pamati
Studiju kursa īstenotājs
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.
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ā.
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ā.
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ā.
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.
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.
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.
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.
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.
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.
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.
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:
Nepieciešamās funkcijas (funkcionalitātes): 1. Grāmatu pievienošana un atjaunināšana
2. Visu grāmatu saraksta apskate
3. Grāmatas izsniegšana
4. Grāmatas atgriešana
5. Grāmatu meklēšana
6. Top 5 visvairāk izsniegtās grāmatas
7. Top 5 vismazāk izsniegtās grāmatas
8. Top 5 dārgākās grāmatas
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:
|
||
Studiju kursa tēmu plāns
-
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.
|
-
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.
|
-
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.
|
-
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ē.
|
-
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.
|
-
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.
|
-
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.
|
-
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.
|
-
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.
|
-
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.
|
-
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.
|
-
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.
|
Bibliogrāfija
Obligātā literatūra
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
Downey A. B. 2015. Think Python: How to Think Like a Computer Scientist. 2nd ed. O'Reilly MediaPiemērots angļu valodas plūsmai
Slatkin B. 2019. Effective Python: 90 Specific Ways to Write Better Python. 2nd ed. Addison-Wesley ProfessionalPiemērots angļu valodas plūsmai