Podrobnější hledání
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
zavřít

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.

Tento studijní program má dva studijní plány:
– 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ódPředmětKredityZSLS
NTIN090Základy složitosti a vyčíslitelnosti 42/1 Z+Zk—
NTIN066Datové struktury 1 62/2 Z+Zk—
NSZZ023Diplomová práce I 6—0/4 Z
NSZZ024Diplomová práce II 90/6 Z—
NSZZ025Diplomová 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ódPředmětKredityZSLS
NPRG069Softwarový projekt 120/8 Z0/8 Z
NPRG070Výzkumný projekt 90/6 Z0/6 Z
NPRG071Firemní projekt 60/4 Z0/4 Z
NPRG072Zvýšený rozsah projektu 30/2 Z0/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ódPředmětKredityZSLS
NPRG014Koncepty moderních programovacích jazyků 40/3 Z—
NPRG042Programování v paralelním prostředí 6—2/2 KZ
NPRG043Doporučené postupy v programování 5—2/2 KZ
NPRG024Návrhové vzory 3—0/2 KZ
NSWI126Pokročilé nástroje pro vývoj a monitorování software 20/2 Z—
NSWI150Virtualizace a cloud computing 32/0 Zk—
NSWI153Pokročilý vývoj webových aplikací 5—2/2 Z+Zk
NSWI144Data na Webu 5—2/1 Z+Zk
NSWI130Architektury softwarových systémů 52/2 Z+Zk—
NSWI026Praktické aspekty softwarového inženýrství 5—2/2 Z+Zk
NTIN043Formální základy softwarového inženýrství 52/2 Z+Zk—
NDBI034Vyhledávání multimediálního obsahu na webu 42/1 Z+Zk—
NDBI040Moderní databázové systémy 5—2/2 Z+Zk
NDBI048Data Science 52/2 Z+Zk—
NDBI042Techniky vizualizace dat 4—2/1 Z+Zk
NPFL138Hluboké učení 8—3/4 Z+Zk
NDBI023Dobývání znalostí 5—2/2 Z+Zk
NDBI049Dotazovací jazyky 32/0 Zk—
NDBI021Uživatelské preference a pokročilé metody doporučování 42/1 Z+Zk—
NSWI072Algoritmy komprese dat 32/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ódPředmětKredityZSLS
NMAI060Pravděpodobnostní metody 32/0 Zk—
NPRG054Vývoj vysoce výkonného software 6—2/2 KZ
NPRG058Pokročilé programování v paralelním prostředí 62/2 Z+Zk—
NSWI035Principy distribuovaných systémů 32/0 Zk—
NSWI080Middleware 4—2/1 KZ
NSWI101Modely a verifikace chování systémů 52/2 Z+Zk—
NSWI131Vyhodnocování výkonnosti počítačových systémů 4—2/1 Z+Zk
NSWI149Softwarové inženýrství v praxi 3—2/0 Z
NSWI152Vývoj cloudových aplikací 3—0/2 Z
NTIN067Datové 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 52/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ódPředmětKredityZSLS
NSWI130Architektury softwarových systémů 52/2 Z+Zk—
NSWI026Praktické aspekty softwarového inženýrství 5—2/2 Z+Zk
NTIN043Formální základy softwarového inženýrství 52/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ódPředmětKredityZSLS
NPRG014Koncepty moderních programovacích jazyků 40/3 Z—
NPRG024Návrhové vzory 3—0/2 KZ
NPRG043Doporučené postupy v programování 5—2/2 KZ
NPRG042Programová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ódPředmětKredityZSLS
NSWI126Pokročilé nástroje pro vývoj a monitorování software 20/2 Z—
NSWI153Pokročilý vývoj webových aplikací 5—2/2 Z+Zk
NSWI150Virtualizace a cloud computing 32/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ódPředmětKredityZSLS
NSWI130Architektury softwarových systémů 52/2 Z+Zk—
NSWI153Pokročilý vývoj webových aplikací 5—2/2 Z+Zk
NSWI144Data na Webu 5—2/1 Z+Zk
NDBI034Vyhledávání multimediálního obsahu na webu 42/1 Z+Zk—
NDBI040Moderní 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ódPředmětKredityZSLS
NSWI144Data na Webu 5—2/1 Z+Zk
NDBI034Vyhledávání multimediálního obsahu na webu 42/1 Z+Zk—
NDBI049Dotazovací jazyky 32/0 Zk—
NDBI021Uživatelské preference a pokročilé metody doporučování 42/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ódPředmětKredityZSLS
NSWI072Algoritmy komprese dat 32/0 Zk—
NDBI040Moderní databázové systémy 5—2/2 Z+Zk
NTIN066Datové struktury 1 62/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ódPředmětKredityZSLS
NDBI040Moderní databázové systémy 5—2/2 Z+Zk
NDBI034Vyhledávání multimediálního obsahu na webu 42/1 Z+Zk—
NDBI042Techniky vizualizace dat 4—2/1 Z+Zk
NDBI048Data Science 52/2 Z+Zk—
NDBI021Uživatelské preference a pokročilé metody doporučování 42/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ódPředmětKredityZSLS
NDBI023Dobývání znalostí 5—2/2 Z+Zk
NAIL029Strojové učení 3—2/0 Zk
NDBI042Techniky vizualizace dat 4—2/1 Z+Zk
NDBI048Data Science 52/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ódPředmětKredityZSLS
NTIN090Základy složitosti a vyčíslitelnosti 42/1 Z+Zk—
NTIN066Datové struktury 1 6—2/2 Z+Zk
NSZZ023Diplomová práce I 6—0/4 Z
NSZZ024Diplomová práce II 90/6 Z—
NSZZ025Diplomová 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ódPředmětKredityZSLS
NUPA037Seminar 50/2 Z—
NUPA035Presentation of the Master’s Thesis 3—0/4 Z
NUPA036Master’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ódPředmětKredityZSLS
NPRG081Mezinárodní výzkumný projekt 60/6 Z0/6 Z
NPRG069Softwarový projekt 120/8 Z0/8 Z
NPRG070Výzkumný projekt 90/6 Z0/6 Z
NPRG071Firemní projekt 60/4 Z0/4 Z
NPRG072Zvýšený rozsah projektu 30/2 Z0/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ódPředmětKredityZSLS
NSWI144Data na Webu 5—2/1 Z+Zk
NDBI034Vyhledávání multimediálního obsahu na webu 42/1 Z+Zk—
NDBI040Moderní databázové systémy 5—2/2 Z+Zk
NDBI042Techniky vizualizace dat 4—2/1 Z+Zk
NPFL138Hluboké učení 8—3/4 Z+Zk
NDBI023Dobývání znalostí 5—2/2 Z+Zk
NDBI049Dotazovací jazyky 32/0 Zk—
NDBI021Uživatelské preference a pokročilé metody doporučování 42/1 Z+Zk—
NSWI080Middleware 4—2/1 KZ
NSWI101Modely a verifikace chování systémů 52/2 Z+Zk—
NSWI131Vyhodnocová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ódPředmětKredityZSLS
NPRG014Koncepty moderních programovacích jazyků 40/3 Z—
NSWI126Pokročilé nástroje pro vývoj a monitorování software 20/2 Z—
NPRG058Pokročilé programování v paralelním prostředí 62/2 Z+Zk—
NSWI153Pokročilý vývoj webových aplikací 5—2/2 Z+Zk
NSWI130Architektury softwarových systémů 52/2 Z+Zk—
NTIN043Formální základy softwarového inženýrství 52/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ódPředmětKredityZSLS
NUPA023Foundations of Energy Systems 62/2 Zk—
NUPA024Safety and Security of Critical Infrastructures 6—2/2 Zk
NUPA025Methodological Foundations of Distributed Systems 6—2/2 Zk
NUPA026Multimedia Databases 7—3/2 Zk
NUPA027Data Modelling and Data Processing in the Internet of Things 5—2/1 Zk
NUPA028Privacy-Preservation Technologies in Information Systems 52/1 Zk—
NUPA029Data Science Lab 60/4 Zk—
NUPA030Advanced Topics in Data Science 52/1 Zk—
NUPA001Scaling Database Systems 62/2 Zk—
NUPA031Reproducibility Engineering 62/2 Zk—
NUPA032Introduction to Deep Learning 62/2 Zk—
NUPA033Applied Artificial Intelligence Lab 60/4 Zk—
NUPA034Computational Linguistics 6—2/2 Zk
NUPA022Research Seminar for the Focus InfKomm 50/2 Z0/2 Z

Následující tabulka uvádí předměty z Univerzity v Pasově, které jsou přiřazeny do skupiny ProgSoft:

kódPředmětKredityZSLS
NUPA002Practical Parallel Programming 7—3/2 Zk
NUPA003Dependence Analysis 6—2/2 Zk
NUPA004Loop Parallelisation 6—2/2 Zk
NUPA005Functional Programming 6—2/2 Zk
NUPA006Virtual Machines and Runtime Systems 62/2 Zk—
NUPA007Domain-Specific Languages 6—2/2 Zk
NUPA008Software Analysis 6—2/2 Zk
NUPA009Advanced Software Product Development 102/4 Zk—
NUPA010Search-Based Software Engineering 62/2 Zk—
NUPA011Mobile Security 6—2/2 Zk
NUPA012Program Repair 6—2/2 Zk
NUPA013Secure Information Flow 6—2/2 Zk
NUPA014Engineering Dependable Software 6—2/2 Zk
NUPA015Object-Oriented Programming with C++ 6—2/2 Zk
NUPA016Compiler Construction 9—4/2 Zk
NUPA017Reverse and Reengineering 62/2 Zk—
NUPA018Software-Projektmanagement 7—3/1 Zk
NUPA019Principles of AI Engineering 62/2 Zk2/2 Zk
NUPA020Requirements Engineering 62/2 Zk—
NUPA021Research Seminar for the Focus ProgSoft 50/2 Z0/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ódPředmětKredityZSLS
NTIN090Základy složitosti a vyčíslitelnosti 42/1 Z+Zk—
NDBI034Vyhledávání multimediálního obsahu na webu 42/1 Z+Zk—
NDBI049Dotazovací jazyky 32/0 Zk—
NSWI101Modely a verifikace chování systémů 52/2 Z+Zk—
NDBI021Uživatelské preference a pokročilé metody doporučování 42/1 Z+Zk—
NPRG014Koncepty moderních programovacích jazyků 40/3 Z—
NPRG058Pokročilé programování v paralelním prostředí 62/2 Z+Zk—
NSWI130Architektury softwarových systémů 52/2 Z+Zk—
NTIN043Formální základy softwarového inženýrství 52/2 Z+Zk—

Univerzita Karlova: 1. ročník - letní semestr

kódPředmětKredityZSLS
NTIN066Datové struktury 1 6—2/2 Z+Zk
NPRG081Mezinárodní výzkumný projekt 6—0/6 Z
NSWI144Data na Webu 5—2/1 Z+Zk
NDBI040Moderní databázové systémy 5—2/2 Z+Zk
NDBI042Techniky vizualizace dat 4—2/1 Z+Zk
NPFL138Hluboké učení 8—3/4 Z+Zk
NDBI023Dobý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
NSWI080Middleware 4—2/1 KZ
NSWI131Vyhodnocování výkonnosti počítačových systémů 4—2/1 Z+Zk
NSWI126Pokročilé nástroje pro vývoj a monitorování software 20/2 Z—
NSWI153Pokročilý vývoj webových aplikací 5—2/2 Z+Zk

Univerzita v Pasově: 2. ročník - zimní semestr

kódPředmětKredityZSLS
NUPA037Seminar 50/2 Z—
NUPA001Scaling Database Systems 62/2 Zk—
NUPA006Virtual Machines and Runtime Systems 62/2 Zk—
NUPA009Advanced Software Product Development 102/4 Zk—
NUPA010Search-Based Software Engineering 62/2 Zk—
NUPA017Reverse and Reengineering 62/2 Zk—
NUPA019Principles of AI Engineering 62/2 Zk2/2 Zk
NUPA020Requirements Engineering 62/2 Zk—
NUPA023Foundations of Energy Systems 62/2 Zk—
NUPA028Privacy-Preservation Technologies in Information Systems 52/1 Zk—
NUPA029Data Science Lab 60/4 Zk—
NUPA030Advanced Topics in Data Science 52/1 Zk—
NUPA031Reproducibility Engineering 62/2 Zk—
NUPA032Introduction to Deep Learning 62/2 Zk—
NUPA033Applied Artificial Intelligence Lab 60/4 Zk—

Univerzita v Pasově: 2. ročník - letní semestr

kódPředmětKredityZSLS
NUPA035Presentation of the Master’s Thesis 3—0/4 Z
NUPA036Master’s Thesis in Computer Science 27—0/18 Z
NUPA002Practical Parallel Programming 7—3/2 Zk
NUPA003Dependence Analysis 6—2/2 Zk
NUPA004Loop Parallelisation 6—2/2 Zk
NUPA005Functional Programming 6—2/2 Zk
NUPA007Domain-Specific Languages 6—2/2 Zk
NUPA008Software Analysis 6—2/2 Zk
NUPA011Mobile Security 6—2/2 Zk
NUPA012Program Repair 6—2/2 Zk
NUPA013Secure Information Flow 6—2/2 Zk
NUPA014Engineering Dependable Software 6—2/2 Zk
NUPA015Object-Oriented Programming with C++ 6—2/2 Zk
NUPA016Compiler Construction 9—4/2 Zk
NUPA018Software-Projektmanagement 7—3/1 Zk
NUPA024Safety and Security of Critical Infrastructures 6—2/2 Zk
NUPA025Methodological Foundations of Distributed Systems 6—2/2 Zk
NUPA026Multimedia Databases 7—3/2 Zk
NUPA027Data Modelling and Data Processing in the Internet of Things 5—2/1 Zk
NUPA034Computational 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ě)