Cvičení z Programování II pro pokročilé
Pravidla hry
Zápočet získáte za vypracování zápočtového programu a domácích úkolů za dostatečný počet bodů.
Zápočtový program
- Téma: libovolné, jaké si vymyslíte, má-li odpovídající obtížnost. Pokud vás ještě múza nepolíbila, podívejte se na náš seznam témat. Přiměřené pro letní semestr jsou úlohy obtížnosti 5 a vyšší. Jinými zajímavými zdroji inspirace mohou být archiv programátorského korespondenčního semináře a archiv Matematické Olympiády kategorie P.
- Jazyk: libovolný přiměřený úloze, kterou řešíte. Ale na čemkoliv exotickém se prosím předem domluvte.
- Specifikace: Tím myslíme krátký popis toho, co všechno by program měl umět a v jakém jazyce by měl být napsán. Vyhnete se tak tomu, že by váš zápočtový program odevzdaný den před koncem zkouškového období byl odmítnut jako příliš triviální nebo příliš podobný programu někoho z vašich kolegů. Nutno dodat do konce dubna.
- Dokumentace: Nedílnou součástí zápočtového programu je dokumentace, a to jak uživatelská (vysvětující, jak se program ovládá), tak programátorská (ta popisuje, jak program uvnitř funguje; postrádá smysl popisovat každou funkci či proměnnou, zaměřte se spíš na celkový návrh programu a použité algoritmy, pokud jste je sami nevymysleli, je moudré uvést odkazy na zdroje, z nichž jste čerpali).
- Odevzdání textu: Specifikaci i dokumentaci odevzdávejte buďto v papírové podobě nebo elektronicky v libovolném rozumném formátu (nejlépe jako čistý text nebo PDF; naproti tomu MS Word rozumný není).
- Odevzdání programu: Ideálně e-mailem. Pokud se zápočťák skládá z většího množství souborů, raději jej předtím zabalte ZIPem nebo TARem (RAR raději ne). Pokud program neběží pod Linuxem, prosíme o osobní předvedení.
- Odolnost: Zápočtový program musí mít přiměřeně ošetřené vstupy. Tím se myslí, že komunikuje-li s uživatelem, měl by počítat s tím, že uživatel je nešika a občas zadá špatný vstup a nenechat se tím zmást a bez zaváhání je odmítnout. Naopak, pokud programujete knihovnu funkcí, můžete předpokládat, že všechny vstupy jsou korektní.
Domácí úkoly
Domácí úkoly jsou dvou druhů:
- Praktické – odladěné programy řešící jednoduché problémy. Odevzdávají se do ReCodExu, který je automaticky testuje. Úkoly je obvykle možné řešit za plný počet bodů po omezenou dobu (např. dva týdny) po zadání, pak se maximální počet bodů redukuje.
- Teoretické – u těchto úloh obvykle jde o vymyšlení a popsání efektivního algoritmu. Odevzdávají se pomocí Poštovní sovy.
K získání zápočtu potřebujete alespoň 100 bodů za každý druh domácích úkolů. Úlohy každého druhu budou vypsané za alespoň 150 bodů.