How to successfully obtain a degree?
Note. This article is quite long, feel free to use ChatGPT to summarize important stuff.
In order to successfully obtain a degree (either bachelor's or master's), you need to pass the following criteria:
Obtain enough ETCS credits. (180 for bachelor's students, 120 for master's students)
Pass all obligatory courses.
Pass sufficiently many elective courses. Sufficiently many is measured in credits depending on your major.
Write a bachelor's/master's thesis.
Pass the final state exam.
Passing courses
Start by checking this page to find out various ways a course can award you credits.
To find which courses are mandatory for you, check the appropriate page for your major for bachelor's students and master's students.
Bachelor's/Master's thesis
Where to start?
The first step is to find a supervisor willing to lead you through the process of writing your thesis. The way I recommend finding a supervisor is the following.
Take courses.
Pick a professor that you like from the courses.
Contact them via email that you want them to be your supervisor.
You do not have to have a topic in mind before finding a supervisor. Usually, they will have a list of topics. But if you do have a topic in mind, I recommend you suggest it to the potential supervisor.
When to start looking for a supervisor? I suggest doing it in the middle of the second semester for master's students and in the middle of the fourth semester for bachelor's students. By that time, you will have met most of the professors who will ever teach you. Hopefully, you managed to like at least somebody by then.
Working on a thesis
In the best sense possible: you won't know what you are doing. I suggest that you meet weekly with your supervisor to receive tasks from them that you progress on.
One thing of note is that you receive ETCS credits for working on your thesis which count towards the minimum required. See e.g. this course which is only there to award you credits.
How are theses graded?
What will be graded is a text that you write. The faculty will find somebody who will read your thesis are grade it according to various criteria. Your supervisor will know more about this.
One thing of note is that the text is the main thing being graded. So for an example if you produce an amazing piece software but the thesis is written badly, then the overall grade will not be great.
Presentation
The final thing you will do with your thesis is to present it. If your thesis leans to the theoretical side, you need to prepare a 15 minute presentation (with slides) to present the work you have done. If your thesis leans to the practical side, you need to prepare a poster for a poster session.
Final state exam
The final state exam consists of multiple topics. Which topics are relevant to you can be found in the study guide for your major. There is usually at least three topics and each topic covers multiple courses.
The final state exam is oral.
Some special courses
If your major is practical, then you have to complete a software project. You need to choose a topic of the project. On the linked website, there is always a contact person at each project. Contact them in case you are interested in the topic.
Some tips
Catching up with things you have not learned
It might happen that you enroll in a course that assumes some prerequisite knowledge. Usually, the professor will not be very helpful in helping you catch up. I suggest that you look up the literature for the course. Some of the books of the courses may have a section with necessary prerequisites. For an example, for the course NDMI018: Approximation and Online Algorithms, one of the recommended books is D. P. Williamson, D. B. Shmoys: The Design of Approximation Algorithms, Cambridge university press, 2011 in which you can find some necessary prerequisites in the appendix of the book.
Catching up with programming
Programming deserves a special mention from the above section. To program passably, I think that one needs practice. In my opinion, the fastest way to improve is solving competitive programming problems. I recommend you look at the following websites and start practicing (from the easiest problems).
Some courses might be taught only in Czech
You might be interested in taking a course that is only taught in Czech. In such cases I suggest you contact the lecturer and ask if it can be taught in English. Most likely they will agree to teach in English.