Plán výuky - Školní rok 2024/2025

Učňovský obor: Programátor / Vývojář aplikací

3. ročník | Týdenní dotace: 18 hodin odborného výcviku + 12 hodin teorie

Počet žáků: 18
Učitel: Ing. Jan Novák
ŠVP: Tvorba, testování a provoz software
Celkem hodin: 540 (OV) + 360 (teorie)

Celkové informace o plánu výuky

Tento plán výuky je strukturován do 4 čtvrtletí školního roku a pokrývá všechny kompetence stanovené v ŠVP "Tvorba, testování a provoz software". Plán kombinuje teoretickou výuku s praktickými projekty a cvičeními.

Praktická výuka / Odborný výcvik
Teoretická výuka
Projektová výuka / Týmový projekt

Klíčové kompetence podle ŠVP:

Analýza problému a specifikace zadání Dekompozice problému na části Návrh algoritmů a datových struktur Hodnocení a výběr algoritmů Tvorba spustitelného programu/skriptu Testování a ladění programu Spolupráce při tvorbě programu

Používané nástroje a technologie:

Python JavaScript HTML/CSS Git Visual Studio Code MySQL Docker (základy) Postman

1. Čtvrtletí (Září - Listopad) - Základy algoritmizace a programování

Téma: Úvod do programování, základní algoritmy a strukturované programování

Týden Teoretická výuka (4 hod/týden) Praktický výcvik (6 hod/týden) Kompetence Hodnocení
1-2 Úvod do programování
- Specifikace a analýza problémů
- Základní koncepty (proměnné, datové typy)
8 hodin
První programy v Pythonu
- Instalace vývojového prostředí
- Hello World a základní syntax
- Práce s vstupy a výstupy
12 hodin
Analýza problému Specifikace zadání Úvodní test (10%)
3-4 Řídící struktury
- Podmínky (if/else)
- Cykly (for, while)
- Logické operátory
8 hodin
Algoritmy s podmínkami a cykly
- Kalkulačka s menu
- Hádání čísel
- Prvočísla a Fibonacciho posloupnost
12 hodin
Návrh algoritmů Zápis algoritmu Programovací úlohy (15%)
5-7 Funkce a modularita
- Princip funkcí a procedur
- Parametry a návratové hodnoty
- Rozložení problému na části
12 hodin
Modulární programování
- Přepracování programů na funkce
- Knihovna matematických funkcí
- Projekt: Jednoduchá hra
18 hodin
Dekompozice Modularita Projekt - hra (20%)
8-9 Datové struktury I
- Pole a seznamy
- Řetězce a práce s textem
- Slovníky
8 hodin
Práce s daty
- Analýza textových souborů
- Evidence studentů
- Třídění a vyhledávání v datech
12 hodin
Datové struktury Analýza vstupů Praktická zkouška (25%)
10 Opakování a testování
- Shrnutí 1. čtvrtletí
- Příprava na test
4 hodiny
Komplexní úloha
- Samostatný projekt
- Testování a ladění
6 hodin
Všechny Čtvrtletní test (30%)

Výstupy 1. čtvrtletí:

  • Žák umí analyzovat jednoduchý problém a specifikovat zadání
  • Zvládá základy programování v Pythonu (proměnné, podmínky, cykly, funkce)
  • Umí rozložit problém na menší části a vytvořit modulární program
  • Ovládá základní datové struktury a práci s nimi

2. Čtvrtletí (Prosinec - Únor) - Objektové programování a webové technologie

Téma: Objektově orientované programování, základy webových technologií a databází

Týden Teoretická výuka (4 hod/týden) Praktický výcvik (6 hod/týden) Kompetence Hodnocení
11-13 Objektově orientované programování
- Třídy a objekty
- Dědičnost a polymorfismus
- Zapouzdření
12 hodin
OOP v praxi
- Modelování reálných entit
- Bankovní systém
- Evidence vozového parku
18 hodin
Návrh struktury Modelování OOP projekt (20%)
14-16 Základy webových technologií
- HTML5 a CSS3
- Základy JavaScriptu
- DOM manipulace
12 hodin
Tvorba webových stránek
- Statická webová prezentace
- Interaktivní formuláře
- Responzivní design
18 hodin
Webová aplikace UI design Webový projekt (20%)
17-19 Úvod do databází
- Relační databáze
- SQL základy (SELECT, INSERT, UPDATE)
- Návrh databázové struktury
12 hodin
Práce s MySQL
- Tvorba tabulek a vztahů
- Dotazování na data
- Propojení s Pythonem
18 hodin
Datové struktury Analýza dat Databázový projekt (25%)
20 Pololetní opakování
- Shrnutí 1. pololetí
- Příprava na pololetní práci
4 hodiny
Komplexní projekt
- Webová aplikace s databází
- Testování a dokumentace
6 hodin
Všechny Pololetní práce (35%)

Výstupy 2. čtvrtletí:

  • Žák ovládá základy objektově orientovaného programování
  • Umí vytvořit statickou webovou stránku s HTML, CSS a JavaScriptem
  • Zvládá návrh jednoduché databáze a základní SQL dotazy
  • Dokáže propojit backend (Python) s frontendem (web) a databází

3. Čtvrtletí (Březen - Květen) - Pokročilé algoritmy a týmová spolupráce

Téma: Pokročilé algoritmy, efektivita kódu, verzovací systémy a týmová spolupráce

Týden Teoretická výuka (4 hod/týden) Praktický výcvik (6 hod/týden) Kompetence Hodnocení
21-23 Pokročilé algoritmy
- Složitost algoritmů (O-notace)
- Vyhledávací a třídící algoritmy
- Rekurze
12 hodin
Implementace algoritmů
- Porovnání efektivity algoritmů
- Optimalizace kódu
- Benchmarking
18 hodin
Hodnocení algoritmů Optimalizace Algoritmický projekt (25%)
24-26 Verzovací systémy a spolupráce
- Git a GitHub
- Workflow v týmu
- Code review
12 hodin
Týmový projekt I
- Rozdělení rolí v týmu
- Společná práce na kódu
- Řešení konfliktů
18 hodin
Spolupráce Komunikace Týmová práce (30%)
27-29 Testování software
- Druhy testů (unit, integration)
- Testovací frameworky
- Ladění a diagnostika chyb
12 hodin
Testování v praxi
- Psaní unit testů
- Testování webových aplikací
- Automatizace testů
18 hodin
Testování Ladění Sada testů (25%)
30 Opakování a příprava
- Shrnutí 3. čtvrtletí
- Příprava projektů
4 hodiny
Projektová práce
- Dokončování projektů
- Příprava prezentací
6 hodin
Všechny Projektová zkouška (20%)

Výstupy 3. čtvrtletí:

  • Žák rozumí časové a paměťové složitosti algoritmů
  • Ovládá práci s verzovacím systémem Git v týmu
  • Umí vytvořit a spustit testy pro svůj kód
  • Dokáže efektivně spolupracovat v programátorském týmu

4. Čtvrtletí (Červen - Srpen) - Závěrečné projekty a příprava na zkoušky

Téma: Komplexní projekty, dokumentace, prezentace a příprava na závěrečné zkoušky

Týden Teoretická výuka (4 hod/týden) Praktický výcvik (6 hod/týden) Kompetence Hodnocení
31-33 Dokumentace a prezentace
- Technická dokumentace
- Uživatelská dokumentace
- Prezentační dovednosti
12 hodin
Závěrečný projekt I
- Výběr a specifikace projektu
- Analýza a návrh řešení
- Rozdělení práce v týmech
18 hodin
Specifikace Analýza Plánování Specifikace projektu (15%)
34-36 Provoz a nasazení aplikací
- Základy Dockeru
- Nasazení webové aplikace
- Monitoring a logování
12 hodin
Závěrečný projekt II
- Implementace projektu
- Průběžné testování
- Verzování a spolupráce
18 hodin
Implementace Testování Spolupráce Průběžná implementace (25%)
37-38 Příprava na závěrečné zkoušky
- Opakování klíčových témat
- Struktura závěrečné zkoušky
- Testové úlohy
8 hodin
Dokončení projektu
- Finalizace kódu
- Kompletní testování
- Příprava dokumentace
12 hodin
Komplexní řešení Dokumentace Dokumentace projektu (20%)
39-40 Prezentace a obhajoby
- Prezentační dovednosti
- Obhajoba projektů
- Zpětná vazba
8 hodin
Prezentace projektů
- Veřejná prezentace
- Demonstrace funkcí
- Odpovědi na dotazy
12 hodin
Prezentace Obhajoba Komunikace Závěrečná prezentace (40%)

Výstupy 4. čtvrtletí:

  • Žák vytvoří komplexní funkční projekt od analýzy po nasazení
  • Umí vytvořit kompletní dokumentaci k projektu
  • Dokáže prezentovat a obhájit svou práci
  • Je připraven na závěrečné zkoušky

Hodnocení a průběžné testování

Bodové hodnocení během roku:

Typ hodnocení Váha v pololetí Počet za rok Kompetence ověřované
Průběžné programovací úlohy 20% 8-10 Analýza, návrh, implementace
Projektová práce 30% 4 Komplexní řešení, spolupráce, dokumentace
Testy z teorie 20% 4 Teoretické znalosti, algoritmizace
Praktické zkoušky 20% 2 Praktické dovednosti, řešení problémů
Aktivita a spolupráce 10% průběžně Spolupráce, komunikace, iniciativa

Minimální požadavky pro postup do dalšího čtvrtletí:

  • Minimálně 60% bodů z praktických úloh v čtvrtletí
  • Úspěšné odevzdání alespoň 2 z 3 projektů v čtvrtletí
  • Alespoň 50% úspěšnost v teoretických testech
  • Aktivní účast na výuce (max. 20% absence)

Materiální a technické zabezpečení výuky

Výukové prostory a vybavení:

Prostor Vybavení Kapacita Využití
Počítačová učebna č. 1 18 PC (i5, 16GB RAM), projektor, WiFi 18 žáků Praktický výcvik, programování
Počítačová učebna č. 2 18 PC (i5, 16GB RAM), interaktivní tabule 18 žáků Teoretická výuka, prezentace
Projektová místnost 6 pracovních stanic, tabule, flipchart 12 žáků Týmová práce, konzultace
Serverovna Testovací servery, NAS, routery 6 žáků Pokročilé projekty, nasazení aplikací

Software a licence:

  • Visual Studio Code (bezplatná licence)
  • Python 3.x (open source)
  • MySQL Community Edition (bezplatná)
  • Git (open source)
  • Docker Community Edition (bezplatná)
  • Office 365 (školní licence)