====== Cvičení ====== Odevzdávaným výstupem každé úlohy je **zpráva** (PDF, HTML, plain text), kde je vedle samozřejmých částí, jako jsou * jména autorů, * zadání úlohy (kopie), a * závěr, * uvedeno jak jste úlohu řešili, * k jakým výsledkům jste došli, * na jaké potíže jste narazili a * jak jste se s nimi vypořádali. Zpráva by měla být co [[http://www.rouming.cz/roumingShow.php?file=Essential_advise.jpg|nejkratší]], ale nesmí v ní nic podstatného chybět. Odevzdávají se rovněž zdrojové kódy řešící úlohu. Součástí bodového hodnocení úlohy je kvalita zpracování zprávy. Na cvičení budete potřebovat [[http://www.uppaal.org/|Uppaal]], [[http://alloy.mit.edu/alloy/|Alloy]] a váš oblíbený skriptovací jazyk pro generování zpráv. Každý student/tým si může zvolit vývojové prostředí dle svých dovedností, např. Python, Java, C++/C, Ruby, PHP, C#, Lua, apod. či výpočty počítat na prstech jedné ruky nebo pomocí kalkulačky. Doporučeným programovacím jazykem je **Python**, pro který existuje řada podpůrných knihoven, které lze s výhodou použít v rámci tohoto předmětu. Úkolem předmětu není Vás naučit programovat, ale používat vhodné prostředky, které se k dané problematice váží. Vzhledem k předpokládanému poslednímu roku magisterského studia je na každém týmu, aby nalezl a rozhodl se pro efektivní řešení (samozřejmě s vyjímkou plagiátů), které úlohu splní ve vymezené době. Také by se vám mohl hodit [[http://www.graphviz.org/|Graphviz]]. Úlohy se odevzdávaji do systému Upload/Brute. Deadline pro odevzdání úlohy je obvykle následující cvičení. Na některé úlohy však bude poskytnuta delší doba. ====== Harmonogram cvičení ====== **POZOR!** Bude průběžné aktualizován. ^ Týden ^ Datum ^ Cvičící ^ Body za úlohu ^ Obsah ^ Výukové materiály ^ | 1 | 22.09.2022 | MC | - \\ - \\ - \\ - \\ - \\ - \\ 1 \\ 2 | Organizace cvičení. \\ Rozdělení do skupin po max. 2 studentech. \\ Kontrola přístupu do laboratoře a k počítačům. \\ Instalace prostředí. \\ Kontrola přístupu k Upload systému. \\ - 0pzdr: Odevzdání pozdravu \\ - 1apsp: Distribuce nejkratších cest | {{:courses:b2m32dsa:seminars:0pzdr.pdf|}} \\ {{:courses:b2m32dsa:seminars:1apsp.pdf|}} \\ {{:courses:b2m32dsa:seminars:measurement.zip|}} \\ {{:courses:b2m32dsaa:tutorials:cviceni1.pdf|}}| | 2 | 29.09.2022 | MC | 3 | Generování různých typů grafů | {{ :courses:b2m32dsaa:2randomgraphs.pdf |}} \\ {{:courses:b2m32dsaa:tutorials:assignment2-cviceni.pdf|}}| | 3 | 06.10.2022 | MC | 3 | Identifikace „rich club“ uzlů sítě | {{:courses:b2m32dsa:seminars:c03richclub.pdf|}} \\ {{:courses:be2m32dsaa:assignment3.pdf|}} \\ {{:courses:b2m32dsa:seminars:2016-05-26.tgz|}} \\ {{:courses:b2m32dsaa:tutorials:assignment3-advice.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:exported-flows.zip|}} \\ {{:courses:b2m32dsaa:tutorials:nove_zadani.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:cviceni-3.pdf|}}| | 4 | 13.10.2022 | MC | 3 | Identifikace „rich club“ uzlů sítě - pokračování| \\ {{:courses:b2m32dsaa:tutorials:assignment3-advice.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:rich_club_2_zadani.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:rich_club_2_cviceni.pdf|}}| | 5 | 20.10.2022 | MC | 3 | Rekonstrukce komunikační počítačové sítě | {{:courses:b2m32dsa:seminars:c04networkreconstruction.pdf|}} \\ {{:courses:b2m32dsa:seminars:wireshark_display_filters.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:additional-files.zip|}}\\ {{:courses:b2m32dsa:seminars:20141021merged.zip|}}| | 5 | 27.10.2022 | MC | 3 | Detekce komunit a dynamiky provozu | {{ :courses:b2m32dsaa:c06networkcommunities.pdf | C06NetworkCommunities}} | | 6 | 3.11.2022 | MC | 3 | Specifikace a verifikace protokolů pomocí nástroje Alloy | {{:courses:b2m32dsa:seminars:alloyzadani.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:3_listopad_zadanialloy.pdf|}} \\ [[https://git.frozen-doe.net/jk/alloy-cheat-sheet/blob/master/alloy-cheatsheet.pdf|Alloy Cheat Sheet]]((Patche vítány. Pokud vám v cheat sheetu něco chybí, není jasné nebo je špatně, napište mi, nebo rovnou pošlete merge request v odkazovaném repositáři.)) | | 7 | 10.11.2022 | MC | 6 | Specifikace a verifikace protokolů pomocí nástroje Alloy | {{:courses:b2m32dsa:seminars:alloyzadani.pdf|}} \\ {{:courses:b2m32dsaa:tutorials:10_listopad_alloyzadani.pdf|}} \\ [[https://git.frozen-doe.net/jk/alloy-cheat-sheet/blob/master/alloy-cheatsheet.pdf|Alloy Cheat Sheet]]((Patche vítány. Pokud vám v cheat sheetu něco chybí, není jasné nebo je špatně, napište mi, nebo rovnou pošlete merge request v odkazovaném repositáři.)) | | 8 | 17.11.2022 | | **state holidays** | | | | 9 | 24.11.2022 | MC | 3 | Specifikace dynamického systému v systému UPPAAL \\ (příprava: nainstalujte si [[http://www.uppaal.org/|Uppaal]]) | {{:courses:b2m32dsa:seminars:uppaal_cviceni.pdf|}} \\ {{:courses:b2m32dsa:seminars:variantynim.pdf|}} \\ {{:courses:b2m32dsa:c09.uppaal.zip|}} \\ {{ :courses:b2m32dsaa:hra_nim.zip |Nim}}| | 10 | 01.12.2022 | MC | 3 | Konstrukce testů pro FSM. Konstrukce charakterizační množiny | {{:courses:b2m32dsa:seminars:fsmulohy2.pdf|FsmUlohy.pdf}} \\ {{:courses:b2m32dsa:seminars:fsm2.zip|Automaty.zip}} \\ {{:courses:b2m32dsaa:tutorials:z-cviceni.pdf|}} | | 11 | 08.12.2022 | MC | 3 | Určení stavu pomocí kontrolní sekvence konečného automatu. | {{ :courses:b2m32dsaa:tutorials:zadani.pdf | CheckingSequence.pdf }} \\ {{:courses:b2m32dsaa:tutorials:cviceni_priklad_synchronizacni.pdf}}| | 12 | 15.12.2022 | MC | 4 | Dynamické sítě. | {{ :courses:b2m32dsaa:tutorials:dynamicke_site.pdf | Zadani.pdf}} \\ {{ :courses:b2m32dsaa:tutorials:cviceni-15pros.pdf | Cviceni.pdf}} | | | 12 | 12.1.2023 | MC | BONUS: 3 | Rekonstrukce konečného automatu pomocí aktivního učení. | {{ :courses:b2m32dsaa:tutorials:fsmlearning.pdf | FsmLearning.pdf}} \\ {{ :courses:b2m32dsaa:tutorials:lstarlearning.zip | lstarlearning.zip }}|softwarové sítě. | |