KMI/PJ Jazyk Python

Cílem předmětu je seznámit studenty s programováním v jazyce Python, který patří mezi nejpopulárnější programovací jazyky současnosti. Předpokládá se pokročilejší znalost procedurálního programování (znalost jazyka Python není vyžadována) a algoritmizace. Při výuce je kladen důraz na efektivní a praktické použití jazyka Python.

Seznam seminářů

Obsah následujících stránek je pouze doprovodný materiál, nenahrazuje účast na semináři.

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

Průběžné úkoly

Úkoly budou zadávány na platformě Gihub Classroom. Pro plnění úkolů je nutné vytvořit bezplatný účet na Github.com a nainstalovat klienta GitHub Desktop. 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ů. Úkoly je nutné odevzdat vždy do dalšího semináře. Pokud bude řešení nevyhovující, termín splnění se posune o další týden. Pokud ani do té doby student neodevzdá správné řešení tak úkol nebude uznán (poslední možností odevzdání je vždy čtvrtek v 23:59). Za celý předmět je možné nesplnit až 8 úkolů (jedinou vyjimkou je balíček data, ten musí být odevzdán a uznán v poslední verzi).

Kdy dostanu zpětnou vazbu?

Před obdržením zpětné vazby je nutné splnit veškeré automatizované testy na platformě Gihub Classroom. Více informací lze přečíst zde. Veškeré úkoly, které prošly automatickým testováním by měly být opraveny během prvního týdne od zadání (zelený obdélník na obrázku). Pokud by došlo ke zdržení, deadline na finální odevzdání (červený obdélník na obrázku) bude prodloužen. V případě, že máte pocit, že na úkol bylo zapomenuto, upozorněte svého cvičícího.

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.

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 (bude postupně představováno na seminářích).

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.

Přehled uznaných úkolů

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