Seznam seminářů

  1. Konvence PEP8, parametry funkcí, balíčky
  2. Dekorátory funkcí, objektově orientované programování
  3. Dunder metody, dekorátory tříd a iterátory
  4. Práce se soubory a regulární výrazy
  5. Testování (pytest) a type hinting

Spoluautorem materiálů a úkolů je Mgr. Tomáš Mikula. Kurz je přejatý z https://tomasmikula.cz/.

Kompletní seznam zápočtových úkolů

Co je potřeba na první seminář?

  1. Vlastní počítač (volitelně, na učebně budou připravené počítače, není jich však dostatek pro všechny studenty).
  2. Nainstalovaný jazyk Python 3.10+ ke stažení zde.
  3. Účet na Github.com.
  4. Stažený a nainstalovaný git klient (například) GitHub Desktop.
  5. Stažené a nainstalované vývojářské studio Visual Studio Code (volitelně).
  6. Osobní číslo studenta ze systému STAG (např. R180055).

Splnění předmětu

Zápočtové a průbězné úkoly

Úkoly budou zadávány na platformě Github Classroom. Pro plnění zápočtu je nutné vytvořit bezplatný účet na Github.com a nainstalovat klienta [GitHub Desktop](https://desktop.github.com). Demonstrace systému proběhne na prvním semináři Jak pracovat s Github Classroom?.

Na každém semináři bude zadáno několik úkolů, přičemž jen některé z nich bude vyžadováno odezvdat (budou viditelně označené). Všechny zápočtové úkoly je nutné odevzdat a mít uznané do 30.6. 2024. Pokud ani do té doby student neodevzdá správná řešení tak zápočet nebude uznán. Přehled uznaných úkolů zde.

Průbězné úkoly odevzdávat nemusíte, ale po nahrání do Github Classroom se spustí automatické testy, které Vám řeknou zda jste úkol vyřešili správně.

Kdy dostanu zpětnou vazbu?

Před obdržením zpětné vazby je nutné splnit veškeré automatizované testy na platformě Github Classroom. Více informací lze přečíst zde.

Platformu Github Classroom lze také využít pro dotazy na Váš kód. Pokud vytvoříte komentář v Pull requests, tak dostanu upozornění a mohu jednoduše komentovat přímo Váš kód.

Lokální testování

U většiny úkolů je možné provést lokální testování bez nutnosti odesílat kód do Github Classroom. Pro jeho funkčnost je nutné nainstalovat knihovny pytest a pytest-console-scripts. Detaily je možné dohledat na webu nebo v lekci 3 mého dalšího předmětu o pythonu.

Co dělat pokud můj kód nesplňuje testy?

Testy jsou navrženy tak, aby odhalily většinu funkčních problémů. Pročtěte si text k odpovídajícímu semináři a snažte se najít chybu. Textový výstup z testů nemusí být plně srozumitelný, měl by však přinést orientační informaci. Pokud i tak máte probém, obraťte se na cvičícího. Nezapomeňte, že svému kódu musíte rozumět především vy.

Co vše je na úkolu hodnoceno?
  1. Splnění zadání.
  2. Kvalita a přehlednost zdrojového kódu.
  3. Dodržovaní style guide PEP8 nebo Black.
Plagiátorství

Veškeré odevzdané zdrojové kódy jsou automaticky testované na plagiátorství systémem Moss. Při prokázaném plagiátorství ztrácí oba studenti/studentky nárok na získání zápočtu a situaci dále řeší vedoucí katedry, viz. stránky katedry.

Soubor .gitignore pro Python 3

Při práci na úkolech bude vytvářeno velké množství souborů, které není žádoucí odesílat do repozitáře na Githubu. Základní sadu souborů můžete jednoduše ignorovat umístěním speciálního souboru .gitignore do hlavní složky s úkolem. Obsah ukázkového .gitignore souboru naleznete zde.

V případě, že Vaše vývojové prostředí vytváří podpůrné složky (například složka .idea/) je možné tuto složku přidat do souboru .gitignore.

Užitečné odkazy

Doporučená literatura