Skip to content

Latest commit

 

History

History
124 lines (87 loc) · 5.07 KB

tasks.adoc

File metadata and controls

124 lines (87 loc) · 5.07 KB

Úlohy

Součástí hodnocení jsou především úlohy. Uvítáme, pokud je budete řešit na cvičeních, po skončení výkladu. Rádi vám poradíme přes video nebo sdílenou obrazovku. Co nestihnete na cvičeních, doděláte později. Rádi vám poradíme i v GitHub issue.

Hotové úlohy odevzdáte jako gitový repozitář na GitHubu, případně fakultním GitLabu. V obou případech nám nezapomeňte dát přístup. Na GitHubu jsme jako hroncok a MarekSuchanek. Na GitLabu jako hroncmir a suchama4.

Vzhledem k tomu, že všichni máte stejné zadání, doporučujeme použít privátní repozitář. Svůj kód můžete zveřejnit pod nějakou open-source licencí po našem zkontrolování všech navazujících úloh.

Odkaz na (nový) repozitář nám pošlete e-mailem. Pro odevzdání v repozitáři vždy nastavíte nový tag, dle zadání úlohy.

Termín odevzdání úlohy je zpravidla pondělí (včetně) 12 dní po cvičení, na kterém byl úkol zadán. U některých úloh se termín může lišit, je u nich symbol 🌴 (termín prodloužen), nebo 💀 (termín zkrácen). Úlohy jsou seřazeny podle termínu odevzdání, takže některé dříve zadané úlohy mohu být v seznamu níže.

Úloha committee (CLI): 12.10.2020 🌴

Vaším úkolem za 5 bodů je vytvořit command line aplikaci pracující s GitHub API, pomocí knihoven requests a click.

Aplikace slouží ke kontrole commitů na GitHubu podle jejich obsahu. Příklad: Když commit message obsahuje „fuck this shit“, nastaví se status commitu na failed, protože message obsahuje zakázané slovo „this“.

Úloha committee (webová aplikace): 12.10.2020

Vaším úkolem za 5 bodů je přidat do aplikace committee webový server, který bude reagovat na události na GitHubu automaticky. Použijete webový framework Flask.

Úloha Pandas: 19.10.2020

Vašim úkolem za 5 bodů je analyzovat dodaný dataset, odpovědět na otázky a vyřešit úkoly ve frameworku Pandas.

Zadání

Úloha Pandas

Úloha committee (balíček): 26.10.2020

Vaším úkolem za 5 bodů je udělat z vašeho dosavadního projektu committee balíček instalovatelný přes pip a nahrát jej na testovací PyPI.

Úloha spacegrid (NumPy): 9.11.2020

Vaším úkolem za 5 bodů je implementovat dle zadání hledání cest na 2D mřížce pomocí knihovny NumPy.

Úloha spacegrid (zrychlení): 23.11.2020

Vaším úkolem za 5 bodů je zrychlit implementaci algoritmu pracujícího na 2D mřížce s využitím Cythonu tak, aby dokázala v rozumném čase (viz zadání) pracovat s většími mřížkami.

Úloha committee (testování): 30.11.2020 🌴

Vaším úkolem za 5 bodů je napsat k vašemu dosavadnímu projektu committee testy s použitím frameworku pytest (a případně dalších knihoven), umožnit spouštění testů pomocí setup.py a spouštět testy také na nějakém veřejném CI.

Úloha committee/spacegrid (dokumentace): 7.12.2020 🌴

Vaším úkolem za 5 bodů je napsat k vašemu dosavadnímu projektu committee nebo spacegrid dokumentaci pomocí Sphinx, která bude popisovat, jak s aplikací pracovat i jak funguje uvnitř, a to včetně doctestů, které poběží také na CI.

Úloha spacegrid (GUI): 14.12.2020 🌴

Vaším úkolem za 5 bodů je pro 2D vesmírnou mřížku vytvořit grafické rozhraní umožňující upravovat a prohlížet mřížku, a vizualizovat cesty pomocí knihovny PyQt5.

Úloha committee (asyncio): 31.12.2020 🌴🎁🎇

Vaším úkolem za 5 bodů je rozšířit existující CLI aplikaci committee o asynchronní komunikaci s GitHub API pomocí knihovny aiohttp za účelem zrychlení práce, které se bude zapínat přepínačem --async.