Why consider Ph.D. studies ?
Doctoral studies give you the opportunity to tackle the most interesting open problems and contribute to the state of the art in your chosen research field. You get to work on your most ambitious ideas and submit the results to the audience of the best experts. In other words - you work quite hard but you have the most fun ever !
In contrast to bachelor and master studies, which provide background in many fields, the doctoral studies are all about depth. You are expected to focus on a particular research field and make a real contribution - have a novel idea or create a novel system that will advance the state of the art in the field. Given the narrow focus, the structure of the program is quite flexible, for example the number of prescribed lectures is minimal and restricted to those closely related to the chosen field.
Our doctoral program is situated in the broad domain of software systems. Our research includes core system topics, such as the design and implementation of dynamic and adaptive software systems, tools and methods for investigating and optimizing system performance, program analysis and software verification and testing, together with applications of software systems in domains such as multimedia information retrieval, knowledge graph processing or bioinformatics. See below for links to our research teams with more information on the topics.
Besides intense work on interesting problems, doctoral studies also offer a unique career path. The hallmark of doctoral studies is creative work, often within team projects, with novel results in an international context - the holder of a Ph.D. degree is therefore very much welcome in jobs where deep knowledge and ability to innovate are a must. To give a rough picture, our alumni have held a range of jobs at Google, Microsoft, Oracle, SUSE and other major international companies, startup companies such as GoodData or H2O, institutions such as the European Space Agency, or entered research positions at Purdue University, Northeastern University, and others.
What to expect ?
Our doctoral program builds on an intense collaboration between the students and their advisors, appointed from the ranks of our faculty members for the duration of the study. Your advisor will start by steering you towards the existing work and open issues in your chosen field - this will include reading and discussing the existing research publications, reproducing research results and generally experimenting with state of the art technologies. It is perfectly normal to spend the first year of your studies getting up to speed.
After getting acquainted with the most recent results, you will have a coarse idea what contribution to aim for - this will gradually morph into a more specific topic and more specific results. Your results will need to be validated - this may involve a range of activities from writing formal proofs to creating prototypes and running experiments, and, most importantly, submitting the results for peer review and publication. Some topics will require cooperating in a larger research team, possibly within the framework of a national or an international research project. This activity will form most of your studies.
Eventually, the peer reviewed and published results will form the core of your thesis, which will present your work in its entirety. The thesis is reviewed by invited experts in your field and defended in a public presentation. Scary as this might sound, it is actually the easiest part of the whole process - remember, all your work was already peer reviewed to make it into publications.
Ideally, the entire process fits within four years.
Doctoral studies amount to quite a lot of work, and cannot be finished with halfhearted effort. Expect to also do some work outside research - paperwork, communication with foreign partners, writing project proposal, reviewing papers, and teaching or grading. Typically, your work will be connected to the research projects of your team - this will help you steer your research topic (projects typically tackle problems that provide excellent research challenges), but also require coordinating your work within the project.
One of your responsibilities as a Ph.D. student is to write and publish research papers on international venues. Thus you can expect to travel to present your work and interact with other researchers in your field. It is also possible to attend summer schools, which help in getting familiar with your field from multiple different angles, and again meet other people working on similar topics.
A Ph.D. student is expected to take a light teaching load, typically managing labs for an existing lecture. This may take some time but is a valuable experience in its own right.
All Ph.D. students receive an unconditional basic stipend, currently ranging from 11 to 16 thousand CZK, this consists of a fixed base plus extras for passing certain milestones such as exams or successful publications. This is supplemented with a standard salary of another 10 to 30 thousand CZK depending on the involvement in research projects. There are no tuition fees and some services, such as student housing, are provided at a reduced cost. To put the numbers in perspective, the living costs in Czech Republic are about a third lower than in Germany or France.
How to apply ?
We believe that our work is interesting and rewarding, however, it is also intense. We look for people who are reliable and consistent and can dedicate their full capacity to research. In return, we do our best to help students progress towards successful graduation. The application procedure is outlined at the faculty admission page. Besides providing the required documents and meeting the application deadlines, the two essential components of a successful application are the choice of the study topic and the background knowledge of the applicant.
Choosing the topic
Most activities of our doctoral program are managed by people in the Department of Distributed and Dependable Systems and the Department of Software Engineering. To see what broad topics in the domain of software systems are available within our doctoral program, examine the research overview pages of these departments, available here and here.
Ultimately, your studies will be connected to the research activities of your advisor. Following the broad topic selection, visit the personal pages of the individual researchers and look at their recent research projects and publications. Chances are you would be contributing to similar activities, recent output is therefore a good indication of what to expect from each researcher. The personal pages are linked from here and here and often offer topics explicitly.
Generally, we would recommend some flexibility in your choice of a topic - computer science is a fast moving field and it pays off to be open rather than picky. Stay high level - it is difficult to select a very specific problem at the application time, a typical student starts with a broad goal and gradually refines that throughout their studies. Expect to align your topic with other activities of your advisor, your team and your research projects - strictly independent research is rarely feasible.
You may want to contact your potential advisor prior to application. If you do, please be considerate - sending out a template letter to multiple faculty members is essentially just a waste of time. When introducing yourself, include relevant information - links to your past work, theses, papers, projects, or open source repositories can all help. The same applies to the documents submitted with the application.
Our doctoral program requires background knowledge at the level of a typical master program in computer science, such as those outlined in the ACM Curricula Recommendations. While local applicants are usually fine, for international applicants it may be difficult to assess the background knowledge requirements prior to the application. Here are some resources that may help:
Our state final examination page for the bachelor computer science program contains detailed requirements and example questions that an applicant should be reasonably equipped to answer for most computer science topics.
Our state final examination page for the master computer science program contains detailed requirements that an applicant should be reasonably equipped to discuss for the related topics. Unless you meet the exam waiver conditions, expect these requirements to apply to the background knowledge entrance exam.
The following books are roughly at the level an applicant should possess when aiming at a related topic (this list is currently being collected, expect updates shortly):
- Data management systems: Sadalage et al.: NoSQL Distilled.
- Formal system verification: Clarke et al.: Model Checking.
- Deep learning applications: Goodfellow et al.: Deep Learning.
- Computational neuroscience: Abbott et al.: Theoretical Neuroscience.
- Parallel processor programming: Hwu et al.: Programming Massively Parallel Processors.
- Computational molecular biology: Jones et al.: An Introduction to Bioinformatics Algorithms.
- Low level software systems and systems performance: Arpaci-Dusseau et al.: Operating Systems.
The program organization provides some space to study up in case of background knowledge mismatch, however, entirely incompatible backgrounds are grounds for applicant rejection.