Obsahy jednotlivých cvičení HOME

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

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


Obecné informace (2022/2023)

Obecné informace (2022/2023)

Místo a čas
  • Přednáška
    • Dr. T. Holan v úterý od 10:40, [obsah]
    • Dr. M. Pergler ve středu od 17:20, [obsah]
  • Cvičení
    • L. Kyjánek ve čtvrtek 14:00-15:30 v učebně N11
    • je podmínkou zapsat si v souvislém tříhodinovém bloku s cvičením Tomáše Bílého (Algoritmizace)

ReCodEx
  • web: https://recodex.mff.cuni.cz/
  • systém pro odevzdání úkolů a zápočtového testu
  • [příručka pro nové uživatele] vysvětluje, jak získat vlastní účet; studenti MFF se přihlašují pomocí CAS
  • [příručka pro studenty] vysvětluje práci s ReCodExem
  • 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
    • na konci semestru programovací test (budou mu věnována poslední 2 cvičení)
    • 1. pokus (22.12.2022), 2. pokus (05.01.2023)
    • zadán bude v ReCodExu, vypracovávat ho ale budete v učebně
  • zápočtový program
    • samostatně vytvořit funkční program (větší než jsou průběžně zadávané úkoly), včetně dokumentace
    • (do 22.12.2022) jak získat zadání?
      • zadání si vytváříte sami, může se jednat o cokoli, ale musíte ho se mnou předem dohodnout (e-mailem)
      • pošlete mi v e-mailu stručný popis toho, co chcete dělat; 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)
    • jak vytvořit program a dokumentaci?
      • v kódu můžete použít libovolné knihovny, ale v odevzdávaném programu musí být vidět váš vklad
      • 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
      • dbejte na strukturovanost, přehlednost a funkčnost v kódu i dokumentaci
      • pokud to dává smysl, přiložte také testovací vstupní data
      • jako dokumentaci sepište stručný doprovodný dokument (.pdf), ve kterém uvedete:
        • zadání/cíl řešené úlohy
        • očekávané vstupy, výstupy; popis základního ovládání programu
        • popis principu řešení, použitých datových struktur, příp. algoritmů
        • vlastní zhodnocení práce (co se vám povedlo, na co jste hrdí, co ještě potřebuje péči, jak lze program rozšířit)
      • nezávazné tipy, jak napsat dokumentaci naleznete [zde]
    • (do 31.03.2023) jak zápočtový program odevzdat?
      • odevzdání proběhne formou osobního předvedení ať už v prostorách MFF, nebo online
      • předem mi e-mailem pošlete svůj zápočtový program vč. dokumentace; společně se domluvíme na termínu setkání
      • nepřipravujte žádnou prezentaci, pouze mi ukážete, jak program funguje, a pokud to nebude zřejmé z dokumentace, promluvíme si o jeho řešení
      • rozhodně můžete odevzdávat program dříve než je uvedené datum (pokud chcete zápočet alespoň do konce února [pro účely průběžné kontroly studijních povinností, tj. 28.02.2023], odevzdejte mi program do konce zkouškového období, tj. 12.02.2023)

Komunikace a konzultace
  • 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.

  • e-mail: kyjanek@ufal.mff.cuni.cz (do předmětu: NPRG030)
  • pravidlně budu k dispozici bezprostředně po cvičeních
  • podle vašich možností/preferencí si můžeme domluvit také online setkání
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.


Užitečné návody (mimo náplň kurzu Programování)
  • Linuxový terminál pro Windows
  • Vzdálený přístup do MFF sítě pro čtení, zápis, spouštění souborů
    • provádí se pomocí příkazu ssh
    • v terminálu se 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 (pozor na dir vs. ls atd.)
  • Vzdálený přístup do MFF sítě pro stahování/nahrávání souborů do/z vlastního počítače
    • provádí se pomocí příkazu sftp
    • v terminálu se přihlašujete pomocí příkazu: sftp [cas jmeno]@u-pl[1-25].ms.mff.cuni.cz
    • hlavním účelem je, abyste stáhli/nahráli požadovaný soubor; pomocí následujících příkazů:
      • 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í přímo do adresáře, ze kterého se příkaz volal, stačí místo cesty zadat tečku)

15. cvičení (05.01.2023)

15. cvičení (05.01.2023)


Zápočtová písemka, 2. termín

zadání v ReCodExu

14. cvičení (29.12.2022)

14. cvičení (29.12.2022)


Zrušeno

vánoční prázdniny

13. cvičení (22.12.2022)

13. cvičení (22.12.2022)


Zápočtová písemka, 1. termín

zadání v ReCodExu

12. cvičení (15.12.2022)

12. cvičení (15.12.2022)


11. cvičení (08.12.2022)

11. cvičení (08.12.2022)


10. cvičení (01.12.2022)

10. cvičení (01.12.2021)


9. cvičení (24.11.2022)

9. cvičení (24.11.2022)


8. cvičení (17.11.2022)

1. cvičení (17.11.2022)


Zrušeno

státní svátek: Den boje za svobodu a demokracii a Mezinárodní den studentstva

7. cvičení (10.11.2022)

7. cvičení (10.11.2022)


6. cvičení (3.11.2022)

6. cvičení (3.11.2022)


5. cvičení (27.10.2022)

5. cvičení (27.10.2022)


Zrušeno

imatrikulace

4. cvičení (20.10.2022)

4. cvičení (20.10.2022)


3. cvičení (13.10.2022)

3. cvičení (13.10.2022)


2. cvičení (06.10.2022)

2. cvičení (06.10.2022)


1. cvičení (29.09.2022)

1. cvičení (29.09.2022)