Nový kurz

Algoritmy a programování

Přemýšlejte jako programátor
Tento kurz obsahuje přesně to, co vás programovací rychlokurzy (někdy i půlroční) obvykle nenaučí - přemýšlet o problému, rozdělit řešení na části a celé řešení předem naplánovat; umět uvažovat o rozsahu operací, které bude potřeba pro větší množství dat provést, a přizpůsobit tomu postup; seznámit se s rozsáhlejšími datovými strukturami, které přispívají ke zjednodušení nebo vůbec umožnění řešení některých úloh.
Celý kurz je koncipován jako jazykově agnostický, tj. nezávislý na konkrétním programovacím jazyce - předchozí programovací zkušenosti jsou vítané, ovšem nikoli nezbytné. Kurz klade velký důraz na praktické procvičení problematiky, samostatně nebo ve skupinkách.

Kód
DEV010

Délka kurzu
5 dní (8:30 – 16:00)

Forma
V naší učebně nebo online

Hlavní lektor kurzu

Ing. Jiří Bráza

Ing. Jiří Bráza

Instruktor programování

Více o lektorovi

Termíny

20. 4. 2026 – 24. 4. 2026 Praha Volný termín Garantovaný termín 22 500 Kč
bez DPH
Přidat do košíku
11. 5. 2026 – 15. 5. 2026 Praha Volný termín Garantovaný termín 22 500 Kč
bez DPH
Přidat do košíku
Nevyhovují vám vypsané termíny? Dejte nám vědět! Kontaktujte nás

Kurz určen pro

Vývojáře, uživatele, analytiky, manažery a IT pracovníky.

Osnova

Základní pojmy, modely výpočtu a složitost
- Definice algoritmu, program vs. algoritmus, korektnost.
- Dekompozice problému: Jak rozbít velký úkol na malé, řešitelné podúlohy
- Reprezentace algoritmů: Vývojové diagramy (Flowcharts), pseudokód a další
- Notace: velké-O, Theta, Omega; praktické příklady porovnání.
- Časová a paměťová složitost: rozdíl a měření.
- Druhy vstupů (velikost, reprezentace) a amortizovaná složitost.
- Data vs. Informace: Jak počítač vidí svět (binární soustava stručně).

Základní datové struktury a práce s výrazy
- Pole, seznamy (jednosměrné/dvousměrné), zásobník, fronta, deque.
- Asymptotická složitost operací (přístup, vložení, mazání) pro každou DS.
- Asociativní pole / slovníky / hash mapy, stromy (binární strom, BST), vyvažování (základ).
- Praktické použití různých datových struktur

Vyhledávání, řazení a analýza konkrétních úloh
- Lineární vs. binární vyhledávání; podmínky pro binární vyhledávání; rozšíření binárního vyhledávání na ostatní problémy (parametrické hledání).
- Základní řadící algoritmy: Bubble/Insertion/Selection (vysvětlit), Merge sort, Quick sort, Heap sort — stabilita, průměrná/horší složitost.
- Algoritmické techniky: rozděl a panuj (divide and conquer), greedy, dynamické programování (základy), backtracking.
- Heuristiky a praktické aspekty (cache, konstanty, stabilita).

Grafové úlohy
- Základní pojmy: vrcholy, hrany, orientované vs. neorientované grafy, vážené grafy
- Reprezentace: adjacency list, adjacency matrix, edge list — kdy co použít
- Stromy jako speciální typ grafu: Kořen, listy, binární stromy
- Procházení grafu - BFS, DFS: princip, složitosti, použití

Algoritmické vzory, složitější techniky, návrat k chybám a Event-Driven přístup
- Sliding window, two pointers, divide-and-conquer rekurzivně, memoizace, greedy patterns.
- Základy dynamického programování a dalších technik
- Event-Driven programování: princip, model událostí, callbacky/promisy/asynchronní zpracování
- Chyby: typy chyb (logické, runtime, design), ladění, testování (unit tests, property-based testing), invariance, aserce.

Absolvent kurzu bude umět

Účastníci pochopí základní pojmy algoritmizace, třídy složitosti a naučí se porovnávat postupy podle časové a paměťové náročnosti.
Naučí se vybrat vhodné datové struktury a algoritmy pro konkrétní úlohy (vyhledávání, řazení, grafy, apod.).
Procvičí návrh, analýzu a implementaci základních algoritmů.
Kurz bude klást důraz na praktická cvičení + diskuzi návrhů řešení; implementace v jazyce dle volby účastníků nebo v pseudokódu.

Požadavky pro absolvování kurzu

  • základní práce s počítačem
  • hodí se nadšení, ochota zkoumat a trocha analytického myšlení

Technické vybavení

Všechny učebny jsou vybaveny nadstandardními počítači připojenými k Internetu, učebny jsou prostorné, klimatizované, bezbariérové a s připojením na Wi-Fi. V případě zájmu lze školení absolvovat online live.

Literatura

Všichni účastníci školení obdrží materiály společnosti OKsystem. 

PDF ke stažení

Ceny jsou bez DPH. OKsystem a.s. si vyhrazuje právo změnit termín a cenu školení.

Podobné kurzy

Prohlédněte si některé podobné kurzy z naší široké nabídky.

Nový kurz

Praktická práce se sekvencemi v Pythonu Python202


11 800 Kč Detail kurzu
Nový kurz

Úvod do programování v Pythonu pro začátečníky Python100


11 800 Kč Detail kurzu

Analýza dat pomocí jazyka Python Python201


15 600 Kč Detail kurzu

Potřebujete poradit?

Neváhejte se na nás obrátit. Jsme vám k dispozici a rádi vám pomůžeme.

Ing. Michaela Setinská

Ing. Michaela Setinská

Bližší informace o školení


+420 731 400 369
setinska@oksystem.cz

Ing. Lumír Vojtěchovský

Ing. Lumír Vojtěchovský

Bližší informace o školení


+420 724 332 135
vojtechovsky@oksystem.cz

Proč OKškolení?

Jaké jsou hlavní výhody našeho školicího centra?

Zjistit o nás víc

Kontaktujte nás

Neváhejte se na nás obrátit ať už máte jakýkoliv dotaz.

Simona Dianová

Simona Dianová

Organizace školení a testů


+420 236 072 251
dianova@oksystem.cz

Ing. Dana Černá

Ing. Dana Černá

Certifikační testy


+420 236 072 318
cernad@oksystem.cz

Potřebujete toho o nás vědět víc, nebo nás raději chcete kontaktovat pomocí formuláře?

Kontaktní stránka

OKškolení je součástí OKsystem a.s.