Obsahy jednotlivých cvičení HOME

Cvičení z Programování 1 [NPRG030]

Cvičení z Programování 1 [NPRG030]


Obecné informace

Obecné informace

Místo a čas
  • Přednáška
    • Dr. M. Pergler a Dr. T. Holan ve čtvrtek 12:20-13:50
    • obsahy přednášek [zde]
    • děj přednášek [zde]
  • Cvičení
    • L. Kyjánek v úterý 13:10-14:40 učebna N8
    • je podmínkou zapsat si v souvislém tříhodinovém bloku s cvičením z Algoritmizace, které vede kolega Martin Liška [zde]

ReCodEx
  • systém pro odevzdání domácích úkolů a zápočtového testu
  • umožňuje diskuzi studentů nad jednotlivými úkoly
  • dostupný na: https://recodex.mff.cuni.cz/
  • příručka pro nové uživatele [zde] vysvětluje, jak získat vlastní účet; studenti MFF se přihlašují pomocí CAS
  • příručka pro studenty [zde] vysvětluje, jak s ReCodExem pracovat
  • ReCodEx umí být záludný, hlavně co se týká kontroly správnosti odevzdávaných řešení; v případě potíží se obraťte na mě a společně případné problémy vyřešíme

Zápočet
  • průběžné domácí úkoly
    • každý týden 1-3 úlohy, na vypracování je 10 dní; zadávány budou v ReCodExu
    • celkem 100 bodů, pro splnění stačí alespoň 80
  • zápočtový programovací test
  • zápočtový program
    • samostatně vytvořit větší program (než jsou průběžně zadávané úkoly) a jeho dokumentaci
    • zadání si vytváříte sami, může se jednat o cokoli; téma a rozsah je nutné se mnou předem dohodnout (do 21.12., e-mailem)
      • pošlete mi v e-mailu stručný popis toho, co chcete dělat (+/- 200 slov; 3-10 vět)
      • do předmětu e-mailu dejte: NPRG030 - téma zápočtového programu
      • buď vám zadání schválím, nebo ho společně doladíme
      • pokud máte jen vágní nápad, také mi napište a něco vymyslíme; pokud nemáte žádný nápad, můžete se inspirovat v seznamech od kolegů, např. [T. Holan] nebo [R. Rosa] nebo [M. Mareš]; často jsou to spíše návrhy na bakalářské/diplomkové projekty, tak se nezalekněte rozsahu a komplexnosti
      • doporučení: začněte co nejdřív jak s vymýšlením tématu, tak s jeho zadáním
    • při tvorbě programu můžete použít libovolné knihovny, ale v odevzdávaném programu musí být vidět váš vklad
      • doporučení: neodkládejte práci; zkušenost ukazuje, že když si myslíte, že to budete mít za týden, potrvá to spíš měsíc
    • při tvorbě dokumentace dbejte na strukturovanost, přehlednost a funkčnost
      • používejte komentáře přímo ve zdrojovém kódu; snažte se rámcově popsat co která část kódu dělá (vstup, akce, výstup), netřeba však popisovat každý řádek / každou proměnnou
      • pokud to dává smysl, přiložte také testovací vstupní data
      • sepište stručný doprovodný dokument, který bude obsahovat:
        • popis řešené úlohy (zadání, na kterém jsme se domluvili)
        • popis očekávaných vstupů s výstupů, popis ovládání programu
        • popis principu řešení a použitých datových struktur a algoritmů
        • vlastní zhodnocení práce (co se vám povedlo, na co jste pyšní, co ještě potřebuje péči, jak lze program rozšířit)
      • tipy, jak napsat dokumentaci naleznete například [zde]
    • odevzdání zápočtového programu bude formou osobního předvedení
      • dáte mi e-mailem vědět, že byste mi chtěli předvést svůj zápočtový program (ten vložíte vč. dokumentace do přílohy)
      • domluvíme se na termínu a čase; sejdeme se buď osobně, nebo online (od poloviny ledna budou termíny spíš online)
      • předvedete mi svůj zápočtový program; budu-li spokojen, dostanete zápočet, jinak program ještě dopracujete
      • nejzazší deadline pro odevzdání a předvedení zápočtového programu je 31.03.2022, rozhodně ale můžete odevzdávat program dříve (pokud chcete zápočet alespoň do konce února [pro účely kontroly studijních povinností], odevzdejte mi program do konce zkouškového období, tj. 13.02.2022)

Komunikace
  • e-mail: kyjanek@ufal.mff.cuni.cz (do předmětu: NPRG030)
  • Discord - pozvánku dostanou všichni zapsaní e-mailem
  • konzultace
    • skupinové konzultace, kterých se můžete účastnit, budou po cvičení
    • o individuální konzultaci mi napište e-mail, nebo mě kontaktujte na Discordu
    • dejte vědět kdykoli budete potřebovat s něčím poradit nebo pomoct, např.: mám nefunkční kus kódu, nerozuměl jsem něčemu na cvičení, mám dotaz, nerozumím zadání úkolu, potřebuji poradit s řešením zadaného úkolu atd.
  • podle vašich možností, preferencí nebo urgentnosti řešené záležitosti se můžeme sejít jednou z následujících možností: osobně / Discord / MS Teams / Zoom / Skype
Další zdroje informací

Dr. Martin Mareš vede cvičení z Algoritmizace a Programování 1 pro pokročilé. Lze si zapsat, nebo navštěvovat čistě ze zájmu. Koná se ve čtvrtek.




Linuxový terminál pro Windows & Vzdálený přístup do MFF sítě
  • Linuxový terminál
    • zpřístupní Linuxový terminál přímo v systému Windows 10
    • návod na instalaci viz [zde]
  • vzdáleně: pro přístup do sítě (čtení, zápis, spouštění souborů): ssh
    • na Unix a MacOS předinstalované v terminálu, do Windows terminálu potřeba doinstalovat (viz návod [zde])
    • v příkazové řádce se pak přihlašujete pomocí příkazu: ssh [cas jmeno]@u-pl[1-25].ms.mff.cuni.cz
    • uvedené číslo pracovní stanice [1-25] můžete zvolit libovolně
    • na MFF počítačích je Unix, takže pozor na příkazy (např. dir vs. ls)
  • vzdáleně: pro stahování souborů do vlastního počítače: sftp
    • na Unix a MacOS předinstalované v terminálu, do Windows terminálu potřeba doinstalovat stejně jako ssh (viz návod [zde])
    • v příkazové řádce se pak přihlašujete pomocí příkazu: sftp [cas jmeno]@u-pl[1-25].ms.mff.cuni.cz
    • sftp vás přihlásí podobně jako ssh, ale hlavním účelem je, abyste našli na vzdáleném počítači požadovaný soubor a stáhli si ho do svého počítače, k čemuž slouží příkazy put a get
      • put [umístění souboru v lokalním pc] [cílové umístění na vzdáleném pc] slouží k nahrání souboru z lokálního počítače na vzdálený počítač
      • get [umístění souboru na vzdaleném pc] [cílové umístění na lokálním pc] slouží ke stažení souboru ze vzdáleného počítače do lokálního počítače
      • (umístění v lokálním počítači se bere z adresáře, ze kterého se volal příkaz sftp; pro umístění římo do adresáře, že kterého se příkaz volal stačí místo cesty zadat tečku)
  • kromě terminálového přístupu existují (minimálně pro Windows také grafické klienty, např. PuTTy [zde] nebo WinSCP [zde]

15. cvičení (04.01.2022)

15. cvičení (04.01.2022)


Zápočtová písemka, 2. pokus

zadání v ReCodExu, 4 úlohy (každá za 10 b), úspěšné složení testu 24 b (60 %), 2×45 minut; výsledky v ReCodExu, příp. e-mailem

14. cvičení (28.12.2021)

14. cvičení (28.12.2021)


Zrušeno

vánoční prázdniny

13. cvičení (21.12.2021)

13. cvičení (21.12.2021)


Zápočtová písemka, 1. pokus

zadání v ReCodExu, 4 úlohy (každá za 10 b), úspěšné složení testu 24 b (60 %), 2×45 minut; výsledky v ReCodExu, příp. e-mailem

12. cvičení (14.12.2021)

12. cvičení (14.12.2021)


11. cvičení (07.12.2021)

11. cvičení (07.12.2021)


10. cvičení (30.11.2021)

10. cvičení (30.11.2021)


9. cvičení (23.11.2021)

9. cvičení (23.11.2021)


8. cvičení (16.11.2021)

8. cvičení (16.11.2021)


7. cvičení (09.11.2021)

7. cvičení (09.11.2021)


6. cvičení (02.11.2021)

6. cvičení (02.11.2021)


5. cvičení (26.10.2021)

5. cvičení (26.10.2021)


Zrušeno

imatrikulace

4. cvičení (19.10.2021)

4. cvičení (19.10.2021)


3. cvičení (12.10.2021)

3. cvičení (12.10.2021)


2. cvičení (05.10.2021)

2. cvičení (05.10.2021)


1. cvičení (28.09.2021)

1. cvičení (28.09.2021)


Zrušeno

státní svátek: Den české státnosti