Detailed search
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
close

Software and Data Engineering

Coordinated by: Department of Software Engineering
Study branch coordinator: Prof. Mgr. Martin Nečaský, Ph.D.

This study program has two study plans:
Plan S - The standard study plan is the original program at Charles University.
Plan D - The joint double-degree study plan is organised in cooperation between the Faculty of Mathematics and Physics, Charles University, and the Faculty of Computer Science and Mathematics, University of Passau (further partners).

Plan S - Standard Study Plan

The standard study plan is a two-year master’s programme completed at Charles University (MFF UK).

Specializations:

Software engineering
Software development
Web engineering
Database systems
Big data processing

The study programme Software and data engineering aims at expertise in analysis, design and development of complex software solutions, and systems focused on big data processing. The portfolio of courses provided in the study covers a number of technological platforms, from classic, web-based, to modern cloud and distributed solutions. A required part of the study is a work on team project where students apply not only the theoretical knowledge and technological skills but also team work abilities.

The graduate gains a deep knowledge of software and data engineering based on her/his specialization. With the specialization Software engineering the graduate is able to analyse requirements for software solutions, to design architectures, and to lead the development process. The specialization Software development prepares the graduate for leading a team of SW developers, including parallel and cloud environments. The development of internet applications is covered by the specialization Web engineering, including web, cloud and other internet technologies with an emphasize on scalability, robustness and security. The graduate of Database systems is able to design and integrate schemas of various databases and to develop complex database applications. With the Big data processing specialization the graduate is prepared for the role of data scientist with abilities in data mining and related data analytics knowledge.

3.1 Obligatory Courses

CodeSubjectCreditsWinterSummer
NTIN090Introduction to Complexity and Computability 42/1 C+Ex
NTIN066Data Structures 1 62/2 C+Ex
NSZZ023Diploma Thesis I 60/4 C
NSZZ024Diploma Thesis II 90/6 C
NSZZ025Diploma Thesis III 150/10 C

3.2 Elective Courses - Set 1 - Team Project Courses

The student choses one project course from three offered (Software Project, Research Project, Company Project).

CodeSubjectCreditsWinterSummer
NPRG069Software Project 120/8 C0/8 C
NPRG070Research Project 90/6 C0/6 C
NPRG071Company Project 60/4 C0/4 C
NPRG072Increased project scope 30/2 C0/2 C

3.3 Elective Courses - Set 2 - Profiling Courses

The student needs to obtain at least 41 credits for the profiling courses from the following set:

CodeSubjectCreditsWinterSummer
NPRG014Concepts of Modern Programming Languages 40/3 C
NPRG043Recommended Programming Practices 52/2 MC
NPRG024Design Patterns 30/2 MC
NSWI126Advanced Tools for Software Development and Monitoring 20/2 C
NPRG058Advanced Programming in Parallel Environment 62/2 C+Ex
NSWI150Virtualization and Cloud Computing 32/0 Ex
NSWI153Advanced Web Applications Development 52/2 C+Ex
NSWI144Data on the Web 52/1 C+Ex
NSWI130Software System Architectures 52/2 C+Ex
NTIN043Formal Foundations of Software Engineering 52/2 C+Ex
NDBI034Multimedia Retrieval 42/1 C+Ex
NDBI040Modern Database Systems 52/2 C+Ex
NDBI048Data Science 52/2 C+Ex
NDBI042Data Visualization Techniques 42/1 C+Ex
NPFL138Deep Learning 83/4 C+Ex
NDBI023Data Mining 52/2 C+Ex
NDBI049Query Languages 32/0 Ex
NDBI021User preferences and advanced recommending methods 42/1 C+Ex
NSWI072Data Compression Algorithms 32/0 Ex

3.4 Elective Courses - Set 3

The student needs to obtain at least 15 credits for the courses from the following set:

CodeSubjectCreditsWinterSummer
NMAI060Probabilistic Methods 32/0 Ex
NPRG042Programming in Parallel Environment 62/2 MC
NPRG054High Performance Software Development 62/2 MC
NSWI035Principles of Distributed Systems 32/0 Ex
NSWI080Middleware 42/1 MC
NSWI101System Behaviour Models and Verification 52/2 C+Ex
NSWI131Performance Evaluation of Computer Systems 42/1 C+Ex
NSWI152Cloud Application Development 30/2 C
NTIN067Data Structures 2 32/0 Ex
NSWI166Introduction to recommender systems and user preferences 42/1 C+Ex
NPFL104Machine Learning Methods 41/2 C+Ex

3.5 State Final Exam

The student will select three examination areas from the following list. Two of the examination areas are obligatory for the chosen specialization, the last area is chosen voluntarily.

Examination areas

1. Software analysis and architectures (obligatory for the specialization Software engineering)
2. Advanced programming (obligatory for the specializations Software engineering and Software development)
3. Software technologies (obligatory for the specialization Software development)
4. Web technologies (obligatory for the specialization Web engineering)
5. Formal foundations of database systems and query languages (obligatory for the specializations Web engineering and Database systems)
6. Implementation of database systems (obligatory for the specialization Database systems)
7. Big and unstructured data processing (obligatory for the specialization Big data processing)
8. Data mining (obligatory for the specialization Big data processing)

Knowledge requirements

1. Software analysis and architectures
SW development processes, development phases. SW requirement analysis - principles, methods, usage of UML (description of SW structure and behavior). Principles and methods of SW design. SW testing (V-model, testing activities, test types, testing techniques). Project planning (SW project, project management methods, SW project planning). SW architecture and its role in the SW development process. Notations for modeling and documentation of SW architecture (Bass, 4+1, ArchiMate, C4 model, etc). Kinds of SW architecture viewpoints and their meaning. Classification of SW architecture quality attributes, their description using scenarios and tactics. Architecture patterns. Monolith, modularized monolith, microservices, service-oriented architecture, domain-driven architecture. Algebraic methods, many sorted algebras, initial models. Temporal logic. Formal principles of the UML language. OCL as a specification language, formal base of specification.

Recommended courses

CodeSubjectCreditsWinterSummer
NSWI130Software System Architectures 52/2 C+Ex
NTIN043Formal Foundations of Software Engineering 52/2 C+Ex

2. Advanced programming
Object concepts of modern programming languages. Generic programming and metaprogramming, generics and templates, policies, traits, type inference, reflection. Exceptions, exception-safe programming. Implementation of object properties, runtime support, calling conventions, garbage collection. Parallel programming, Amdahl law, synchronization primitives, task stealing. Design patterns. Scripting languages, prototype-based languages. Domain-specific languages. Functional programming. Principles of code quality, best practices. Refactoring. Testing, debugging, monitoring.

Recommended courses

CodeSubjectCreditsWinterSummer
NPRG014Concepts of Modern Programming Languages 40/3 C
NPRG024Design Patterns 30/2 MC
NPRG043Recommended Programming Practices 52/2 MC
NPRG042Programming in Parallel Environment 62/2 MC

3. Software technologies
Operating system architectures, process management, memory management, communication and synchronization, parallelism, virtualization, paging. File systems, access rights and security. Portability, multiplatform applications. Testing and monitoring of performance and functionality. Architectures of web applications, server-side and client-side scripting, cooperation with database systems. Architecture of data servers, transactions, performance optimization. Cluster, Grid, and Cloud. IaaS, PaaS, and SaaS. Virtualization, containerization, orchestration, edge computing, IoT. MapReduce. Load balancing, high availability.

Recommended courses

CodeSubjectCreditsWinterSummer
NSWI126Advanced Tools for Software Development and Monitoring 20/2 C
NSWI153Advanced Web Applications Development 52/2 C+Ex
NSWI150Virtualization and Cloud Computing 32/0 Ex

4. Web technologies
Overview of basic web technologies. Architecture of client-server applications, server-side and client-side scripting, web frameworks. Database systems in web applications, NoSQL databases, multimedia databases. Indexing and document searching, principles of web search engines. Linked Data - principles, data model RDF and its serialization, query language SPARQL, frequently used vocabularies, SHACL, Solid. Security of information systems in the Internet environment, authentication, authorization, security models, cryptography basics, data security.

Recommended courses

CodeSubjectCreditsWinterSummer
NSWI130Software System Architectures 52/2 C+Ex
NSWI153Advanced Web Applications Development 52/2 C+Ex
NDBI034Multimedia Retrieval 42/1 C+Ex
NDBI040Modern Database Systems 52/2 C+Ex
NSWI144Data on the Web 52/1 C+Ex

5. Formal foundations of database systems and query languages
Domain relational calculus, relational algebra. Relational completeness. Safe expressions, equivalences of relational query languages. Transitive closure of relation. Semantics of SQL. SQL standards. Object extension of relational data model. Text databases Boolean and vector models, searching and indexing, query result ranking, top-k operator. Datalog. Recursion in SQL. XML data model. RDF data model and its serialization, SPARQL query language, RDF Schema and reasoning/inference. Similarity search in multimedia databases, feature extraction and modeling, metric indexes for similarity search.

Recommended courses

CodeSubjectCreditsWinterSummer
NDBI034Multimedia Retrieval 42/1 C+Ex
NDBI049Query Languages 32/0 Ex
NDBI021User preferences and advanced recommending methods 42/1 C+Ex
NSWI144Data on the Web 52/1 C+Ex

6. Implementation of database systems
Models and properties of transactions: ACID, locking protocols, deadlock. Distributed transactions (2PC protocol), error/failure recovery, journals. Distribution with horizontal fragmentation, implementation of NoSQL databases, CAP theorem. Indexing relational data. Spatial access methods. Algorithms for implementation of relational operations and aggregation functions. Query evaluation and optimization. Data compression: Huffman coding, arithmetic coding, LZ algorithms, Burrows-Wheeler transformation.

Recommended courses

CodeSubjectCreditsWinterSummer
NSWI072Data Compression Algorithms 32/0 Ex
NDBI040Modern Database Systems 52/2 C+Ex
NTIN066Data Structures 1 62/2 C+Ex

7. Big and unstructured data processing
Distribution with horizontal fragmentation, implementation of NoSQL databases, CAP theorem. Big Data management - distribution, scalability, replication, transactions. MapReduce. Key-value storages. Column storages. Document storages. Models for fulltext querying - vector, Boolean, probabilistic models, query result ranking, top-operator. Similarity search in multimedia databases, feature extraction and modeling, metric indexes for similarity search. Data visualization techniques - dimensionality reduction (PCA, MDS, t-SNE, UMAP), graph data visualization (force directed placement algorithms, multi-scale algorithms). Data science and methodology CRISP-DM - preparation, modeling and evaluation. Basic statistical models for data science. Preference modeling, user feedback variants, recommender systems.

Recommended coursesy

CodeSubjectCreditsWinterSummer
NDBI040Modern Database Systems 52/2 C+Ex
NDBI034Multimedia Retrieval 42/1 C+Ex
NDBI042Data Visualization Techniques 42/1 C+Ex
NDBI048Data Science 52/2 C+Ex
NDBI021User preferences and advanced recommending methods 42/1 C+Ex

8. Data mining
Basic principles of database systems, data warehouses and OLAP technology. Data mining data preprocessing, concept description techniques, methods for mining association rules, methods for data classification and prediction, cluster analysis methods, data mining in database systems. Statistical methods for data mining. Discovery of different types of dependencies. Bayesian analysis, bayesian networks. Probabilistic models of information retrieval. Methods of learning for classification and regression. Support Vector Machines and kernel functions. Experiment evaluation. Data visualization techniques - dimensionality reduction (PCA, MDS, t-SNE, UMAP), graph data visualization (force directed placement algorithms, multi-scale algorithms). Data science and methodology CRISP-DM - preparation, modeling and evaluation. Basic statistical models for data science.

Recommended courses

CodeSubjectCreditsWinterSummer
NDBI023Data Mining 52/2 C+Ex
NAIL029Machine Learning 32/0 Ex
NDBI042Data Visualization Techniques 42/1 C+Ex
NDBI048Data Science 52/2 C+Ex

Plan D - Double-Degree Study Plan

This study plan of the study program “Computer Science - Software and Data Engineering” is organised in cooperation between Charles University and the University of Passau (further partners). It offers students an opportunity to study in two academic environments and to obtain a prestigious double degree:

Master of Science in Computer Science (University of Passau)
Magistr (Mgr.) in Computer Science – Software and Data Engineering (Charles University)

The students acquire skills in software engineering, software development, Web engineering, database systems and Big Data processing, allowing them to work in a wide variety of fields of computer science in an international environment. The Program aims at expertise in the analysis, design and development of complex software solutions and systems focused on Big Data processing. The portfolio of courses provided covers several technological platforms, from classic, web-based to modern cloud and distributed solutions.

The students spend the first year at their home university and the second year at the host university.

Courses and credits

Students are required to earn ECTS credits by enrolling in the course units and seminars listed in the study plan and successfully passing the examinations. The ECTS credit requirements are described below.

The study plan includes compulsory courses as well as compulsory elective courses:

Compulsory courses are courses each student must take, and they are not subject to election.
Compulsory elective courses are courses each student must elect from the list and complete to fulfil the criteria for compulsory elective courses specified in the study plan.
Other courses offered at the partner universities, not listed as compulsory or compulsory elective courses, are denoted as free courses.

The following tables show the compulsory courses with respective ECTS credits and possible interchangeability of courses. Interchangeable courses share more than 70% of the content and thus can be applied interchangeably (but the student can register for one of the interchangeable courses only).

3.1 Compulsory Courses

The following table lists compulsory courses taught at Charles University:

CodeSubjectCreditsWinterSummer
NTIN090Introduction to Complexity and Computability 42/1 C+Ex
NTIN066Data Structures 1 62/2 C+Ex
NSZZ023Diploma Thesis I 60/4 C
NSZZ024Diploma Thesis II 90/6 C
NSZZ025Diploma Thesis III 150/10 C

The following table lists compulsory courses taught at the University of Passau:

CodeSubjectCreditsWinterSummer
NUPA037Seminar 50/2 C
NUPA035Presentation of the Master’s Thesis 30/4 C
NUPA036Master’s Thesis in Computer Science 270/18 C

Courses with codes starting with NUPA, listed in the Charles University Student Information System, serve as ‘virtual mirrors’ of the corresponding courses at the University of Passau. These courses are taught only at the University of Passau.

Some of the courses or groups of courses offered at Charles University and the University of Passau are considered interchangeable. This means that students may take either of them to fulfil the respective study requirement (but cannot enrol for both).

Interchangeability of compulsory courses is as follows:

The course Introduction to Complexity and Computability (NTIN090) is interchangeable with the course Computational Complexity Theory (NUPA038).
The group of courses Diploma Thesis I (NSZZ023), Diploma Thesis II (NSZZ024), and Diploma Thesis III (NSZZ025) is interchangeable with the group of courses Presentation of the Master’s Thesis (NUPA035) and Master’s Thesis in Computer Science (NUPA036).

3.2 Compulsory Elective Courses - Team Project Courses

The student choses one project course from four offered (International Research Project, Software Project, Research Project, Company Project). Given the other commitments, the recommended (but not mandatory) option is the one-semester course International Research Project (NPRG081).

CodeSubjectCreditsWinterSummer
NPRG081International research project 60/6 C0/6 C
NPRG069Software Project 120/8 C0/8 C
NPRG070Research Project 90/6 C0/6 C
NPRG071Company Project 60/4 C0/4 C
NPRG072Increased project scope 30/2 C0/2 C

3.3 Compulsory Elective Courses - Profiling Courses

Courses at the University of Passau are organised into module groups. The joint double-degree program is related to two of them:

ProgSoft (Programming Methods and Software Systems) – focuses on programming paradigms, compilers, program analysis, software engineering, software architectures, and verification methods.
InfKomm (Information and Communication Systems) – covers databases, distributed systems, multimedia systems, cloud and IoT data processing, privacy and security, and data science.

Selected courses from Charles University's standard study plan have also been assigned to these groups to simplify the ECTS credit requirements described below.

The following table lists the courses from Charles University that are assigned to the InfKomm group:

CodeSubjectCreditsWinterSummer
NSWI144Data on the Web 52/1 C+Ex
NDBI034Multimedia Retrieval 42/1 C+Ex
NDBI040Modern Database Systems 52/2 C+Ex
NDBI042Data Visualization Techniques 42/1 C+Ex
NPFL138Deep Learning 83/4 C+Ex
NDBI023Data Mining 52/2 C+Ex
NDBI049Query Languages 32/0 Ex
NDBI021User preferences and advanced recommending methods 42/1 C+Ex
NSWI080Middleware 42/1 MC
NSWI101System Behaviour Models and Verification 52/2 C+Ex
NSWI131Performance Evaluation of Computer Systems 42/1 C+Ex
NSWI166Introduction to recommender systems and user preferences 42/1 C+Ex

The following table lists the courses from Charles University that are assigned to the ProgSoft group:

CodeSubjectCreditsWinterSummer
NPRG014Concepts of Modern Programming Languages 40/3 C
NSWI126Advanced Tools for Software Development and Monitoring 20/2 C
NPRG058Advanced Programming in Parallel Environment 62/2 C+Ex
NSWI153Advanced Web Applications Development 52/2 C+Ex
NSWI130Software System Architectures 52/2 C+Ex
NTIN043Formal Foundations of Software Engineering 52/2 C+Ex

The following table lists the courses from the University of Passau that are assigned to the InfKomm group:

CodeSubjectCreditsWinterSummer
NUPA023Foundations of Energy Systems 62/2 Ex
NUPA024Safety and Security of Critical Infrastructures 62/2 Ex
NUPA025Methodological Foundations of Distributed Systems 62/2 Ex
NUPA026Multimedia Databases 73/2 Ex
NUPA027Data Modelling and Data Processing in the Internet of Things 52/1 Ex
NUPA028Privacy-Preservation Technologies in Information Systems 52/1 Ex
NUPA029Data Science Lab 60/4 Ex
NUPA030Advanced Topics in Data Science 52/1 Ex
NUPA001Scaling Database Systems 62/2 Ex
NUPA031Reproducibility Engineering 62/2 Ex
NUPA032Introduction to Deep Learning 62/2 Ex
NUPA033Applied Artificial Intelligence Lab 60/4 Ex
NUPA034Computational Linguistics 62/2 Ex
NUPA022Research Seminar for the Focus InfKomm 50/2 C0/2 C

The following table lists the courses from the University of Passau that are assigned to the ProgSoft group:

CodeSubjectCreditsWinterSummer
NUPA002Practical Parallel Programming 73/2 Ex
NUPA003Dependence Analysis 62/2 Ex
NUPA004Loop Parallelisation 62/2 Ex
NUPA005Functional Programming 62/2 Ex
NUPA006Virtual Machines and Runtime Systems 62/2 Ex
NUPA007Domain-Specific Languages 62/2 Ex
NUPA008Software Analysis 62/2 Ex
NUPA009Advanced Software Product Development 102/4 Ex
NUPA010Search-Based Software Engineering 62/2 Ex
NUPA011Mobile Security 62/2 Ex
NUPA012Program Repair 62/2 Ex
NUPA013Secure Information Flow 62/2 Ex
NUPA014Engineering Dependable Software 62/2 Ex
NUPA015Object-Oriented Programming with C++ 62/2 Ex
NUPA016Compiler Construction 94/2 Ex
NUPA017Reverse and Reengineering 62/2 Ex
NUPA018Software-Projektmanagement 73/1 Ex
NUPA019Principles of AI Engineering 62/2 Ex2/2 Ex
NUPA020Requirements Engineering 62/2 Ex
NUPA021Research Seminar for the Focus ProgSoft 50/2 C0/2 C

Interchangeability of compulsory elective courses is as follows:

Course Program Analysis and Code Verification (NSWI132) is einterchangeable with the course Software Analysis (NUPA008).
Course Programming in C++ (NPRG041) is interchangeable with the course Object-Oriented Programming with C++ (NUPA015).
Course Compiler Principles (NSWI098) is interchangeable with the course Compiler Construction (NUPA016).
Course Data Science (NDBI048) is interchangeable with the course Data Science Lab (NUPA029).
Course Deep Learning (NPFL114) is interchangeable with the course Introduction to Deep Learning (NUPA032).

The common ECTS credit requirements are as follows:

At least 120 ECTS credits in total.
At least 45 ECTS credits are required to advance to the second year.
At least 30 ECTS credits (excluding the ECTS credits for the Diploma thesis) from courses of each partner.

The ECTS credit requirements checked at the University of Passau are as follows:

At least 40 ECTS credits for ProgSoft courses and at least 30 ECTS credits for courses outside ProgSoft (excluding the ECTS credits for the Diploma thesis), OR
at least 40 ECTS credits for InfKomm courses and at least 30 ECTS credits for courses outside InfKomm (excluding the ECTS credits for the Diploma thesis).

The ECTS credit requirement checked at Charles University is as follows:

At least 50 ECTS credits for the compulsory elective courses (i.e., ProgSoft and InfKomm courses).

3.2 Recommended Course of Study

Since students spend exactly one winter semester and one summer semester at each of the two universities, they primarily enrol in the compulsory courses offered at the respective university in that semester and choose from its compulsory elective courses. They may also supplement their course selection with free courses.

Charles University: 1st year - Winter Semester

CodeSubjectCreditsWinterSummer
NTIN090Introduction to Complexity and Computability 42/1 C+Ex
NDBI034Multimedia Retrieval 42/1 C+Ex
NDBI049Query Languages 32/0 Ex
NSWI101System Behaviour Models and Verification 52/2 C+Ex
NDBI021User preferences and advanced recommending methods 42/1 C+Ex
NPRG014Concepts of Modern Programming Languages 40/3 C
NPRG058Advanced Programming in Parallel Environment 62/2 C+Ex
NSWI130Software System Architectures 52/2 C+Ex
NTIN043Formal Foundations of Software Engineering 52/2 C+Ex

Charles University: 1st year - Summer Semester

CodeSubjectCreditsWinterSummer
NTIN066Data Structures 1 62/2 C+Ex
NPRG081International research project 60/6 C
NSWI144Data on the Web 52/1 C+Ex
NDBI040Modern Database Systems 52/2 C+Ex
NDBI042Data Visualization Techniques 42/1 C+Ex
NPFL138Deep Learning 83/4 C+Ex
NDBI023Data Mining 52/2 C+Ex
NSWI166Introduction to recommender systems and user preferences 42/1 C+Ex
NSWI080Middleware 42/1 MC
NSWI131Performance Evaluation of Computer Systems 42/1 C+Ex
NSWI126Advanced Tools for Software Development and Monitoring 20/2 C
NSWI153Advanced Web Applications Development 52/2 C+Ex

University of Passau: 2nd year - Winter Semester

CodeSubjectCreditsWinterSummer
NUPA037Seminar 50/2 C
NUPA001Scaling Database Systems 62/2 Ex
NUPA006Virtual Machines and Runtime Systems 62/2 Ex
NUPA009Advanced Software Product Development 102/4 Ex
NUPA010Search-Based Software Engineering 62/2 Ex
NUPA017Reverse and Reengineering 62/2 Ex
NUPA019Principles of AI Engineering 62/2 Ex2/2 Ex
NUPA020Requirements Engineering 62/2 Ex
NUPA023Foundations of Energy Systems 62/2 Ex
NUPA028Privacy-Preservation Technologies in Information Systems 52/1 Ex
NUPA029Data Science Lab 60/4 Ex
NUPA030Advanced Topics in Data Science 52/1 Ex
NUPA031Reproducibility Engineering 62/2 Ex
NUPA032Introduction to Deep Learning 62/2 Ex
NUPA033Applied Artificial Intelligence Lab 60/4 Ex

University of Passau: 2nd year - Summer Semester

CodeSubjectCreditsWinterSummer
NUPA035Presentation of the Master’s Thesis 30/4 C
NUPA036Master’s Thesis in Computer Science 270/18 C
NUPA002Practical Parallel Programming 73/2 Ex
NUPA003Dependence Analysis 62/2 Ex
NUPA004Loop Parallelisation 62/2 Ex
NUPA005Functional Programming 62/2 Ex
NUPA007Domain-Specific Languages 62/2 Ex
NUPA008Software Analysis 62/2 Ex
NUPA011Mobile Security 62/2 Ex
NUPA012Program Repair 62/2 Ex
NUPA013Secure Information Flow 62/2 Ex
NUPA014Engineering Dependable Software 62/2 Ex
NUPA015Object-Oriented Programming with C++ 62/2 Ex
NUPA016Compiler Construction 94/2 Ex
NUPA018Software-Projektmanagement 73/1 Ex
NUPA024Safety and Security of Critical Infrastructures 62/2 Ex
NUPA025Methodological Foundations of Distributed Systems 62/2 Ex
NUPA026Multimedia Databases 73/2 Ex
NUPA027Data Modelling and Data Processing in the Internet of Things 52/1 Ex
NUPA034Computational Linguistics 62/2 Ex

Thesis

The student selects the thesis topic, preferably (but not mandatorily) in the second year at the host university, in accordance with its regulations. The thesis is written in English and carried out under the joint supervision of a supervisor and a consultant from both partner universities.

The thesis should demonstrate the student’s ability to conduct independent scientific work and to apply appropriate research methods to a defined topic. It must be submitted and defended in line with the regulations of the university where it is officially registered. The supervisor and the consultant jointly ensure that the thesis meets the academic standards and requirements of both institutions.

Final (State) Examination

The studies are successfully completed by passing the final (state) examination. The final (state) examination is performed in front of a committee consisting of members proposed jointly by the partners and approved in accordance with the relevant rules and regulations of both partners. The examination will consist of a Diploma thesis defence and an oral examination. Both parts will be held in the order indicated, i.e. first the defence, then the oral part. The student must successfully pass both parts to finish the studies. The oral examination will take place immediately after the successful defence of the Diploma thesis. It will be implemented in the form of an expert discussion on topics closely related to the topic of the presented thesis.

A student may register for the final (state) examination after completing at least 90 ECTS credits, fulfilling the minimum requirements for ECTS credits stated above (except for the total number of 120 ECTS credits), and successfully submitting his/her Diploma thesis. The remaining ECTS credits for the Diploma thesis will be given after the successful defence of the thesis, prior to the oral examination.

A student is entitled to one regular attempt and a maximum of two retake attempts of the final (state) examination. The quality of the thesis and the correctness of the answers to the committee’s questions are graded independently. A comprehensive final grade is awarded on the basis of the two partial grades.

Grade conversion

A (ECTS) = "Výborně" (in Czech) = "Excellent" = 1,3 (University of Passau)
B (ECTS) = "Výborně" (in Czech) = "Excellent" = 1,7 (University of Passau)
B (ECTS) = "Velmi dobře" (in Czech) = "Very good" = 2,0 (University of Passau)
C (ECTS) = "Velmi dobře" (in Czech) = "Very good" = 2,3 (University of Passau)
C (ECTS) = "Velmi dobře" (in Czech) = "Very good" = 2,7 (University of Passau)
D (ECTS) = "Dobře" (in Czech) = "Good" = 3,0 (University of Passau)
D (ECTS) = "Dobře" (in Czech) = "Good" = 3,3 (University of Passau)
E (ECTS) = "Dobře" (in Czech) = "Good" = 3,7 (University of Passau)
E (ECTS) = "Dobře" (in Czech) = "Good" = 4,0 (University of Passau)
F (ECTS) = "Nedostatečný" (in Czech) = "Fail" = 4,3 (University of Passau)
F (ECTS) = "Nedostatečný" (in Czech) = "Fail" = 4,7 (University of Passau)
F (ECTS) = "Nedostatečný" (in Czech) = "Fail" = 5,0 (University of Passau)