Výuka

V zimním semestru 2024/25 vyučuji tyto předměty:


Programování 1 (NPRG030) a Algoritmizace (NPRG062)

Algoritmizace - podmínky pro získání zápočtu:

  • vypracování domácích úkolů - dosažení alespoň 70% z celkového počtu bodů, "hranice přežití": 50% (pokud získáte alespoň 50% bodů, bude možné si body doplnit vyřešením dalších náhradních úloh)
  • docházka - za každou účast na cvičení získáte 1 bod navíc (nepočítá se do základu)
  • osobní prezentace alespoň jednoho domácího úkolu

Zápočet JE podmínkou ke zkoušce.

Programování - podmínky pro získání zápočtu:

  • aktivní práce v hodinách
  • pravidelné řešení domácích úkolů zadávaných v ReCodExu - dosažení alespoň 70% z celkového počtu bodů, "hranice přežití": 50%
  • na konci semestru - praktický zápočtový test u počítačů - test se bude psát na posledním cvičení, ve zkouškovém období budete mít 2 opravné pokusy
  • vypracování zápočtového programu (včetně zpracování písemné dokumentace)

V zimním semestru zkouška není.

Úlohy z Programování

Pro získání zápočtu je potřeba mít na konci semestru alespoň 70% z celkového počtu vypsaných bodů za domácí úlohy.

Praktické úlohy budou zpravidla zadávány každý týden.

Autor řešení musí být schopen na cvičení vysvětlit svůj program.

Úkoly se budou odevzdávat pomocí systému ReCodEx https://recodex.mff.cuni.cz/

Řešení úloh je samostatná práce! Můžete se samozřejmě o úlohách bavit mezi sebou, ale řešení musí vypracovat každý sám za použití svých vlastních schopností a vlastní inteligence.

Úlohy z Algoritmizace

Pro získání zápočtu je potřeba mít na konci semestru alespoň 70% z celkového počtu vypsaných bodů za domácí úlohy.

Plán: Bude zadáno 8 úkolů po 10 bodech.

Za účast na cvičení získáte 1 bonusový bod (docházka bude evidována v ReCodExu).

Domácí úkoly z algoritmizace ("na papír") spočívají většinou v návrhu a slovním popisu efektivního algoritmu.

Úkoly se budou odevzdávat pomocí systému ReCodEx.

Praktický zápočtový test u počítačů

Bude se jednat o úlohu zadanou v ReCodExu v podobném rozsahu jako úlohy zadávané v průběhu semestru. Pro úspěšné složení testu bude potřeba získat v ReCodExu plný počet bodů, tedy musí projít všechny testy. Hodnotí se nejen funkčnost vytvořeného programu, ale i to, jak je program navržen a naprogramován. Není při tom vyžadována (časová) optimalizace algoritmu. Stačí, nejsou-li ani algorimus ani jeho implementace "vysloveně hloupé". Vzhledem k omezenému času se nepožaduje, aby byl program komentován (i když komentáře vytvářené současně s programem vám mohou práci na programu podstatně zjednodušit i zrychlit).

Student musí být schopen svoje řešení vysvětlit.

Test se bude psát na školních počítačích.

Zápočtový program

Zápočtový program je rozsáhlejší než běžné úlohy v ReCodExu. Jeho účelem je, abyste si vyzkoušeli samostatně navrhnout a vytvořit větší program včetně načítání vstupů od uživatele, ošetření jejich korektnosti, odladění, napsání dokumentace. Téma pro svůj program si vybíráte sami (já ho musím schválit).

Postup, jak vypracovat zápočtový program:

  • vybrat si téma a domluvit se na něm se mnou (do Vánoc)
  • poslat krátkou specifikaci (do Vánoc)
  • napsat samotný program
  • napsat dokumentaci k programu - uživatelskou a programátorskou
  • poslat mi hotový program včetně dokumentace, případně testovací data, a domluvit si termín předvedení
  • předvést mi program při krátké prezentaci, ukázat jeho funkce (na testovacích datech), popsat jak program pracuje, jaké algoritmy a datové struktury používá. Během předvedení byste měli být schopni program na požádání mírně upravit.

    Je možné, že s první verzí vašeho programu / dokumentace / testovacích dat / předvedení nebudu spokojená a budete je muset předělat. Proto nenechávejte předvedení až na poslední chvíli, abyste případné úpravy stihli ještě v termínu. (vše nejpozději do 14.2.2025)

Při výběru témat pro své programy se můžete inspirovat např. na stránkách Martina Mareše: témata zápočtových programů

O dokumentaci podle Martina Mareše:

Uživatelská dokumentace. To je stručný popis toho, jak se program používá (tedy třeba v jakém formátu se mu zadává vstup a v jakém vydá výstup). Nepište od ní evidentní věci, spíš to, co by bězný uživatel nečekal. Také by tam mělo být řečeno, co vlastně program dělá :)

Uživatelská dokumentace by také měla obsahovat návod, jak program spustit (jaké knihovny je potřeba doinstalovat, atd.)

Programátorská dokumentace. V ní je stručně popsáno, jak program funguje uvnitř. Nemusíte komentovat každý řádek programu, spíš popište celkovou koncepci. Pokud používáte nějaké netriviální algoritmy, je to dobré zmínit. Pokud používáte něco, co jste nevymysleli sami, je na místě citovat zdroje.

Text o dokumentaci k (nejen) zápočtovému programu od doktora Kryla: Jak psát dokumentaci zápočtového programu

Co jsme dělali na cvičení:

Zde bude přibývat přehled látky probírané na cvičeních.

1. CVIČENÍ:

  • Kuličky

    V nádobě jsou černé a bílé kuličky. Je tam Č černých a B bílých. Kuličky budu z nádoby odebírat následujícím způsobem: Vytáhnu dvě a místo nich jednu jinou vrátím do nádoby:

      Bílá  + Bílá  --> Bílá
      Černá + Bílá  --> Černá
      Černá + Černá --> Bílá

    Jakou barvu bude mít poslední kulička co v nádobě zbyde?


Základy tvorby webu (NUIN019)

Kurz o webu určený hlavně pro studenty učitelství.
Požadavky znalostí ke státní závěrečné zkoušce z informatiky a didaktiky informatiky (zahájení studia v roce 2022 nebo později)

Odborná témata

...
2. Základy tvorby webu
Umístění stránek na internetu, zobrazení v prohlížeči, webhosting, doména; cache, cookies. Přehled základních webových technologií a příklady jejich použití (HTML5, CSS3, JavaScript, AJAX, server-side jazyky, databáze, API), responsivní layout. Přístupnost webu, SEO optimalizace. Frameworky, systémy pro správu obsahu. Statické vs. dynamické stránky, průběh zpracování formuláře. Bezpečnost webových aplikací - certifikáty, HTTP/HTTPS, same-origin policy. Digitální stopa, cookies.
130.9.2024Úvod, jak funguje web

4. října

přednáška: Sylabus (sylabus v SISu), podmínky splnění kurzu, prezentace "Jak funguje web", "Webové technologie v příkladech".

cvičení: Vytvoření adresáře WWW a zprovoznění "Hello world" stránky.

Informace k projektu

Projekt musí obsahovat:

  • sémantické HTML tagy,
  • CSS,
  • layout pomocí grid nebo flex,
  • alespoň jeden formulář,
  • stránka musí být dynamická
Deadline pro výběr tématu: neděle 31.10.2024

7. října

přednáška:

cvičení:

  • Návrh layoutu (responsivní, pro alespoň 3 velikosti)
  • Ochočení nějakého HTML editoru
  • Vytvoření HTML stránky (umístění do svého adresáře WWW - použití HTML sémantických (HTML5) tagů)

Úvod do počítačových sítí (NSWI141)

Větší část tohoto kurzu týkající se sítí vyučuje RNDr. Libor Forst, já budu učit část přednášek o webu.

Odkaz na stránky kurzu: Úvod do počítačových sítí.


Programování 1 (DVPP)

Kurz pro učitele v rámci celoživotního vzdělávání. Online.

Odkaz na stránky kurzu: Programování 1.