PBP_ALPR Algoritmizace a programování Léto 2024

merge email studentom 11.5.2024

Dobry den,  chcem Vam dat vediet, ze som na webstranku predmetu [1] pripravil 
zapis z poslednej vyucby v piatok 10.5.2024. Najdete na nej aj odkazy na 
video+audio nahravky z vyucby a aj podmienky ukoncenia predmetu. 
Pozdravuje Juraj Pančík 
[1] https://www.drpancik.sk/vyucba-akademicky-rok-2022-23/vyucba-ambis-praha-ar-2023-24/pbp_alpr-algoritmizace-a-programovani-leto-2024/

Vyucba 10.5. 2024 (on-line) 16:10-19:20 – nahradna vucba 

AGENDA: 

— testy na on-line preskusanie su hotove a su pripravene v AIS-u – neazbudnite ze minimalne 4 dni pred online preskusanim treba poslat JuPa semestralnu pracu –> JuPa nasledne zapise zapocet Z do poznamkoveho bloku a az potom sa mozete prihlasit na skusku (t.j. on line preskusanie)

— povinny obsah semestralky a online preskusania vid. dole na tejto stranke – pojde o „UML cast vyucby“ 

VYUCBA : 

CAST A:  Zapis algoritmu kteri je zadany v graficke notaci (flowchart) v jazyku C# (skripta PSENCIKOVA)

PRIKLADY :

ALGORITMY_2: Parne / Neparne
— napiste kod v C# pre ulohu zistenia ci je cislo parne / neparne
— PSENCIKOVA, kap.3, VETVENIA – strana 30
Autor: Tatiana B. https://dotnetfiddle.net/CUoOm1
Autor: Matus M. https://dotnetfiddle.net/cj5XWq
ALGORITMY_3: DELITELNOST
— napiste kod v C# pre ulohu zistenia delitelnosti cisla
— PSENCIKOVA, kap.3, VETVENIA – strana 31, activity diagram 32
   Autor: https://dotnetfiddle.net/Qg33fa
 ALGORITMY_4: ZORADENIE TROCH CISIEL PODLA VELKOSTI BEZ POMOCNEJ BUNKY
— napiste kod v C# pre ulohu zoradenie troch cisiel podla velkosti bez pomocnej bunky
— PSENCIKOVA, kap.3, VETVENIA – strana 35, diagram 36
   Autor: Tatiana B. https://dotnetfiddle.net/n9s4BB
ALGORITMY_5: ZORADENIE TROCH CISIEL PODLA VELKOSTI S RESPEKTOVANIM VYSLEDKU PREDCHADZAJUCEHO KROKU
— napiste kod v C# pre ulohu zoradenie troch cisiel podla velkosti s respektovanim vysledku predchadzajuceho kroku
— PSENCIKOVA, kap.3, VETVENIA – strana 37, diagram 38
   Autor: Tatiana B. https://dotnetfiddle.net/gK7wuL
CAST B:  Zapis algoritmu kteri je zadany v pseudokode  v jazyku C# (kniha MARES – VALLA )
TEORIA :
  • matematicky zapis algoritmov + prepis do kodu C# priklady z knihy MARES-VALLA
  • matematicky zapis pseudokodu (pouzivany v knihe MARES-VALLA) vid: https://en.wikipedia.org/wiki/Pseudocode
  • informacia o referencnej ucebnici RIVEST – Introduction to ALGORITHMS [1]- ucia z nej aj v kurze z roku 2020  na MIT [2]
  • postup vysvetlovania algoritmov pomocou pseudo kodu je aj v spickovej ucebnici AI [3]
  • TIP na citanie : Odporucane knihy o „AI“ (Artificial Intelligence) od absolventa Oxfordu a uspesneho slovenskeho startupistu Tomasa HALGASA – vid clanok na DennikN [4]

ZDROJE : 

PRIKLADY :
PSEUDOCODE_1: MaxSoučet1
— zapiste v jazyku C# algoritmus MaxSoučet1(kniha MARES-VALLA, kap.1, strana 23)
 Autor :
Tatiana B.  https://dotnetfiddle.net/rtXEvc
Milan C. https://dotnetfiddle.net/FNADVt
PSEUDOCODE_2: MaxSoučet2
— zapiste v jazyku C# algoritmus MaxSoučet1(kniha MARES-VALLA, kap.1, strana 24)
 Autor :
Tatiana B. https://dotnetfiddle.net/IZIMAk
Milan C.https://dotnetfiddle.net/vezFze
PSEUDOCODE_3: MaxSoučet3
— zapiste v jazyku C# algoritmus MaxSoučet1(kniha MARES-VALLA, kap.1, strana 25)
  Autor :
  Tatiana B.https://dotnetfiddle.net/xNHgh0
  Milan C. https://dotnetfiddle.net/fjVsaP

Vyucba 16.4. 2024 (on-line) 16:10-19:20 – vyucba zrusena v dosledku choroby ucitela 

  • merge email studentom premdetu cez IS AMBIS : 
    „Je to velmi luto, ale dnes  v patek 26.4. o 16:10 Vas nemozem ON-LINE ucit lebo som chory
    – v noci som dostal virozu, rano som bol u lekara a teraz mi nepomohli ani dva
    paralelne Paraleny aby som bol schopny Vas ucit. Nahradny termin vyuky Vam skoro oznamim.
    Ospravedlnujem sa ze je to takto narychlo a nedal som Vam vediet skorej.
    Do nasho nahradneho stretnutia doplnim webovu stranku predmetu, pripravim
    terminy on-line skusky. Napiste mi ak potrebujete cokolvek vediet.“

Vyucba 19.4. 2024 (on-line) 16:10-19:20

Vyucba 5.4. 2024 (on-line) 16:10-19:20

  • VIDEO ZAZNAM z on-line prednasky  (link je na IS AMBIS ) : prva cast , druha cast
  • UML cast vyucby : 
  • popisujeme class diagram v projekte ATM  z pohladu atributov a metod (vid. Fig. 31.9 | Class diagram of the ATM system (incorporating inheritance). Abstract class name Transaction appears in italics. (str. 1097))
  • venujeme sa implementacii navrhu UML popisanej v kapitole 31 a specialne sa veujeme ako sa modifikuje diagram tried pri zvazeni zavedenia abstraktnej triedy Transaction a ako ho interpretovat (vid. Fig. 31.9 | Class diagram of the ATM system (incorporating inheritance). Abstract class name Transaction appears in italics. (str. 1097))
  • venujeme sa pojmu bazova (nadriadena trieda) a podriadena trieda a aplikacii tychto pojmov (vid. Fig. 31.8 | Class diagram modeling the generalization (i.e., inheritance) relationship between the base class Transaction and its derived classes BalanceInquiry, Withdrawal and Deposit (str. 1094))
  • ukazujeme si tvorbu kodu triedy „sendvicovym“ sposobom
  • cast vyucby ALGORITMIZACIA :
  • venujeme sa ako zapisat algoritmus vyjadreny vvojovym diagramom (flow chart) v jazyku C#
  • vyvojove diagramy na prepis do C# preberame z knihy PSENCIKOVA (…AMBIS Stud.materialy ALP Leto 2024\Ucebni materialy\__ALGORITHMS\SKEN KNIHA PSENCIKOVA 2009\)
  • programovacie prostredie pre jazyk C# je DOT NET FIDDLE
  • vystupy z programovacich cviceni skupiny studentov ako samostatny EXCEL subor (POZN: studenti zapisovali algoritmicke ulohy z knihy PSENCIKOVA  v jazyku C#) najdete na disku IS AMBIS link je TU   Tento subor EXCEL sa postupne doplni o vsetky riesene ulohy  – umozni Vam to vlastne experimenty s vlastnym zapisom algoritmov PSENCIKOVA –> C# v DOT NET FIDDLE. Cizi cviceni su dobre proto, ze je videt jak se nacitavaji vstupy od uzivatelu a jak se deka zv. konzolov vystup.
  • Nabuduce:
    • AGENDA termin zaslani asemestralnej prace
    • Principy zapsu algoritmov v pseudokode (kniha MARES – VALLA vid. 1,.kap.  AMBIS Stud.materialy ALP Leto 2024\Ucebni materialy\__ALGORITHMS\KNIHA MARES VALL PRUVODCE LABYRYNTEM ALGORITMU 2017.pdf )

**************************************************************************

Požadavky na ukončení předmětu – zápočet  a skouska :

**************************************************************************

  1. skouska :  TEST ON-LINE (z domova, není třeba být ve škole během testu) – 30% – test se týká projektu ATM terminálu. Ide o interpretaci diagramu UML ako class diagramu, sekvencniho diagramu, state diagramu …. vid text dole „Zdroje ke studiu“.  
    • PREREKVIZITA pri prihlasovani na skusku v IS AMBIS  : ANO : zapocet v poznamkovem bloku v IS-u v podobe zapisu pismena „Z“ – Inak receno:  student musi poslat seminarnu pracu a potom mu zapisem „Z“.
    • Rozsah a hodnocení úspešnosti testu:počet otázek : 10 ,informace o hodnocení úspěšnosti : Jedna odpoveď = 10 bodov, max. 100 bodov, 1 = 100, 2 = 80 a 90, 3 = 60 a 70, nevyhovel = 50 a menej
  2. zapocet :  SEMESTRÁLKA „Požadavky a UML diagramy pro projekt ATM terminál“ vytvoření podkladového WORD dokumentu (a ZIP souboru jeho specifikaci vid. nize v bodu 2.2), který bude obsahovat

2.1. UML diagramy nakreslené v DRAW. IO –  70%.

Subor: DEITEL C# chap.30 ATM Case Study Part 1 Object-Oriented Design with the UML.pdf
Fig. 30.4 | Use case diagram for the ATM system from the user’s perspective.
Fig. 30.13 | State machine diagram for some of the states of the ATM object.
Fig. 30.14 | Activity diagram for a BalanceInquiry transaction
Fig. 30.15 | Activity diagram for a Withdrawal transaction.
Fig. 30.24 | Communication diagram for executing a BalanceInquiry.
Fig. 30.25 | Sequence diagram that models a Withdrawal executing
Fig. 30.29 | Activity diagram for a Deposit transaction.
Fig. 30.30 | Sequence diagram that models a Deposit executing.

Subor: DEITEL C# chap.31 ATM Case Study Part 2 Implementing an Object-Oriented Design.pdf
Fig. 31.8 | Class diagram modeling the generalization (i.e., inheritance) relationship between the base class Transaction and its derived classes BalanceInquiry, Withdrawal and Deposit (str. 1094)
Fig. 31.9 | Class diagram of the ATM system (incorporating inheritance). Abstract class name Transaction appears in italics. (str. 1097)
Fig. 31.10 | Class diagram after incorporating inheritance into the system. (str.1098)

2.2. ZIP subor so zazipovanymi subormi XML vyexportovanymi z programu drawio – jeden XML subor pre jeden obrazok

2.3. Ve WORD-u musi byt uvedena kratka sprava o nainstalovani programu Visual Studio 2019 (nebo 2023) a spusteni programu „ATM terminal“ (… AMBIS Stud.materialy ALP Leto 2024\Ucebni materialy\__STUDY\ATMCase-Study-DEITEL-Csharp-ch31.zip)

**************************************************************************

Jak napsat semestralni praci :

**************************************************************************

  •  VSEOBECNÉ :
    • odporučené čtení :  Metodologie_odborne_prace_studijni_opora_Zadrazilova_2020_final.pdf 
    •  semestrálka musí být napsána ve Wordu, formát taky jak požaduje AMBIS.CZ (přední strana, obsah, seznam literatury)
    • odkazy v textu semestralní práce podle ISO690, první prvek a datum -(…. WORD to ví)
    • seznam literatury (může být proveden automaticky ve WORDU)
    • rozsah jadra semestrálnej práce – rozumný – 10-15 stran
  • STUDINÍ ODDELENÍ DOPORUČUJE:

**************************************************************************

Zdroje ke studiu UML casti a priprave semestralnej praci :

**************************************************************************

na IS AMBIS su materialy na linku  https://is.ambis.cz/auth/el/ambis/leto2024/PBP_ALPR/um/study/

  • Analyza ATM terminalu v ENG – text knihy DEITEL :
    • kapitola knihy DEITEL :   C# chap.30 ATM Case Study Part 1 Object-Oriented Design with the UML.pdf
    • prezentace : 150307-DEITEL-kap.30-ATM-UML.pptx
  • Analyza ATM terminalu v CZ  – text knihy  DEITEL:
    • kapitola knihy DEITEL: DEITEL C# chap.30 ATM Case Study Part 1 Object-Oriented Design with the UML cs.pdf
    • prezentace:  150307-DEITEL-kap.30-ATM-UML cs.pptx
  • Implementace  ATM terminalu v jazyce C# v ENG – text knihy DEITEL :
    • kapitola knihy DEITEL :  DEITEL C# chap.31 ATM Case Study Part 2 Implementing an Object-Oriented Design.pdf
    • prezentace : 151024-DEITEL-kap.31-ATM-C#-implement.pptx
  • Implementace  ATM terminalu v jazyce C# v CZ  – text knihy  DEITEL:
    • kapitola knihy DEITEL: DEITEL C# chap.31 ATM Case Study Part 2 Implementing an Object-Oriented Design cs.pdf
    • prezentace:  151024-DEITEL-kap.31-ATM-C#-implement cs.pptx
  • Bakalarske prace Karel Ruzicka venovana ATM terminalu : …AMBIS Stud.materialy ALP Leto 2024\Ucebni materialy\__STUDY\Karel_Ruzicka_BP_final1.docx