Bachelor & Master thesis topics
Bachelor thesis topic assignments are mostly dictated by the progress of Individual Software Project course (NPRG045), and the students are expected to follow the instructions and timeline given by that course. The information about thesis topics below also applies to general software projects.
Master thesis topic assignments are organized rather individually, timed mainly by the expected completion of courses NSSZ023, NSSZ024 and NSSZ025.
Which thesis topics are suitable at the department?
DSE traditionally supervises a wide range of topics. Programming-focused theses that produce ready-to-use problem-solving software (applied to any general kind of problems) are quite common and preferred (as opposed to purely math-focused ones). Alignment with the department’s research topics and maintained software is often beneficial, but not required.
We recommend every student to visit dspace.cuni.cz and read through several defended theses, to gain some intuition on the expected complexity of the thesis topic.
I think I have a thesis topic, how do I find a supervisor?
The usual way to find a relevant supervisor is to first search for:
- courses that are related to your goals
- people who work with similar research topics
…and ask the related people for their opinion on which supervisor would suit best. They will likely point you towards the right direction.
Do not worry if you will get “redirected” to another supervisor, even several times — a longer search process is quite common, and often improves the outcome for both of you and the supervisor.
I don’t have a topic, how do I find one?
Because of the dynamic and flexible nature of topic design, we do not currently maintain a centralized repository of open thesis topics.
We instead recommend looking at research topics and their software outputs and trying to imagine a small improvement for some of these, or asking the related supervisors if there are projects available on a topic you like.
Several supervisors publish their own open project collections (note that the link listing below may be outdated and incomplete, as well as the actual contents that are updated solely by the supervisors):
- Tomáš Faltín
- Jakub Klímek
- Pavel Koupil
- Miroslav Kratochvíl
- Ladislav Peška
- decentralab (informal group on decentralized systems)
Some topics may also be found in the SIS listing. (You may need to filter the list to only see the sufficiently recent topics.)
What should a supervision request look like?
Regardless of whether you are asking a supervisor directly or trying to find one, use the following advice:
- Contact the person via e-mail from your student account.
- Include administratively-relevant information (study programme and year, specialization, planned term of thesis defense, …)
- Briefly describe your background and skills:
- which programming environments you like to use
- what topics you aim to learn
- link any projects that you finished
- If you already have an idea of the topic, summarize a paragraph about it:
- why is the topic important or interesting for you
- what exact problem you aim to solve
- how you plan to solve it
- if possible, link some relevant existing scientific literature, prior work, or similarly aimed software projects
- Keep the e-mail short and on-topic, preferably make the important information listed above very easy to spot.
Useful resources
Several supervisors maintain their own documentation or helpful materials related to student projects and theses:
- Requirements for ISP, BT, MT, SwP (CZ, maintained by Jakub)
- A slightly improved (and opinionated) variant of the official thesis template (maintained by Mirek)