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

Python pro programátory Python106


11 800 Kč Detail kurzu

Analýza dat pomocí jazyka Python Python201


15 600 Kč Detail kurzu

Základy jazyka Python Python101


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.