Vývoj software a technologie umělé inteligence
Specializace Vývoj software a technologie umělé inteligence je určena pro vás to pravé, pokud chcete navrhovat, vyvíjet a provozovat moderní softwarové aplikace, které efektivně využívají umělou inteligenci. Naučíte se pracovat s celým životním cyklem softwaru – od návrhu architektury a programování přes testování až po nasazení a provoz – a pochopíte, jak do jednotlivých fází smysluplně zapojit AI.
Pokud vás zajímá praktický vývoj, získáte zkušenosti s programováním pro AI a data science, s využitím moderních přístupů k vývoji software a s orientací v současných technologiích, nástrojích a programovacích jazycích. Naučíte se pracovat s technologiemi CI/CD, kontejnerizací a bezpečným provozem aplikací a pochopíte roli cloudových technologií při vývoji a provozu AI systémů.
Součástí specializace je také řízení softwarových projektů a využití umělé inteligence pro podporu procesů softwarového inženýrství, včetně testování a automatizace. Získáte přehled o možnostech low-code a no-code AI platforem a o tom, kde dávají smysl v reálných vývojových projektech. Díky silnému praktickému zaměření vás tato specializace připraví na práci v technologických týmech, kde se AI stává běžnou součástí softwarových řešení.
Uplatnění absolventů
Absolventi programu Umělá inteligence a data science získají pevný základ v oblasti umělé inteligence a práce s daty, který jim umožní flexibilně reagovat na různé profesní role i aktuální požadavky trhu práce. Studium je koncipováno s ohledem na současné trendy a potřeby praxe, což zvyšuje uplatnitelnost absolventů a jejich atraktivitu pro zaměstnavatele.
Absolventi specializace Vývoj software a technologie umělé inteligence se uplatní zejména jako:
- software inženýři,
- AI specialisté v technologicky orientovaných firmách,
- vývojáři autonomních systémů.
Povinné předměty programu
Předmět Principy umělé inteligence vám poskytne ucelený úvod do základních konceptů a metod, na kterých je postavena moderní umělá inteligence. Seznámíte se s tím, jak AI systémy reprezentují znalosti, řeší úlohy ve stavovém prostoru a jakým způsobem probíhá automatické usuzování a rozhodování. Naučíte se rozlišovat různé přístupy k řešení problémů a chápat jejich předpoklady, výhody i omezení.
V průběhu předmětu získáte přehled o základních principech strojového učení, adaptace a práce s neurčitostí, stejně jako o návrhu agentních systémů a zpracování znalostí. Naučíte se aplikovat vybrané algoritmy a metody na konkrétní úlohy a posuzovat jejich vhodnost pro řešení reálných problémů. Předmět vám vytvoří teoretický základ pro další studium specializovaných oblastí umělé inteligence a pro jejich praktické využití v oblasti data science a AI aplikací.
Garantem předmětu je Petr Berka.
Předmět Grafová a relační data: reprezentace a analýza (v angličtině) vám poskytne hlubší porozumění grafově strukturovaným datům a jejich využití v moderních datových a AI aplikacích. Navážete na znalosti z databázových systémů a rozšíříte je směrem ke grafovým datovým modelům, zejména RDF a property graph. Naučíte se navrhovat strukturu grafových dat, vytvářet a propojovat datasety z různých zdrojů a efektivně se v nich dotazovat pomocí specializovaných jazyků.
V průběhu předmětu si vyzkoušíte publikování grafových dat na webu a práci s nástroji pro jejich validaci a sdílení. Získáte také úvod do analytických úloh nad grafovými a relačními daty, včetně základů dolování znalostí, vektorové reprezentace grafů a aplikace metod strojového učení. Předmět vám umožní propojit teorii s praxí prostřednictvím projektů a lépe porozumět tomu, jak grafová data podporují znalostní systémy, sémantický web a moderní přístupy v oblasti AI a data science.
Na předmětu se potkáte s jeho garantem Vojtěchem Svátkem.
Předmět **Metadovednosti pro praxi** vám umožní rozvíjet klíčové interpersonální a profesní dovednosti, které jsou nezbytné pro úspěšnou realizaci odborných návrhů v reálné praxi. Zaměřuje se na propojení odborných znalostí s rozvojem měkkých dovedností, jako je efektivní týmová spolupráce, komunikace, leadership a schopnost prosazovat řešení vůči různým stakeholderům. Naučíte se přistupovat k řešení komplexních problémů systematicky, od jejich identifikace až po strategickou komunikaci a implementaci návrhů založených na důkazech.
V průběhu předmětu budete pracovat v týmech na konkrétních úkolech inspirovaných praxí a rozvíjet dovednosti kritického a kreativního myšlení, time managementu i práce s neúspěchem. Vyzkoušíte si pokročilé techniky prezentace, storytellingu a strategické komunikace v českém i anglickém jazyce a naučíte se využívat moderní nástroje včetně technologií AI pro podporu týmové práce a obhajobu navržených řešení. Výstupem je prezentace návrhu implementace řešení, která simuluje reálné pracovní prostředí a připraví vás na profesní výzvy v oblasti AI a data science.
Předmět je vyučován pro studenty napříč navazujícími magisterskými programy Fakulty informatiky a statistiky. Garantkou je Jana Holá z Katedry infomračních technologií.
Předmět Velké jazykové modely vám poskytne hlubší porozumění architektuře a principům fungování moderních jazykových modelů, které dnes hrají klíčovou roli v oblasti zpracování přirozeného jazyka. Seznámíte se s vývojem neuronových sítí a transformerových architektur a pochopíte, jak jsou velké jazykové modely trénovány a optimalizovány. Naučíte se, jak tyto modely reprezentují jazyk a jaké jsou jejich silné stránky i omezení při řešení jazykových úloh.
V průběhu předmětu si vyzkoušíte praktické využití velkých jazykových modelů při generování textu, strojovém překladu, sumarizaci nebo analýze sentimentu. Naučíte se navrhovat a implementovat řešení pro konkrétní jazykové úlohy, provádět ladění a hodnocení výkonu modelů a pracovat s přístupy, jako je Retrieval Augmented Generation. Předmět vám zároveň pomůže porozumět etickým a technickým výzvám spojeným s využíváním těchto technologií a zorientovat se v současných trendech a výzkumu v oblasti velkých jazykových modelů.
Garantem předmětu je Tomáš Kliegr.
Předmět Optimalizační metody vám poskytne úvod do základních optimalizačních modelů a technik, které se využívají při podpoře ekonomického a manažerského rozhodování. Seznámíte se s různými typy optimalizačních úloh, jejich klasifikací a typickými aplikačními oblastmi. Naučíte se chápat roli účelové funkce, omezení a rozhodovacích proměnných a porozumíte principům lineárního, celočíselného i nelineárního programování v kontextu reálných rozhodovacích problémů.
V praktické části si vyzkoušíte formulaci a řešení optimalizačních úloh v jazyce Python a získáte přehled o softwarových nástrojích používaných pro modelování a optimalizaci. Naučíte se interpretovat výsledky, pracovat s dualitou a analýzou citlivosti a pochopíte omezení jednotlivých přístupů z hlediska výpočetní náročnosti. Předmět vám umožní aplikovat optimalizační metody na konkrétní situace z praxe a vytvoří základ pro další studium pokročilejších optimalizačních technik.
Garantem je Ondřej Sokol z Katedry ekonometrie.
Předmět Diplomový seminář vám poskytne systematickou podporu při zpracování diplomové práce od jejího zadání až po přípravu na obhajobu. Seznámíte se se všeobecnými zásadami vypracování diplomové práce, správnou prací s informačními zdroji a požadavky kladenými na odborný i formální obsah práce. Předmět vám pomůže strukturovat vlastní postup práce a průběžně ověřovat, že zvolené řešení odpovídá akademickým standardům.
V rámci semináře budete diskutovat průběžné výsledky své práce, konzultovat konkrétní problémy a získávat zpětnou vazbu od vyučujících i ostatních studentů. Naučíte se připravit práci k obhajobě, srozumitelně prezentovat dosažené výsledky a obhajovat zvolený přístup i závěry. Předmět vám vytvoří podmínky pro úspěšné dokončení a obhajobu diplomové práce.
Povinné předměty specializace
Předmět Programování pro AI a data science vás naučí využívat jazyk Python jako hlavní nástroj pro analýzu dat, strojové učení a práci s moderními systémy umělé inteligence. Postupně si osvojíte práci s klíčovými knihovnami pro data science, zejména pandas, a naučíte se data efektivně načítat, čistit, analyzovat a vizualizovat. Získáte přehled o nejpoužívanějších frameworkech pro strojové učení, jako jsou scikit-learn, Keras a TensorFlow, a pochopíte jejich roli v celém analytickém workflow.
V průběhu předmětu si prakticky vyzkoušíte tvorbu, ladění a vyhodnocování modelů strojového učení, včetně interpretace výsledků a principů vysvětlitelného strojového učení. Seznámíte se také s možnostmi integrace velkých jazykových modelů do analytických úloh, například prostřednictvím nástrojů LangChain nebo ekosystému Hugging Face. Součástí výuky je práce s reálnými daty v rámci případové studie a přehled dalších nástrojů a prostředí používaných v oblasti data science, což Vám umožní lépe se orientovat v současné praxi a technologiích používaných v AI projektech.
Garantem tohoto programu je Tomáš Kliegr.
Předmět Metody a praktiky vývoje a testování softwaru vám poskytne systematický přehled metodických přístupů, které se používají při řízení, vývoji a testování softwarových projektů. Naučíte se orientovat v kategorizaci metodických nástrojů a pochopíte specifika řízení softwarových projektů v různých kontextech. Seznámíte se s de facto standardy CMMI-DEV a TMMi i s klíčovými mezinárodními normami v oblasti životního cyklu softwaru, kvality a testování. Důraz je kladen na porozumění jejich smyslu a možnostem praktického využití.
V rámci předmětu si vyzkoušíte práci s preskriptivními metodikami (zejména RUP a MMSP) i s agilními přístupy, jako jsou Scrum, Extrémní programování a Kanban, a naučíte se zvažovat jejich vhodnost pro konkrétní typ projektu. Získáte znalosti o iterativním vývoji, plánování a odhadování softwarových projektů, správě požadavků, verifikaci a validaci i návrhu a analýze testů. Předmět Vám pomůže lépe porozumět kvalitě softwaru z procesního i produktového hlediska a zároveň Vás seznámí se základními principy profesní etiky softwarového inženýra.
Garantkou předmětu je Alena Buchalcevová z Katedry informačních technologií.
Předmět Bezpečný provoz a kontejnerizace aplikací Vás seznámí se základními principy provozu moderních softwarových aplikací se zaměřením na bezpečnost, automatizaci a škálovatelnost. Naučíte se, jak aplikace připravit na reálný provoz – od pochopení bezpečnostních principů a protokolů (např. TLS, HTTPS) přes monitorování běhu aplikací až po práci s virtualizací a kontejnerizací. Získáte přehled o tom, jak jsou dnes aplikace baleny, izolovány a provozovány v prostředí, které klade důraz na spolehlivost a bezpečnost.
Důležitou součástí předmětu je praktická práce s CI/CD nástroji, které si vyzkoušíte při automatizovaném sestavování, testování a nasazování kontejnerizovaných aplikací. Naučíte se také bezpečně spravovat credentials, využívat centralizovaná úložiště tajemství a chápat jejich roli v celém provozním řetězci. Předmět Vás dále uvede do základů orchestrací kontejnerů a nasazování aplikací do cloudových prostředí. Získané znalosti Vám umožní lépe porozumět provozní stránce vývoje softwaru a efektivně spolupracovat s vývojovými i provozními týmy v praxi.
Garantem předmětu je Luboš Pavlíček, primárně působící v Centru informatiky VŠE.
Předmět Funkcionální programování vás seznámí se základními principy funkcionálního programování a s jejich praktickým využitím v moderních hybridních programovacích jazycích, jako je Kotlin nebo Scala. Naučíte se chápat rozdíly mezi objektově orientovaným a funkcionálním paradigmatem a vhodně je kombinovat při návrhu a implementaci aplikací. Důraz je kladen na praktickou práci – postupně si osvojíte práci s datovými typy, řídicími konstrukcemi, imutabilitou a tvorbou funkcí, včetně čistých funkcí, funkcí vyššího řádu a lambda výrazů.
V průběhu cvičení získáte zkušenosti s návrhem a implementací jednodušších aplikací ve zvoleném jazyce a seznámíte se s testováním funkcionálního kódu, asynchronním a reaktivním programováním i základy paralelizace. Vyzkoušíte si využití funkcionálního programování při vývoji desktopových a serverových aplikací, včetně kontejnerizace, a získáte přehled o možnostech jeho uplatnění v mobilním vývoji, strojovém učení a umělé inteligenci. Semestrální práce Vám umožní propojit jednotlivá témata do uceleného řešení a prakticky si ověřit získané znalosti při tvorbě reálné aplikace.
Garantem předmětu je Václav Zeman.
Předmět Agilní projekt vývoje aplikací využívajících AI je zaměřen na praktickou realizaci softwarového projektu, ve kterém si vyzkoušíte vývoj aplikace využívající vhodný model umělé inteligence. V menším týmu projdete celým procesem od převodu business zadání do konkrétních cílů projektu a backlogu až po funkční řešení. Seznámíte se s principy agilního řízení projektů, zejména metodikou SCRUM, a naučíte se efektivně spolupracovat v týmu a reagovat na změny, které jsou pro vývoj AI aplikací typické.
V průběhu předmětu získáte praktické zkušenosti s aplikovanou tvorbou AI modelů – od přípravy dat a výběru vhodného přístupu přes iterativní vývoj a experimentování až po integraci modelu do softwarové aplikace. Vyzkoušíte si návrh architektury aplikace, základní principy UI/UX, testování, automatizaci i nasazení. Předmět Vám umožní propojit znalosti z předchozích kurzů a uplatnit je v uceleném týmovém projektu, včetně reflexe průběhu práce a prezentace dosažených výsledků.
Na předmětu se potkáte se Stanislavem Vojířem.
Volitelné předměty specializace
Předmět Umělé neuronové sítě a hluboké učení vám poskytne pevné teoretické základy i praktické dovednosti v oblasti neuronových sítí a jejich využití při zpracování obrazových a textových dat. Seznámíte se se základními principy fungování umělých neuronových sítí, jejich vztahem k biologickým neuronovým sítím a s klíčovými pojmy, jako jsou učení, aktivační a ztrátové funkce, kapacita modelu, regularizace či generalizace. Naučíte se rozumět tomu, jak a proč neuronové sítě fungují a jaké faktory ovlivňují jejich chování a výkon.
V praktické části si vyzkoušíte návrh, trénování a použití hlubokých neuronových sítí v programovacím jazyce Python. Naučíte se pracovat s konvolučními neuronovými sítěmi pro obrazová data, s rekurentními sítěmi a transformery pro textová data a seznámíte se s principy přeneseného učení, obohacování dat a generativních modelů. Předmět vám umožní aplikovat moderní přístupy hlubokého učení na reálné úlohy a lépe porozumět jejich možnostem i omezením v praxi.
Předmět je za 6 kreditů, garantem je Ondřej Zamazal.
Předmět Data mining – praktické aplikace vám poskytne přehled reálných úloh, se kterými se data mining setkává v praxi, a ukáže vám, jak jsou tyto úlohy typicky řešeny v rámci celého data miningového projektu. Seznámíte se s jednotlivými fázemi projektu, jejich návazností a typickými problémy, které při práci s reálnými daty vznikají. Předmět propojuje základní teoretické principy statistiky, strojového učení a umělé inteligence s jejich praktickým využitím při řešení konkrétních analytických problémů.
V průběhu předmětu se naučíte rozpoznávat typické data miningové úlohy, volit vhodné algoritmy a chápat jejich přínosy i omezení v reálných aplikacích. Získáte přehled o algoritmech, které se v praxi nejčastěji používají, a o tom, v jakých situacích dávají smysl. Předmět vám pomůže porozumět tomu, jak převádět teoretické znalosti do funkčních analytických řešení a jak realisticky hodnotit možnosti a limity data miningu při práci s daty.
Předmět je za 3 kredity, garantem je Jan Rauch.
Předmět Digitální forenzní analýza vám poskytne úvod do postupů a metod zajišťování a zkoumání digitálních stop v kontextu bezpečnostních incidentů, forenzního šetření a znalecké praxe. Seznámíte se se základními principy digitální forenzní analýzy, s typy digitálních stop a s jejich prioritizací při zajišťování dat z různých zdrojů, jako jsou pevné disky, operační paměť nebo aplikační data. Naučíte se chápat význam integrity dat, správné dokumentace a dodržování postupů, které zajišťují přezkoumatelnost a použitelnost výsledků analýzy.
V praktické části si vyzkoušíte konkrétní techniky zajištění a analýzy digitálních dat, včetně vytváření obrazů disků a paměti, práce se souborovými systémy, obnovy smazaných dat a analýzy artefaktů operačního systému. Naučíte se pracovat s běžně používanými forenzními nástroji a osvojíte si postupy vedoucí k formulaci závěrů a tvorbě přehledné závěrečné zprávy. Předmět vám umožní pochopit celý proces digitální forenzní analýzy od zajištění dat až po interpretaci výsledků a jejich srozumitelné prezentování.
Předmět je za 6 kreditů a je garantován Katedrou systémové analýzy.
Předmět Paralelní a GPU programování pro strojové učení vám poskytne teoretické i praktické základy paralelního výpočtu a využití GPU akcelerace při analýze dat a strojovém učení. Seznámíte se s principy paralelního programování, architekturou GPU a s tím, kdy a proč je vhodné akcelerované výpočty použít. Naučíte se pracovat s programovacím modelem CUDA a pochopíte, jak paměťová hierarchie a paralelní zpracování ovlivňují výkon algoritmů.
V praktické části si vyzkoušíte práci s moderními knihovnami pro GPU akceleraci v Pythonu, jako jsou cuDF a CuPy, a seznámíte se se zpracováním velkých dat pomocí technologií Apache Spark a PySpark. Naučíte se navrhovat a optimalizovat paralelní a distribuované úlohy, porovnávat výkon CPU a GPU a aplikovat GPU akceleraci na vybrané algoritmy strojového učení. Závěrečný projekt vám umožní využít získané znalosti při řešení reálného úkolu zaměřeného na efektivní zpracování rozsáhlých datových sad.
Předmět je za 6 kreditů, garantem je Tomáš Kliegr.
Jde o jeden z předmětů specializace Data science a strojové učení.
Předmět Webová a mobilní analytika vám poskytne přehled metod a nástrojů používaných pro analýzu chování uživatelů webových a mobilních aplikací, včetně sociálních sítí. Seznámíte se se základními principy webové a mobilní analytiky, způsoby sběru dat o uživatelských interakcích a s etickými a právními aspekty jejich sledování. Naučíte se analyzovat strukturu a obsah digitálních kanálů, identifikovat cíle komunikace a porozumět tomu, jak uživatelé s obsahem a aplikacemi skutečně pracují.
V praktické části si vyzkoušíte práci s vybranými analytickými nástroji, návrh a vyhodnocování kampaní na sociálních sítích a analýzu dat z webových i mobilních aplikací. Získáte zkušenosti s optimalizací obsahu z hlediska uživatelů, vyhledávačů a přístupnosti, se sledováním konverzních cílů a s využitím metod umělé inteligence pro analýzu a personalizaci obsahu. Předmět vám umožní navrhovat konkrétní opatření pro zlepšení digitálních produktů nebo online komunikace a ověřovat jejich přínos na základě dat.
Předmět je za 6 kreditů, můžete se na něm potkat s jeho garantem Stanislavem Vojířem a dále také s Antonínem Pavlíčkem z Katedry systémové analýzy.
Jde o jeden z předmětů specializace Human-centered a bezpečná umělá inteligence.
Předmět Vývoj pokročilých webových aplikací v PHP vám poskytne praktické dovednosti potřebné pro návrh a implementaci komplexních, dlouhodobě udržitelných webových aplikací. Seznámíte se s moderními přístupy k programování v PHP, aktuálními trendy a s využitím frameworků při objektově orientovaném vývoji. Naučíte se navrhovat strukturu projektu, pracovat s architektonickými vzory a vytvářet přehledné a rozšiřitelné řešení, které je připravené pro další rozvoj.
V průběhu předmětu si vyzkoušíte návrh a realizaci webové aplikace od analýzy požadavků přes návrh UI/UX až po implementaci, testování a nasazení. Naučíte se pracovat s databázemi, externími API, autentizací a autorizací uživatelů, řešit bezpečnost aplikací a zvyšovat jejich interaktivitu pomocí AJAXu. Předmět vám umožní získat praktickou zkušenost s týmovou spoluprací a vývojovými postupy, které odpovídají běžné praxi při vývoji moderních webových aplikací.
Předmět je za 3 kredity, garantem je Stanislav Vojíř.