Programování 2 - cvičení - NMIN112
Stránka přednášejícího Pavla Töpfra
Program cvičení
- týden - notes
- týden - notes
- týden - notes
- týden - k rekurzi a k opakovani predavani parametru hodnotou a referenci
- týden - BST a rekurze, DFS a BFS, zásobník a fronta
- týden - rekurzivní generování
- týden - notes
- týden - dynamické programování, climbing stairs, korektní uzávorkování
- týden - notes
- týden - notes
- týden - notes
- týden - notes
- týden - notes
- 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 třeba
splnit obě části cvičení.
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řesvedčením mě, že
látce rozumíte
(teoreticky i prakticky) dobře.
(Domácí úkoly pište samostatně; 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 3 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
- 0-3 zadání/týden
- Zadané v recodexu
- Pro zápočet je nutné získat: a) alespoň 70% bodů na teoretickém cvičení a b) získání 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ů jste zápočet 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)
- Závěrečný test - na posledním cvičení (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ě 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.
- Zadání
- Zaslat do 15. 05. 2024 - Owl; enroll token: 4b349c109c52, č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, ...
- Je možné nejdříve zaslat návrh tématu k diskuzi před zasláním specifikace.
- Vypracování
- Zaslat a obhájit finální verzi do 10. 09. 2024 - hard deadline.
- Povinné části vypracování: schválené zadání, program, programátorská a uživatelská dokumentace,
testovací
data/testy a obhájení.
- Forma odevzdání: do Owlu; enroll token: 4b349c109c52, č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í.
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 rozumíte
(teoreticky i prakticky) dobře.
(Domácí úkoly pište samostatně; no copy, no co-work, no StackOverflow or GPTChat, etc. případné vyjímky
budou explicitně oznámeny; diskuze s kolegy naopak povolena je).
- Zpravidla každé 1-2 týdny
- 0-3 zadání/týden
- Zadané v recodexu
- Pro zápočet je nutné získat: alespoň 70% bodů
- Získáte-li pod 50% získatelných bodů jste zápočet 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í.
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ší literatura
- Materiály Adama Dingla k
Programování 1 (pro informatiky) anglická paralelka
- Submitting programs to ReCodEx (by
Adam Dingle)
- Recodex: Exit Code Mappings
Kontakt
- Konzultace: po domluvě, před či po cvičení nebo emailem
- Email: jiri.sejnoha #na# mff.cuni.cz