MIN112 - Programování 2 - Teoretické cvičení - úterý 10:40 v N8 a pátek 09:00 v N8
MIN112 - Programování 2 - Teoretické cvičení - úterý 15:40 v N8 a čtvrtek 10:40 v N8
Stránka přednášejícího Pavla Töpfra
Program cvičení
- týden - notes
Podmínky zápočtu:
Cvičení se skládají z: a) teoretického a b) praktického cvičení cvičení. Pro zápočet je nutné
splnit obě části cvičení.
Podmínky zápočtu z teoretického cvičení:
- Domácí úkoly - Primárním cílem domácích úkolů je Vaše procvičení látky z přednášek,
samotný kód/vypracování je prostředkem, kterým se cvičíte. Sekundárním cílem je Vaše přesvedčením mě, že
látce dobře rozumíte (teoreticky i prakticky).
(Domácí úkoly vypracovávejte samostatně, Váš odevzdaný kód či písemné řešení musí být pouze Vámi napsané a z
Vaší
hlavy; no copy, no co-work, no StackOverflow or GPTChat, etc. případné
vyjímky budou explicitně oznámeny; diskuze s kolegy nad problémem naopak povolena je; nikoliv nad vlastním
vypracováním).
- 8 zadání domácích úkolů; zadání se skládá z 1-3 úkolů podle složitosti jednotlivých příkladů,
celkový počet získatelných bodů za 1 zadání je 10 bodů.
- Zadané zpravidla každé 1-2 týdny.
- V případě nejasností či oreginality řešení domácích úkolů, je možné, že si nechám individuálně Vaše
řešení vysvětlit.
Ptát se mohu na vypracování i související teorii. Případné vysvětlení má zásadní vliv na ohodnocení
řešení.
- Zadané v recodexu.
- Pro splnění zápočtu je nutné získat: alespoň 70% bodů.
- Získáte-li pod 50% získatelných bodů zápočet jste nezískali (vyjímky možné pouze ve velmi rozumných
důvodech (nemoc, válka, atd.); 50%-70% získatelných bodů - body na zápočet lze doplnit zadanými úkoly
(takto získatelné body mohou být obtížněji získatelné nežli řádné a je možné je domácé úkoly budete
muset
osobně předvést a vysvětlit)
- Aktivita v hodině - student během semestru řádně pracoval na cvičení.
- Docházka - student/ka za každé aktivní cvičení může získat 1 bod docházku. Body získané za
docházku, se nepočítají do maximálního počtu získatelných bodů za domácí úkoly, leč přičítají se k nim.
Podmínky zápočtu z praktického cvičení
- Domácí úkoly - Primárním cílem domácích úkolů je Vaše procvičení látky z přednášek,
samotný kód/vypracování je prostředkem, kterým se cvičíte. Sekundárním cílem je Vaše přesvědčením mě, že
látce dobře rozumíte
(teoreticky i prakticky).
(Domácí úkoly vypracovávejte samostatně, Váš odevzdaný kód či písemné řešení musí být pouze Vámi napsané a z
Vaší
hlavy; no copy, no co-work, no StackOverflow or GPTChat, etc. případné vyjímky
budou explicitně oznámeny; diskuze s kolegy naopak povolena je).
Na 2 domácích úkolech bude provedena code review (které domácí úkoly to budou bude uvedeno při zadání), a
body budou přiděleny až v případě,
že Váš kód projde ne jen recodex testy ale i code review (program Vám může být opakovaně vrácen k
přepracování).
- Zpravidla každý týden (cca 12 zadání za semestr)
- 0-3 příkladů/týden
- Zadané v recodexu
- Pro zápočet je nutné získat alespoň 70% bodů za
domácí úkoly zadávané průběžně na praktickém cvičení.
- Získáte-li pod 50% získatelných bodů, zápočet jste nezískali (vyjímky jsou možné pouze ve velmi
rozumných důvodech (nemoc, válka, atd.); 50%-70% získatelných bodů - body na zápočet lze doplnit
zadanými úkoly (takto
získatelné body mohou být obtížněji získatelné nežli řádné a je možné je domácé úkoly budete muset
osobně předvést a vysvětlit)
- Závěrečný test - v zápočtovém týdnu (další termíny budou ve zkouškovém období), napsat a odladit
zadaný Python program v 90 minutách.
- Zápočtový program - Python program, včetně (programátorké a uživatelské) dokumentace a testovacích
dat/testů. Programem prokazujete komplexní zvládnutí látky přednášek včetně algoritmizace,
vhodného návrhu architektury a dekompozice kódu, programování, znalosti programovacího jazyka,
efektivnosti návrhu, bezpečnosti kódu, přiměřené dodržení kódovacího stylu and best practices, ...).
Očekává se objetový návrh programu.
- Specifikace
- Zaslat do 11. 05. 2026 - Owl; enroll token: ca56f1cc102f,
či enroll link.
- Zadání musí být schváleno cvičícím, jinak je Zápočtový program brán jako neplatný
- Povinné části: idea a základní popis problému; formalizace problému; základní návrh
algoritmu/algoritmického způsobu řešení problému; forma a popis vstupů a výstupů; forma interfacu
(GUI, konzole); případně popis interaktivity; identifikace studenta, předmětu, datum, ...
- Bližší informace jsou uvedeny v owlu
- Je možné nejdříve zaslat návrh tématu k diskuzi před zasláním specifikace či navrhy diskutovat
před/po/na cvičení.
- Vypracování
- Zaslat a obhájit finální verzi do 10. 09. 2026 - hard deadline.
- Povinné části vypracování: schválené zadání, program, programátorská a uživatelská dokumentace,
testovací data/testy a obhájení.
- Bližší informace jsou uvedeny v owlu
- Forma odevzdání: do Owlu; enroll token: ca56f1cc102f, či
enroll link.;
nahrajete odkaz na Vaše Git uložiště. Každý z Vám má osobní vlákno komunikace.
- Je možné využívat školního GitLab repozitáře.
- Aktivita v hodině - student během semestru řádně pracoval na cvičení.
Etika práce a podvádění
- Podvádění zakázáno. Studentské výstupy (domácí úkoly) jsou/budou kontrolovány proti plagiátorství.
První nalezení totožného či jinak podezřelého kódu -10 bodů za domácí úkoly, druhý a další nesplnění
předmětu; v případě závažného provinění formální řešení.
Další a rozšiřující literatura
- Materiály Adama Dingla k
Programování 1 (pro informatiky) anglická paralelka
- Materiály Adama Dingla k
Algoritmizaci (pro informatiky) anglická paralelka
- Submitting programs to ReCodEx (by
Adam Dingle)
- Recodex: Exit Code Mappings
Kontakt
- Konzultace: ideálně před či po cvičení, pravidelně si na Vás vyhrazuji čas (chodím dříve), po domluvě nebo emailem
- Email: jiri.sejnoha #na# mff.cuni.cz