Softwarové a datové inženýrství
Tato stránka vychází z podkladů pro tištěné studijní plány (tzv. Karolinku).
Aktuální studijní plány najdete zde.
Garantující pracoviště: Katedra softwarového inženýrství
Oborový garant: Prof. Mgr. Martin Nečaský, Ph.D.
- – Plán S - Standardní studijní plán je původním programem na Univerzitě Karlově.
- – Plán D - Společný studijní plán dvojího diplomu (double-degree) je organizován ve spolupráci mezi Matematicko-fyzikální fakultou Univerzity Karlovy a Fakultou informatiky a matematiky Univerzity v Pasově (dále partneři).
Plán S - Standardní studijní plán
Standardní studijní plán je dvouletý magisterský program absolvovaný na Univerzitě Karlově (MFF UK).
Zaměření:
- – softwarové inženýrství
- – vývoj software
- – webové inženýrství
- – databázové systémy
- – analýza a zpracování rozsáhlých dat
Absolvent má hluboké softwarově a datově inženýrské znalosti v rámci zvoleného zaměření. Tyto znalosti nesledují pouze aktuální technologické trendy, ale jejich jádro je tvořeno hlubokým teoretickým základem. Absolvováním zaměření Softwarové inženýrství umí absolvent analyzovat požadavky na kvalitu a funkcionalitu softwarových řešení, navrhovat odpovídající architekturu a řídit proces vývoje a monitorování kvality. Absolvent zaměření Vývoj software je schopen navrhovat architekturu software a vést jeho implementaci v různých prostředích včetně paralelních nebo cloudových. Zaměření Webové inženýrství učí absolventy navrhovat a implementovat software fungující v prostředí webu, cloudu a dalších síťových technologií s důrazem na škálovatelnost, robustnost a bezpečnost. Se zaměřením Databázové systémy je absolvent připraven navrhovat a integrovat schémata v různých typech databází a na jejich základě pak implementovat a administrovat databázové aplikace. Absolvent zaměření Analýza a zpracování rozsáhlých dat se uplatní jako vědecky orientovaný odborník na dobývání znalostí z dat a jejich interpretaci uživateli, např. jako datový analytik (data scientist).
Povinné předměty
| kód | Předmět | Kredity | ZS | LS | |
| NTIN090 | Základy složitosti a vyčíslitelnosti | 4 | 2/1 Z+Zk | — | |
| NTIN066 | Datové struktury 1 | 6 | 2/2 Z+Zk | — | |
| NSZZ023 | Diplomová práce I | 6 | — | 0/4 Z | |
| NSZZ024 | Diplomová práce II | 9 | 0/6 Z | — | |
| NSZZ025 | Diplomová práce III | 15 | — | 0/10 Z | |
Týmový projekt
Student si volí právě jeden z trojice předmětů Softwarový projekt, Výzkumný projekt a Firemní projekt.
| kód | Předmět | Kredity | ZS | LS | |
| NPRG069 | Softwarový projekt | 12 | 0/8 Z | 0/8 Z | |
| NPRG070 | Výzkumný projekt | 9 | 0/6 Z | 0/6 Z | |
| NPRG071 | Firemní projekt | 6 | 0/4 Z | 0/4 Z | |
| NPRG072 | Zvýšený rozsah projektu | 3 | 0/2 Z | 0/2 Z | |
Povinně volitelné profilující předměty
Je požadováno splnění povinně volitelných profilujících předmětů z následujícího seznamu v rozsahu alespoň 41 kreditů. Předměty je doporučené volit tak, aby pokrývaly zvolené studijní okruhy státní závěrečné zkoušky.
| kód | Předmět | Kredity | ZS | LS | |
| NPRG014 | Koncepty moderních programovacích jazyků | 4 | 0/3 Z | — | |
| NPRG042 | Programování v paralelním prostředí | 6 | — | 2/2 KZ | |
| NPRG043 | Doporučené postupy v programování | 5 | — | 2/2 KZ | |
| NPRG024 | Návrhové vzory | 3 | — | 0/2 KZ | |
| NSWI126 | Pokročilé nástroje pro vývoj a monitorování software | 2 | 0/2 Z | — | |
| NSWI150 | Virtualizace a cloud computing | 3 | 2/0 Zk | — | |
| NSWI153 | Pokročilý vývoj webových aplikací | 5 | — | 2/2 Z+Zk | |
| NSWI144 | Data na Webu | 5 | — | 2/1 Z+Zk | |
| NSWI130 | Architektury softwarových systémů | 5 | 2/2 Z+Zk | — | |
| NSWI026 | Praktické aspekty softwarového inženýrství | 5 | — | 2/2 Z+Zk | |
| NTIN043 | Formální základy softwarového inženýrství | 5 | 2/2 Z+Zk | — | |
| NDBI034 | Vyhledávání multimediálního obsahu na webu | 4 | 2/1 Z+Zk | — | |
| NDBI040 | Moderní databázové systémy | 5 | — | 2/2 Z+Zk | |
| NDBI048 | Data Science | 5 | 2/2 Z+Zk | — | |
| NDBI042 | Techniky vizualizace dat | 4 | — | 2/1 Z+Zk | |
| NPFL138 | Hluboké učení | 8 | — | 3/4 Z+Zk | |
| NDBI023 | Dobývání znalostí | 5 | — | 2/2 Z+Zk | |
| NDBI049 | Dotazovací jazyky | 3 | 2/0 Zk | — | |
| NDBI021 | Uživatelské preference a pokročilé metody doporučování | 4 | 2/1 Z+Zk | — | |
| NSWI072 | Algoritmy komprese dat | 3 | 2/0 Zk | — | |
Povinně volitelné předměty
Je požadováno splnění povinně volitelných předmětů z následujícího seznamu v rozsahu alespoň 15 kreditů.
| kód | Předmět | Kredity | ZS | LS | |
| NMAI060 | Pravděpodobnostní metody | 3 | 2/0 Zk | — | |
| NPRG054 | Vývoj vysoce výkonného software | 6 | — | 2/2 KZ | |
| NPRG058 | Pokročilé programování v paralelním prostředí | 6 | 2/2 Z+Zk | — | |
| NSWI035 | Principy distribuovaných systémů | 3 | 2/0 Zk | — | |
| NSWI080 | Middleware | 4 | — | 2/1 KZ | |
| NSWI101 | Modely a verifikace chování systémů | 5 | 2/2 Z+Zk | — | |
| NSWI131 | Vyhodnocování výkonnosti počítačových systémů | 4 | — | 2/1 Z+Zk | |
| NSWI149 | Softwarové inženýrství v praxi | 3 | — | 2/0 Z | |
| NSWI152 | Vývoj cloudových aplikací | 3 | — | 0/2 Z | |
| NTIN067 | Datové struktury 2 | 3 | — | 2/0 Zk | |
| NSWI166 | Úvod do doporučovacích systémů a uživatelských preferencí | 4 | — | 2/1 Z+Zk | |
| NPFL129 | Úvod do strojového učení v Pythonu | 5 | 2/2 Z+Zk | — | |
Státní závěrečná zkouška
Student si vybere tři okruhy podle zvoleného zaměření. Dva z těchto okruhů jsou povinné pro zvolené zaměření, třetí je volitelný.
Zkušební okruhy
- 1. Analýza a architektury software (povinný pro zaměření: Softwarové inženýrství)
- 2. Rozšířené programování (povinný pro zaměření: Softwarové inženýrství, Vývoj software)
- 3. Softwarové technologie (povinný pro zaměření: Vývoj software)
- 4. Webové technologie (povinný pro zaměření: Webové inženýrství)
- 5. Formální základy databázových systémů a dotazovací jazyky (povinný pro zaměření: Webové inženýrství, Databázové systémy)
- 6. Implementace databázových systémů (povinný pro zaměření: Databázové systémy)
- 7. Zpracování rozsáhlých a nestrukturovaných dat (povinný pro zaměření: Analýza a zpracování rozsáhlých dat)
- 8. Data mining (povinný pro zaměření: Analýza a zpracování rozsáhlých dat)
Zkušební požadavky
1. Analýza a architektury software
Procesy vývoje SW a jejich fáze. Analýza požadavků na SW - principy, postupy, využití jazyka UML (popis struktury a chování SW). Principy a postupy návrhu SW. Testování SW (V-model, činnosti v testování, typy testů, testovací techniky). Projektové řízení (SW projekt, metody projektového řízení, plánování SW projektů). SW architektura a její význam v procesu vývoje SW. Notace pro modelování a dokumentaci SW architektury (Bass, 4+1, ArchiMate, C4 model, apod). Druhy pohledů na SW architekturu a jejich význam. Klasifikace atributů kvality SW architektury, jejich popis pomocí scénářů a taktik. Architektonické vzory. Monolit, modularizovaný monolit, microservices, servisně orientovaná architektura, doménově-řízená architektura. Algebraické metody formálních specifikací, vícedruhové algebry, iniciální modely. Temporální logika. Formální základy jazyka UML. OCL jako specifikační jazyk a formální základy dle specifikace.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NSWI130 | Architektury softwarových systémů | 5 | 2/2 Z+Zk | — | |
| NSWI026 | Praktické aspekty softwarového inženýrství | 5 | — | 2/2 Z+Zk | |
| NTIN043 | Formální základy softwarového inženýrství | 5 | 2/2 Z+Zk | — | |
2. Rozšířené programování
Moderní konstrukce a pokročilé aspekty programovacích jazyků. Generické programování a metaprogramování, generika a šablony, politiky, traits, typová dedukce, reflexe. Výjimky a bezpečné programování v prostředí s výjimkami. Implementace objektových vlastností, běhová podpora, volací konvence, garbage collection. Paralelní programování, Amdahlův zákon, synchronizační primitiva, task stealing. Návrhové vzory a jejich využití. Skriptovací jazyky, prototype-based jazyky. Domain Specific Languages. Funkcionální programování. Principy tvorby kvalitního kódu, doporučené postupy, refaktorizace. Testování funkčnosti, hledání chyb, monitorování programů.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NPRG014 | Koncepty moderních programovacích jazyků | 4 | 0/3 Z | — | |
| NPRG024 | Návrhové vzory | 3 | — | 0/2 KZ | |
| NPRG043 | Doporučené postupy v programování | 5 | — | 2/2 KZ | |
| NPRG042 | Programování v paralelním prostředí | 6 | — | 2/2 KZ | |
3. Softwarové technologie
Architektury operačních systémů, správa procesů, správa paměti, komunikace a synchronizace, paralelismus, virtualizace, stránkování. Souborové systémy, přístupová práva a bezpečnost. Multiplatformní a přenositelné aplikace. Testování a monitorování funkčnosti a výkonnosti. Architektura webových aplikací, skriptování na straně serveru a klienta. Cloudové služby, IaaS, PaaS a SaaS. Virtualizace, hardwarově asistovaná virtualizace, paravirtualizace, kontejnery, Linux namespaces, cgroups, docker, orchestrace, edge computing, IoT. Vyvažování zátěže, vysoká dostupnost. MapReduce.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NSWI126 | Pokročilé nástroje pro vývoj a monitorování software | 2 | 0/2 Z | — | |
| NSWI153 | Pokročilý vývoj webových aplikací | 5 | — | 2/2 Z+Zk | |
| NSWI150 | Virtualizace a cloud computing | 3 | 2/0 Zk | — | |
4. Webové technologie
Obecný přehled základní webových technologií. Síťové služby pro webové technologie. Architektura klient-server aplikací, skriptování na straně serveru a klienta, webové frameworky. Použití databázových systémů ve webových aplikacích, NoSQL databáze, multimediální databáze. Indexace a prohledávání dokumentů, principy fungování webových vyhledávačů. Linked Data - principy, datový model RDF a jeho serializace, dotazovací jazyk SPARQL, často používané slovníky, SHACL, Solid.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NSWI130 | Architektury softwarových systémů | 5 | 2/2 Z+Zk | — | |
| NSWI153 | Pokročilý vývoj webových aplikací | 5 | — | 2/2 Z+Zk | |
| NSWI144 | Data na Webu | 5 | — | 2/1 Z+Zk | |
| NDBI034 | Vyhledávání multimediálního obsahu na webu | 4 | 2/1 Z+Zk | — | |
| NDBI040 | Moderní databázové systémy | 5 | — | 2/2 Z+Zk | |
5. Formální základy databázových systémů a dotazovací jazyky
Relační kalkuly, relační algebry. Relační úplnost. Bezpečné výrazy, ekvivalence relačních dotazovacích jazyků. Věta o tranzitivním uzávěru relace. Sémantika SQL. Standardy SQL. Objektové rozšíření relačního modelu dat. Databáze textů – Booleovský a vektorový model, vyhledávání a indexování, uspořádání odpovědí, top-k operátor. Datalog. Rekurze v SQL. Datový model XML. Datový model RDF a jeho serializace, dotazovací jazyk SPARQL, RDF Schema a reasoning/inference. Podobnostní vyhledávání v multimediálních databázích, modelování a extrakce deskriptorů, metrické indexační metody.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NSWI144 | Data na Webu | 5 | — | 2/1 Z+Zk | |
| NDBI034 | Vyhledávání multimediálního obsahu na webu | 4 | 2/1 Z+Zk | — | |
| NDBI049 | Dotazovací jazyky | 3 | 2/0 Zk | — | |
| NDBI021 | Uživatelské preference a pokročilé metody doporučování | 4 | 2/1 Z+Zk | — | |
6. Implementace databázových systémů
Transakce – ACID a vlastnosti rozvrhů; uzamykací protokoly a uváznutí; distribuované transakce (2PC protokol); zotavení z chyb, žurnály. Distribuce s horizontální fragmentací, implementace NoSQL databází, CAP teorém. Indexace relačních dat. Přístupové metody k prostorovým objektům. Algoritmy implementace relačních operací, agregačních funkcí. Vyhodnocování a optimalizace dotazů. Komprese dat: Huffmanovo kódování, aritmetické kódování, LZ algoritmy, Burrows-Wheelerova transformace.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NSWI072 | Algoritmy komprese dat | 3 | 2/0 Zk | — | |
| NDBI040 | Moderní databázové systémy | 5 | — | 2/2 Z+Zk | |
| NTIN066 | Datové struktury 1 | 6 | 2/2 Z+Zk | — | |
7. Zpracování rozsáhlých a nestrukturovaných dat
Distribuce s horizontální fragmentací, implementace NoSQL databází, CAP teorém. Big Data management - distribuce, škálování, replikace, transakce. Paralelní a distribuované zpracování rozsáhlých dat, MapReduce. Úložiště typu klíč - hodnota. Sloupcová úložiště. Dokumentová úložiště. Modely pro fulltextové dotazování - vektorový, booleovský model, uspořádání odpovědí, top-k operátor. Podobnostní vyhledávání v multimediálních databázích, modelování a extrakce deskriptorů, metrické indexační metody. Techniky vizualizace dat - redukce dimenze (PCA, MDS, t-SNE, UMAP), vizualizace grafových dat (force directed placement algoritmy, multi-scale algoritmy). Data science a metoda CRISP-DM - příprava, modelování a vyhodnocení. Základní statistické modely v data science. Modelování preferencí, varianty zpětné vazby od uživatele, doporučovací systémy.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NDBI040 | Moderní databázové systémy | 5 | — | 2/2 Z+Zk | |
| NDBI034 | Vyhledávání multimediálního obsahu na webu | 4 | 2/1 Z+Zk | — | |
| NDBI042 | Techniky vizualizace dat | 4 | — | 2/1 Z+Zk | |
| NDBI048 | Data Science | 5 | 2/2 Z+Zk | — | |
| NDBI021 | Uživatelské preference a pokročilé metody doporučování | 4 | 2/1 Z+Zk | — | |
8. Data mining
Základní principy databázových systémů, datových skladů a technologie OLAP. Dobývání znalostí z databází - příprava dat a jejich předzpracování, techniky pro popis konceptů, metody pro dobývání asociativních pravidel, metody pro klasifikaci a predikci dat, metody pro klastrovou analýzu, dobývání znalostí v databázových systémech. Statistické metody pro data mining. Hledání různých typů závislostí. Bayesovská analýza, bayesovské sítě. Pravděpodobnostní modely dokumentografického informačního systému. Metody řízeného učení pro klasifikaci a regresi. Support Vector Machines a kernelové funkce. Evaluace experimentů. Techniky vizualizace dat - redukce dimenze (PCA, MDS, t-SNE, UMAP), vizualizace grafových dat (force directed placement algoritmy, multi-scale algoritmy). Data science a metoda CRISP-DM - příprava, modelování a vyhodnocení. Základní statistické modely v data science.
Doporučené předměty
| kód | Předmět | Kredity | ZS | LS | |
| NDBI023 | Dobývání znalostí | 5 | — | 2/2 Z+Zk | |
| NAIL029 | Strojové učení | 3 | — | 2/0 Zk | |
| NDBI042 | Techniky vizualizace dat | 4 | — | 2/1 Z+Zk | |
| NDBI048 | Data Science | 5 | 2/2 Z+Zk | — | |
Plán D - Double-degree studijní plán
Tento studijní plán studijního programu „Informatika - Softwarové a datové inženýrství“ je organizován ve spolupráci mezi Univerzitou Karlovou a Univerzitou v Pasově (dále partneři). Nabízí studentům možnost studovat ve dvou akademických prostředích a získat prestižní dvojí diplom:
- – Master of Science in Computer Science (Univerzita v Pasově)
- – Magistr (Mgr.) v oboru Informatika – Softwarové a datové inženýrství (Univerzita Karlova)
Studenti získají dovednosti v oblasti softwarového inženýrství, vývoje softwaru, webového inženýrství, databázových systémů a zpracování velkých dat, což jim umožní pracovat v široké škále oblastí informatiky v mezinárodním prostředí. Cílem programu je získat odborné znalosti v oblasti analýzy, návrhu a vývoje komplexních softwarových řešení a systémů zaměřených na zpracování velkých dat. Portfolio nabízených předmětů zahrnuje několik technologických platforem, od klasických webových až po moderní cloudová a distribuovaná řešení.
Studenti stráví první rok na své domovské univerzitě a druhý rok na hostitelské univerzitě.
Předměty a kredity
Studenti musí získat ECTS kredity zápisem do předmětů a seminářů uvedených ve studijním plánu a úspěšným složením zkoušek. Požadavky na ECTS kredity jsou popsány níže.
Studijní plán zahrnuje povinné předměty i povinně volitelné předměty:
- – Povinné předměty jsou předměty, které každý student musí absolvovat.
- – Povinně volitelné předměty jsou předměty, které si každý student musí vybrat ze seznamu a absolvovat, aby splnil kritéria pro povinně volitelné předměty uvedená ve studijním plánu.
- – Ostatní předměty nabízené na partnerských univerzitách, které nejsou uvedeny jako povinné nebo povinně volitelné předměty, jsou označeny jako volitelné předměty.
Následující tabulky ukazují povinné předměty s příslušnými ECTS kredity a možnou zaměnitelností předmětů. Zaměnitelné předměty sdílejí více než 70 % obsahu, a proto je lze používat zaměnitelně (ale student se může zapsat pouze na jeden ze zaměnitelných předmětů).
3.1 Povinné předměty
Následující tabulka uvádí seznam povinných předmětů vyučovaných na Univerzitě Karlově:
| kód | Předmět | Kredity | ZS | LS | |
| NTIN090 | Základy složitosti a vyčíslitelnosti | 4 | 2/1 Z+Zk | — | |
| NTIN066 | Datové struktury 1 | 6 | — | 2/2 Z+Zk | |
| NSZZ023 | Diplomová práce I | 6 | — | 0/4 Z | |
| NSZZ024 | Diplomová práce II | 9 | 0/6 Z | — | |
| NSZZ025 | Diplomová práce III | 15 | — | 0/10 Z | |
Následující tabulka uvádí seznam povinných předmětů vyučovaných na Univerzitě v Pasově:
| kód | Předmět | Kredity | ZS | LS | |
| NUPA037 | Seminar | 5 | 0/2 Z | — | |
| NUPA035 | Presentation of the Master’s Thesis | 3 | — | 0/4 Z | |
| NUPA036 | Master’s Thesis in Computer Science | 27 | — | 0/18 Z | |
Předměty s kódy začínajícími na NUPA, uvedenými ve Studijním informačním systému Univerzity Karlovy, slouží jako „virtuální zrcadla“ odpovídajících předmětů na Univerzitě v Pasově. Tyto předměty se vyučují pouze na Univerzitě v Pasově.
Některé předměty nebo skupiny předmětů nabízených na Univerzitě Karlově a Univerzitě v Pasově jsou považovány za zaměnitelné. To znamená, že studenti si mohou vybrat kterýkoli z nich, aby splnili příslušný studijní požadavek (ale nesmějí si zapsat oba).
Zaměnitelnost povinných předmětů je následující:
- – Předmět Základy složitosti a vyčíslitelnosti (NTIN090) je zaměnitelný s předmětem Computational Complexity Theory (NUPA038).
- – Skupina předmětů Diplomová práce I (NSZZ023), Diplomová práce II (NSZZ024) a Diplomová práce III (NSZZ025) je zaměnitelná se skupinou předmětů Presentation of the Master’s Thesis (NUPA035) a Master’s Thesis in Computer Science (NUPA036).
3.2 Povinně volitelné předměty - Týmové projektové předměty
Student si vybere jeden projektový předmět ze čtyř nabízených (Mezinárodní výzkumný projekt, Softwarový projekt, Výzkumný projekt, Firemní projekt). Vzhledem k dalším studijním povinnostem je doporučenou (ale nikoli povinnou) možností jednosemestrální předmět Mezinárodní výzkumný projekt (NPRG081).
| kód | Předmět | Kredity | ZS | LS | |
| NPRG081 | Mezinárodní výzkumný projekt | 6 | 0/6 Z | 0/6 Z | |
| NPRG069 | Softwarový projekt | 12 | 0/8 Z | 0/8 Z | |
| NPRG070 | Výzkumný projekt | 9 | 0/6 Z | 0/6 Z | |
| NPRG071 | Firemní projekt | 6 | 0/4 Z | 0/4 Z | |
| NPRG072 | Zvýšený rozsah projektu | 3 | 0/2 Z | 0/2 Z | |
3.3 Povinně volitelné předměty - Profilující předměty
Předměty na Univerzitě v Pasově jsou rozděleny do modulových skupin. Společný double-degree program je úzce spojen se dvěma z nich:
- – ProgSoft (Programovací metody a softwarové systémy) – zaměřuje se na programovací paradigmata, kompilátory, analýzu programů, softwarové inženýrství, softwarové architektury a metody ověřování.
- – InfKomm (Informační a komunikační systémy) – zahrnuje databáze, distribuované systémy, multimediální systémy, cloudové a IoT zpracování dat, soukromí a bezpečnost a datovou vědu.
Do těchto skupin byly také přiřazeny vybrané předměty ze standardního studijního plánu Univerzity Karlovy, aby se zjednodušily níže popsané požadavky na ECTS kredity.
Následující tabulka uvádí předměty z Univerzity Karlovy, které jsou přiřazeny do skupiny InfKomm:
| kód | Předmět | Kredity | ZS | LS | |
| NSWI144 | Data na Webu | 5 | — | 2/1 Z+Zk | |
| NDBI034 | Vyhledávání multimediálního obsahu na webu | 4 | 2/1 Z+Zk | — | |
| NDBI040 | Moderní databázové systémy | 5 | — | 2/2 Z+Zk | |
| NDBI042 | Techniky vizualizace dat | 4 | — | 2/1 Z+Zk | |
| NPFL138 | Hluboké učení | 8 | — | 3/4 Z+Zk | |
| NDBI023 | Dobývání znalostí | 5 | — | 2/2 Z+Zk | |
| NDBI049 | Dotazovací jazyky | 3 | 2/0 Zk | — | |
| NDBI021 | Uživatelské preference a pokročilé metody doporučování | 4 | 2/1 Z+Zk | — | |
| NSWI080 | Middleware | 4 | — | 2/1 KZ | |
| NSWI101 | Modely a verifikace chování systémů | 5 | 2/2 Z+Zk | — | |
| NSWI131 | Vyhodnocování výkonnosti počítačových systémů | 4 | — | 2/1 Z+Zk | |
| NSWI166 | Úvod do doporučovacích systémů a uživatelských preferencí | 4 | — | 2/1 Z+Zk | |
Následující tabulka uvádí předměty z Univerzity Karlovy, které jsou přiřazeny do skupiny ProgSoft:
| kód | Předmět | Kredity | ZS | LS | |
| NPRG014 | Koncepty moderních programovacích jazyků | 4 | 0/3 Z | — | |
| NSWI126 | Pokročilé nástroje pro vývoj a monitorování software | 2 | 0/2 Z | — | |
| NPRG058 | Pokročilé programování v paralelním prostředí | 6 | 2/2 Z+Zk | — | |
| NSWI153 | Pokročilý vývoj webových aplikací | 5 | — | 2/2 Z+Zk | |
| NSWI130 | Architektury softwarových systémů | 5 | 2/2 Z+Zk | — | |
| NTIN043 | Formální základy softwarového inženýrství | 5 | 2/2 Z+Zk | — | |
Následující tabulka uvádí předměty z Univerzity v Pasově, které jsou přiřazeny do skupiny InfKomm:
| kód | Předmět | Kredity | ZS | LS | |
| NUPA023 | Foundations of Energy Systems | 6 | 2/2 Zk | — | |
| NUPA024 | Safety and Security of Critical Infrastructures | 6 | — | 2/2 Zk | |
| NUPA025 | Methodological Foundations of Distributed Systems | 6 | — | 2/2 Zk | |
| NUPA026 | Multimedia Databases | 7 | — | 3/2 Zk | |
| NUPA027 | Data Modelling and Data Processing in the Internet of Things | 5 | — | 2/1 Zk | |
| NUPA028 | Privacy-Preservation Technologies in Information Systems | 5 | 2/1 Zk | — | |
| NUPA029 | Data Science Lab | 6 | 0/4 Zk | — | |
| NUPA030 | Advanced Topics in Data Science | 5 | 2/1 Zk | — | |
| NUPA001 | Scaling Database Systems | 6 | 2/2 Zk | — | |
| NUPA031 | Reproducibility Engineering | 6 | 2/2 Zk | — | |
| NUPA032 | Introduction to Deep Learning | 6 | 2/2 Zk | — | |
| NUPA033 | Applied Artificial Intelligence Lab | 6 | 0/4 Zk | — | |
| NUPA034 | Computational Linguistics | 6 | — | 2/2 Zk | |
| NUPA022 | Research Seminar for the Focus InfKomm | 5 | 0/2 Z | 0/2 Z | |
Následující tabulka uvádí předměty z Univerzity v Pasově, které jsou přiřazeny do skupiny ProgSoft:
| kód | Předmět | Kredity | ZS | LS | |
| NUPA002 | Practical Parallel Programming | 7 | — | 3/2 Zk | |
| NUPA003 | Dependence Analysis | 6 | — | 2/2 Zk | |
| NUPA004 | Loop Parallelisation | 6 | — | 2/2 Zk | |
| NUPA005 | Functional Programming | 6 | — | 2/2 Zk | |
| NUPA006 | Virtual Machines and Runtime Systems | 6 | 2/2 Zk | — | |
| NUPA007 | Domain-Specific Languages | 6 | — | 2/2 Zk | |
| NUPA008 | Software Analysis | 6 | — | 2/2 Zk | |
| NUPA009 | Advanced Software Product Development | 10 | 2/4 Zk | — | |
| NUPA010 | Search-Based Software Engineering | 6 | 2/2 Zk | — | |
| NUPA011 | Mobile Security | 6 | — | 2/2 Zk | |
| NUPA012 | Program Repair | 6 | — | 2/2 Zk | |
| NUPA013 | Secure Information Flow | 6 | — | 2/2 Zk | |
| NUPA014 | Engineering Dependable Software | 6 | — | 2/2 Zk | |
| NUPA015 | Object-Oriented Programming with C++ | 6 | — | 2/2 Zk | |
| NUPA016 | Compiler Construction | 9 | — | 4/2 Zk | |
| NUPA017 | Reverse and Reengineering | 6 | 2/2 Zk | — | |
| NUPA018 | Software-Projektmanagement | 7 | — | 3/1 Zk | |
| NUPA019 | Principles of AI Engineering | 6 | 2/2 Zk | 2/2 Zk | |
| NUPA020 | Requirements Engineering | 6 | 2/2 Zk | — | |
| NUPA021 | Research Seminar for the Focus ProgSoft | 5 | 0/2 Z | 0/2 Z | |
Zaměnitelnost povinně volitelných předmětů je následující:
- – Předmět Analýza programů a verifikace kódu (NSWI132) je zaměnitelný s předmětem Software Analysis (NUPA008).
- – Předmět Programování v C++ (NPRG041) je zaměnitelný s předmětem Object-Oriented Programming with C++ (NUPA015).
- – Předmět Principy překladačů (NSWI098) je zaměnitelný s předmětem Compiler Construction (NUPA016).
- – Předmět Data Science (NDBI048) je zaměnitelný s předmětem Data Science Lab (NUPA029).
- – Předmět Hluboké učení (NPFL114) je zaměnitelný s předmětem Introduction to Deep Learning (NUPA032).
Společné požadavky na ECTS kredity jsou následující:
- – Celkem je vyžadováno získání alespoň 120 ECTS kreditů.
- – Pro postup do druhého ročníku je vyžadováno alespoň 45 ECTS kreditů.
- – Z předmětů každého partnera je vyžadováno získání alespoň 30 ECTS kreditů (bez ECTS kreditů za diplomovou práci).
Požadavky na ECTS kredity ověřované na Univerzitě v Pasově jsou následující:
- – Alespoň 40 ECTS kreditů za předměty ze skupiny ProgSoft a alespoň 30 ECTS kreditů za předměty mimo skupinu ProgSoft (bez ECTS kreditů za diplomovou práci), NEBO
- – alespoň 40 ECTS kreditů za předměty ze skupiny InfKomm a alespoň 30 ECTS kreditů za předměty mimo skupinu InfKomm (bez ECTS kreditů za diplomovou práci).
Požadavek na ECTS kredity ověřovaný na Univerzitě Karlově je následující:
- – Alespoň 50 ECTS kreditů za povinně volitelné předměty (tj. předměty ze skupin ProgSoft nebo InfKomm).
3.2 Doporučený průběh studia
Vzhledem k tomu, že studenti stráví na každé z obou univerzit právě jeden zimní a jeden letní semestr, zapisují si primárně povinné předměty nabízené na příslušné univerzitě v daném semestru a vybírají si z jejích povinně volitelných předmětů. Výběr předmětů si mohou dále doplnit o volitelné předměty.
Univerzita Karlova: 1. ročník - zimní semestr
| kód | Předmět | Kredity | ZS | LS | |
| NTIN090 | Základy složitosti a vyčíslitelnosti | 4 | 2/1 Z+Zk | — | |
| NDBI034 | Vyhledávání multimediálního obsahu na webu | 4 | 2/1 Z+Zk | — | |
| NDBI049 | Dotazovací jazyky | 3 | 2/0 Zk | — | |
| NSWI101 | Modely a verifikace chování systémů | 5 | 2/2 Z+Zk | — | |
| NDBI021 | Uživatelské preference a pokročilé metody doporučování | 4 | 2/1 Z+Zk | — | |
| NPRG014 | Koncepty moderních programovacích jazyků | 4 | 0/3 Z | — | |
| NPRG058 | Pokročilé programování v paralelním prostředí | 6 | 2/2 Z+Zk | — | |
| NSWI130 | Architektury softwarových systémů | 5 | 2/2 Z+Zk | — | |
| NTIN043 | Formální základy softwarového inženýrství | 5 | 2/2 Z+Zk | — | |
Univerzita Karlova: 1. ročník - letní semestr
| kód | Předmět | Kredity | ZS | LS | |
| NTIN066 | Datové struktury 1 | 6 | — | 2/2 Z+Zk | |
| NPRG081 | Mezinárodní výzkumný projekt | 6 | — | 0/6 Z | |
| NSWI144 | Data na Webu | 5 | — | 2/1 Z+Zk | |
| NDBI040 | Moderní databázové systémy | 5 | — | 2/2 Z+Zk | |
| NDBI042 | Techniky vizualizace dat | 4 | — | 2/1 Z+Zk | |
| NPFL138 | Hluboké učení | 8 | — | 3/4 Z+Zk | |
| NDBI023 | Dobývání znalostí | 5 | — | 2/2 Z+Zk | |
| NSWI166 | Úvod do doporučovacích systémů a uživatelských preferencí | 4 | — | 2/1 Z+Zk | |
| NSWI080 | Middleware | 4 | — | 2/1 KZ | |
| NSWI131 | Vyhodnocování výkonnosti počítačových systémů | 4 | — | 2/1 Z+Zk | |
| NSWI126 | Pokročilé nástroje pro vývoj a monitorování software | 2 | 0/2 Z | — | |
| NSWI153 | Pokročilý vývoj webových aplikací | 5 | — | 2/2 Z+Zk | |
Univerzita v Pasově: 2. ročník - zimní semestr
| kód | Předmět | Kredity | ZS | LS | |
| NUPA037 | Seminar | 5 | 0/2 Z | — | |
| NUPA001 | Scaling Database Systems | 6 | 2/2 Zk | — | |
| NUPA006 | Virtual Machines and Runtime Systems | 6 | 2/2 Zk | — | |
| NUPA009 | Advanced Software Product Development | 10 | 2/4 Zk | — | |
| NUPA010 | Search-Based Software Engineering | 6 | 2/2 Zk | — | |
| NUPA017 | Reverse and Reengineering | 6 | 2/2 Zk | — | |
| NUPA019 | Principles of AI Engineering | 6 | 2/2 Zk | 2/2 Zk | |
| NUPA020 | Requirements Engineering | 6 | 2/2 Zk | — | |
| NUPA023 | Foundations of Energy Systems | 6 | 2/2 Zk | — | |
| NUPA028 | Privacy-Preservation Technologies in Information Systems | 5 | 2/1 Zk | — | |
| NUPA029 | Data Science Lab | 6 | 0/4 Zk | — | |
| NUPA030 | Advanced Topics in Data Science | 5 | 2/1 Zk | — | |
| NUPA031 | Reproducibility Engineering | 6 | 2/2 Zk | — | |
| NUPA032 | Introduction to Deep Learning | 6 | 2/2 Zk | — | |
| NUPA033 | Applied Artificial Intelligence Lab | 6 | 0/4 Zk | — | |
Univerzita v Pasově: 2. ročník - letní semestr
| kód | Předmět | Kredity | ZS | LS | |
| NUPA035 | Presentation of the Master’s Thesis | 3 | — | 0/4 Z | |
| NUPA036 | Master’s Thesis in Computer Science | 27 | — | 0/18 Z | |
| NUPA002 | Practical Parallel Programming | 7 | — | 3/2 Zk | |
| NUPA003 | Dependence Analysis | 6 | — | 2/2 Zk | |
| NUPA004 | Loop Parallelisation | 6 | — | 2/2 Zk | |
| NUPA005 | Functional Programming | 6 | — | 2/2 Zk | |
| NUPA007 | Domain-Specific Languages | 6 | — | 2/2 Zk | |
| NUPA008 | Software Analysis | 6 | — | 2/2 Zk | |
| NUPA011 | Mobile Security | 6 | — | 2/2 Zk | |
| NUPA012 | Program Repair | 6 | — | 2/2 Zk | |
| NUPA013 | Secure Information Flow | 6 | — | 2/2 Zk | |
| NUPA014 | Engineering Dependable Software | 6 | — | 2/2 Zk | |
| NUPA015 | Object-Oriented Programming with C++ | 6 | — | 2/2 Zk | |
| NUPA016 | Compiler Construction | 9 | — | 4/2 Zk | |
| NUPA018 | Software-Projektmanagement | 7 | — | 3/1 Zk | |
| NUPA024 | Safety and Security of Critical Infrastructures | 6 | — | 2/2 Zk | |
| NUPA025 | Methodological Foundations of Distributed Systems | 6 | — | 2/2 Zk | |
| NUPA026 | Multimedia Databases | 7 | — | 3/2 Zk | |
| NUPA027 | Data Modelling and Data Processing in the Internet of Things | 5 | — | 2/1 Zk | |
| NUPA034 | Computational Linguistics | 6 | — | 2/2 Zk | |
Diplomová práce
Téma diplomové práce si student vybere nejlépe (ale ne nutně) ve druhém ročníku na hostitelské univerzitě, v souladu s jejími předpisy. Diplomová práce je psána v angličtině a vypracovávána pod společným vedením vedoucího a konzultanta z obou partnerských univerzit.
Diplomová práce by měla prokázat schopnost studenta provádět samostatnou vědeckou práci a aplikovat vhodné výzkumné metody na definované téma. Musí být odevzdávána a obhájena v souladu s předpisy univerzity, kde je oficiálně vypsána a zadána. Vedoucí a konzultant společně zajišťují, aby diplomová práce splňovala akademické standardy a požadavky obou institucí.
Státní závěrečná zkouška
Studium je úspěšně ukončeno složením státní závěrečné zkoušky. Státní závěrečná zkouška se koná před komisí složenou z členů navržených společně oběma partnery a schválených v souladu s příslušnými pravidly a předpisy obou partnerů. Zkouška bude sestávat z obhajoby diplomové práce a ústní zkoušky. Obě části se budou konat v uvedeném pořadí, tj. nejprve obhajoba, poté ústní část. Pro dokončení studia musí student úspěšně složit obě části. Ústní zkouška se bude konat bezprostředně po úspěšné obhajobě diplomové práce. Bude probíhat formou odborné diskuse na témata úzce související s tématem předkládané diplomové práce.
Student se může přihlásit k závěrečné (státní) zkoušce po získání alespoň 90 ECTS kreditů, splnění minimálních požadavků na kredity ECTS uvedených výše (s výjimkou celkového počtu 120 ECTS kreditů) a odevzdání diplomové práce. Zbývající ECTS kredity za diplomovou práci budou uděleny po úspěšné obhajobě práce, před ústní zkouškou.
Student má nárok na jeden řádný pokus a maximálně dva opravné pokusy o státní závěrečnou zkoušku. Kvalita práce a správnost odpovědí na otázky komise se hodnotí samostatně. Komplexní výsledná známka se uděluje na základě dvou dílčích známek.
Převod známek
- –A (ECTS) = "Výborně" = "Excellent" (in English) = 1,3 (Univerzita v Pasově)
- –B (ECTS) = "Výborně" = "Excellent" (in English) = 1,7 (Univerzita v Pasově)
- –B (ECTS) = "Velmi dobře" = "Very good" (in English) = 2,0 (Univerzita v Pasově)
- –C (ECTS) = "Velmi dobře" = "Very good" (in English) = 2,3 (Univerzita v Pasově)
- –C (ECTS) = "Velmi dobře" = "Very good" (in English) = 2,7 (Univerzita v Pasově)
- –D (ECTS) = "Dobře" = "Good" (in English) = 3,0 (Univerzita v Pasově)
- –D (ECTS) = "Dobře" = "Good" (in English) = 3,3 (Univerzita v Pasově)
- –E (ECTS) = "Dobře" = "Good" (in English) = 3,7 (Univerzita v Pasově)
- –E (ECTS) = "Dobře" = "Good" (in English) = 4,0 (Univerzita v Pasově)
- –F (ECTS) = "Nedostatečný" = "Fail" (in English) = 4,3 (Univerzita v Pasově)
- –F (ECTS) = "Nedostatečný" = "Fail" (in English) = 4,7 (Univerzita v Pasově)
- –F (ECTS) = "Nedostatečný" = "Fail" (in English) = 5,0 (Univerzita v Pasově)

