- Úloha committee (CLI): 12.10.2020 🌴
- Úloha committee (webová aplikace): 12.10.2020
- Úloha Pandas: 19.10.2020
- Úloha committee (balíček): 26.10.2020
- Úloha spacegrid (NumPy): 9.11.2020
- Úloha spacegrid (zrychlení): 23.11.2020
- Úloha committee (testování): 30.11.2020 🌴
- Úloha committee/spacegrid (dokumentace): 7.12.2020 🌴
- Úloha spacegrid (GUI): 14.12.2020 🌴
- Úloha committee (asyncio): 31.12.2020 🌴🎁🎇
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.
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“.
- Zadání a testy
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.
- Zadání a testy
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í
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.
- Zadání a testy
Vaším úkolem za 5 bodů je implementovat dle zadání hledání cest na 2D mřížce pomocí knihovny NumPy.
- Zadání a testy
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.
- Zadání a testy
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.
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.
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.
- Zadání a testy
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
.
- Zadání a testy