2023-Q4-DesignPatterns 1. Ievads, Python, Object-Oriented Programming (OOP), UML

 

1.1. Video / Materiāli

Video: https://youtube.com/live/fY7jVFYhLRs?feature=share

Jamboard: https://jamboard.google.com/d/1wCSNI5tJVJ60jbTSeoE7BsCry-MdfmtpeSnb5CUGk-E/edit?usp=sharing

Design Patterns Book: http://share.yellowrobot.xyz/quick/2023-9-6-9D54BEEF-ECEB-4C37-AC3E-2B2EF475ED31.pdf

 

1.2. Sagatavot vidi darbam

Pirms kursa uzsākšanas nepieciešams:

  1. Uzinstalēt pycharm izstrādes vidi: https://www.jetbrains.com/pycharm/

  2. Uzinstalēt Anaconda 3.9 Python package vidi: https://www.anaconda.com/products/individual

  3. Uzinstalēt pytorch bibliotēku, izmantojot conda packager (mājaslapā tiek ģenerēta attiecīgā komanda katrai OS: https://pytorch.org). Komanda bez CUDA compatible GPU būs: conda install pytorch torchvision -c pytorch

  4. Uzinstalēt SkLearn ar komandu: conda install scikit-learn un matplotlib ar: conda install matplotlib

  5. Palaist hello_world.py piemēru (pielikumā), izmantojot PyCharm programmu (veiksmīgas palaišanas gadījumā varēsiet pārliecināties, ka bibliotēkas strādā)

Vairāk par Anaconda environments / vidēm:

  1. Izveido vidi: conda create --name tavs_vards

  2. Aktivizē vidi: conda activate tavs_vards

  3. Tad instalē bibliotēkas. PyCharm arī tev kā python interpreter ir jāizvēlas vide tavs_vards Vairāk par conda envs var palasīt: https://towardsdatascience.com/getting-started-with-python-environments-using-conda-32e9f2779307

  4. Nepieciešams uzinstalēt pygame un numpy bibliotēkas

Sagatave: http://share.yellowrobot.xyz/quick/2023-9-7-C879F887-7302-4A7F-8C5B-39B7BAAEE3AB.zip

%

1.3. Implementēt funkciju python un iesniegt failu

Implementēt funkciju f(x,b) Nedrīkst izmantot, jau gatavu funkciju (onliner). Nedrīkst izmantot numpy vai citas bibliotēkas, tikai tīru python kodu.

Iesniegt pirmkodu un screenshot, papildus bonus, ja izmanto rekursiju

Izveidotot kodu sekojošam vienādojumam: http://share.yellowrobot.xyz/upic/df7e6c9b6b8f880de6ee2d3e5b740e75_1673883820.png

(1)f(x,b)=(xb+b)(xb1+b1)(xb2+b2)(x0+0)

 

 

1.4. Implementēt Python doto UML klašu diagrammu

Implementēt UML diagramā doto shēmu Python valodā un vienā failā iesniegt līdz ar uzdevumu. Papildus punkti, implementējot PyGame balstītu spēli balstoties uz resursiem: http://share.yellowrobot.xyz/upic/3e0d221ee88cc879353110c263eae6c4_1694030991.png

Shēma: http://share.yellowrobot.xyz/upic/46175827e374b23b19f988e61f2b1ba2_1694030930.png

Interface Python valodā implementē ar ABCMeta un @abstractmethod. Implementēt tikai getters un setters, pārējās funkcijas atstāt tukšas ar pass,

piemēram. class Game: def new_game(self): pass