Research Methods in Computer Science
Preface
Computer science students are often expected to conduct and report on research, be it in the form of a master’s thesis, papers published during their PhD studies, or other research projects. Numerous courses teach the students technical knowledge: to program in various programming languages, design software using diverse paradigms, or understand hardware and networks. Although instructions for their bachelor’s theses may contain a few hints about specific technicalities such as citation, none of the courses instruct the students on how to formulate research questions, design an experiment, or write a readable paper targeting their audience.
For this reason, I created the course Research Methods in Computer Science, later renamed to Research Methods in Computer Science and Cybersecurity. It is taught at the master’s level in the form of seminars at the Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics, Technical University of Košice. This book represents course notes and is used as the primary material for students during the whole semester. It covers a wide range of topics: the formulation of research ideas, reviewing literature, asking research questions, executing controlled experiments, performing surveys and benchmarking studies, scientific writing, reviewing, publishing, presentation, and many more. While numerous textbooks about research methods exist, a large portion of them were written for social scientists. A few textbooks focus on specific computer science subfields, but we lack a text explaining research methods used in computer science in general, which this book aims to fix at least partially. My main research area is software engineering, occasionally intersecting with human-computer interaction. Despite trying to be impartial, the text may sometimes be a bit biased toward these two fields.
The course notes are prepared with the concept of a flipped classroom in mind. Instead of spending classes by passive listening to the teacher and then practicing at home without any feedback, students should read an announced part of the learning material at home before the lesson. Then, during the class, they discuss the topic by answering relevant questions, presented in the Exercises section at the end of each chapter. Since some of the exercises require studying additional material or longer reflection, the students should write personal notes outlining their responses during their home preparation, in order to maximize the amount of time spent on discussion during the lesson.
Three larger assignments are also included, focused on systematically finding relevant literature on a selected topic, processing data from a controlled experiment, and reviewing a paper. They are of a highly practical nature and represent activities that many students will actually encounter, particularly if they decide to continue with the PhD path.
Many topics are only briefly outlined or not mentioned at all in these course notes. Instead of being an exhaustive reference on research methods, I see them as a starting point that helps students understand the underlying principles and then encourages them to explore additional possibilities.