General Information

Study programs and their specializations

1 Computer Science - Discrete Models and Algorithms
Discrete mathematics and algorithms
Geometry and mathematical structures of computer science
2 Computer Science - Theoretical Computer Science
3 Computer Science - Software and Data Engineering
Software engineering
Software development
Web engineering
Database systems
Big data processing
4 Computer Science - Software Systems
System programming
Dependable systems
High performance computing
5 Computer Science – Language Technologies and Computational Linguistics
Computational and formal linguistics
Statistical and machine learning methods in Natural Language Processing
6 Computer Science - Artificial Intelligence
Intelligent agents
Machine learning
7 Computer Science – Visual Computing and Game Development
Visual Computing
Computer game development

While your study program has been specified already in your application, the definitive choice of your specialization (where applicable) is made only later, when enrolling for the state final exam.

Computer science is a dynamically evolving discipline, and therefore we are constantly adapting the content of our study programs to important new trends. In their own interest, students should keep track of the current state of study plans as the list of offered courses may be expanded and modified, or other minor changes may take place.

Assumed knowledge

It is assumed that an incoming student has a sufficient knowledge of mathematics, theoretical computer science, and programming. In particular, students are expected to have a good knowledge of mathematics at the level of our bachelor courses NMAI054 Mathematical Analysis 1, NMAI058 Linear Algebra 2, NMAI059 Probability and Statistics 1.

Students are also expected to have knowledge equivalent to the courses NDMI002 Discrete Mathematics, NTIN060 Algorithms and Data Structures 1, NTIN061 Algorithms and Data Structures 2, NTIN071 Automata and Grammars, and NAIL062 Propositional and Predicate Logic. Knowledge from these courses is also expected for the state final exam.

We also expect students to have good knowledge of programming at least at the level of our bachelor courses NPRG030 Programming 1 and NPRG031 Programming 2.

Students who are missing knowledge in some of the above-mentioned areas are advised to consider taking the relevant bachelor courses in the first year of their Master's studies. Please do not hesitate to contact the program coordinator in case of doubt.

If a student has successfully completed one of the obligatory or optional courses of their study program during his/her previous bachelor's study at the Faculty of Mathematics and Physics, they may apply for recognition of the fulfillment of these obligations. A student coming to the Faculty after obtaining a bachelor's degree at another university may apply for recognition of obligatory or optional courses on the basis of previous completion of a similar subject. The awarding of credits for courses completed in the bachelor's study is regulated by Article 12 of the Rules for the Organization of Studies at the Faculty of Mathematics and Physics.

Team project

Study plans of master programs in the study area Computer Science offer the possibility of participation in a team project. In the study programs Software Systems, Software and Data Engineering, Visual Computing and Game Development the team project is obligatory, while in programs Artificial Intelligence, Language Technologies and Computational Linguistics the team project is elective. The student chooses one out of three types of a team project: a Software project, a Research project, or a Company Project. The software project is a classic student project, where a team of 3-6 students develops a larger software system. The research project allows a student to temporarily join an existing research team at the faculty, in which the student works on a particular research/development task. The company project allows a student to accomplish the team software project outside of the faculty environment, in a company, while still meeting the standards set commonly for all project types. In case of a more difficult project assignment, extra credits can be awarded using the course Increased project scope. Approval and evaluation of projects is guided by the regulations of the respective study program coordinator.

State Final Exam

The state final exam consists of two parts: a defense of the Master's (diploma) thesis, and an oral examination. The student can enroll for each part separately. To finish the studies, both parts of the state final exam must be completed successfully.

Requirements to enroll for the state final exam

obtaining at least 120 credits,
passing all obligatory courses of a given study program,
obtaining a given number of credits from the elective courses of a given program and specialization,
submitting the Master's thesis by the specified deadline (for defense of the Master's thesis).

Master's (diploma) thesis

Students are advised to select the topic of their Master's (diploma) thesis at the end of the first semester. The faculty departments offer many topics for Master's theses each year, and students may also suggest their own topics. We recommend selecting the topic of your thesis primarily from those offered by the department that coordinates your study program. If you prefer a topic offered by another department or your own topic, please consult the coordinator of your study program.

After the topic is assigned, the student enrolls in the following obligatory courses:

NSZZ023Diploma Thesis I 60/4 C
NSZZ024Diploma Thesis II 90/6 C
NSZZ025Diploma Thesis III 150/10 C

Course credits for these courses are granted by the thesis advisor on the basis of student's work on the thesis. We suggest the students to discuss with their advisor the expected amount of work and the milestones for each of these courses. All three courses can be enrolled in both winter and summer semesters.

Oral examination

The oral part of the state final exam has a similar structure for all study programs. The student is examined from several obligatory and several optional examination areas specific to a given study program and selected specialization. The student will select these optional examination areas when registering for the final exam. A more detailed description can be found in the relevant section of each study program.

Note that not all the courses are available in English every year. We recommend students to contact the study program coordinator for the selected study program and discuss individual study plans prior the beginning of each semester.


Charles University, Faculty of Mathematics and Physics
Ke Karlovu 3, 121 16 Praha 2, Czech Republic
VAT ID: CZ00216208

HR Award at Charles University

4EU+ Alliance