Maturitní ročník: Programování



Programování pro pokročilé

Hodinová dotace: jednoletý seminář – 2 hodiny týdně

Programování pro pokročilé


Cíle předmětu:

V Rámcovém vzdělávacím programu pro gymnaziální vzdělávání je tento předmět kvalifikován jako doplňující vzdělávací obor.
Programování rozvíjí a prohlubuje algoritmické myšlení potřebné pro řešení různých problémových situací, zlepšuje schopnost analyzovat problém a pomocí zavedených postupů ho řešit.
Žáci při řešení problémů volí vhodné metody, vytvářejí jejich algoritmy, zdůvodňují postupy a diskutují řešitelnost, případně počet řešení daného problému.
Výuka programování má úzké mezipředmětové vztahy hlavně k matematice. Součástí výuky je také tvorba většího projektu, kde žáci lépe pochopí význam programování pro dnešní dobu. Programování je využitelné a potřebné v reálném životě i při studiu na vysokých školách zejména technického zaměření.
Výběr tohoto předmětu je nutnou podmínkou pro možnost výběru zkoušky z programování v profilové části státní maturitní zkoušky.

Studijní požadavky:

Předmět je koncipován jako jednoletý kurz s dvouhodinovou týdenní dotací. Jde o rozšíření základního kurzu Programování.
Úkolem tohoto kurzu je rozšířit znalosti ze základního kurzu o práci s dynamickými proměnnými a strukturami. Dále jsou součástí pokročilejší programátorské principy jako rekurze a základy umělé inteligence.
Nutnou podmínkou pro zapsání tohoto kurzu jsou znalosti na úrovni 1. ročníku základního kurzu Programování a v průběhu kurzu také znalosti odpovídající aktuálně probranému učivu v 2. ročníku základního kurzu Programování.
Součástí hodnocení jsou písemné práce, příprava a prezentace referátů a tvorba programů. Předmět je určen pro studenty, kteří nemají potíže s analýzou zadaného úkolu, t.j. s jeho rozložením na jednodušší části. Zvláštní matematické schopnosti nejsou potřeba, naopak logické myšlení je nezbytné. Zapsání tohoto předmětu je nutnou podmínkou pro volbu maturity z programování.

Obsah učiva:

učivo

  • Dynamické a abstraktní datové struktury, základní i složitější algoritmy na nich
    • algoritmy v poli, složitost algoritmů
    • třídy a objekty
    • rekurze
      • divide et impera
      • prohledávání stavového prostoru
      • herní UI
    • dynamické datové struktury
    • lineární spojový seznam
    • binární vyhledávací strom