Last fall semester laboratory staff

Jetbrains research held several open lectures in

Computer science center. The subjects of the reports are diverse, as are the areas of laboratory research. For convenience, we collected links to all performances. Happy viewing!

**1. How to make a report on scientific work, Mark Zaslavsky**

*Laboratory of Mobile Robot Algorithms*

At the lecture you will get acquainted with a step-by-step algorithm for preparing for performances. You will learn how to plan presentation and speech taking into account the specifics of scientific reports and typical listeners. Take practical recommendations with you. You will learn how to prepare for the tricky questions of the audience and not to flinch under their onslaught.

**2. Duckietown and AIDO, Konstantin Chaika**

*Laboratory of Mobile Robot Algorithms*

In the lecture you will learn:

- how to contribute to the development of autonomous vehicles without buying a Toyota Prius,
- what is Duckietown and how in it having only one camera and a single-board computer learn to ride by the rules,
- how to take part in the Olympics on autonomous vehicles without leaving your home, and where does the duck?

**3. Introduction to algorithms for simultaneous localization and map building (SLAM), Anton Filatov, Artyom Filatov **

*Laboratory of Mobile Robot Algorithms*

Among the tasks that robots are already solving, speakers distinguish the task of autonomous movement over an unknown terrain. When a moving robot is in an unknown environment, it needs to build a map and determine its position on it, based on the data from sensors installed on the robot. This task is called SLAM (Simultaneous Localization and Mapping).

At the lecture, Artyom and Anton will consider most of the modern algorithms that solve the SLAM problem, talk about resolved and unresolved issues within the framework of this problem, and also show the solution of such a problem in practice. True, in the simulator 🙂

**4. Connect the dots: using graphs to interpret biological data, Alexey Sergushichev**

*Bioinformatics group*

The generation of large amounts of experimental data has become the norm in modern biology, but the question arose of how to interpret these data in order to draw biological conclusions. One approach to this problem is the use of a graph of biological interactions. For him, one can formulate the so-called task of searching for an active module: find in a large graph of all biologically possible interactions a small connected subgraph that is specific to a biological experiment.

The lecturer will consider several options for formulating this problem and approaches to its solution, including based on the reduction to the problem of integer linear programming and on the basis of the Metropolis-Hastings algorithm.

**5. Derivation of demographic stories of populations from genomic data, Ekaterina Noskova**

*Bioinformatics group*

In the introductory lecture, you will learn what demographic stories are, how they are deduced, what data are used for this, and which mathematical models are the basis. The demographic history of populations includes the number of populations, the rate of migration and the time of separation, and the genomes of individuals contain information about the past, so demographic histories derive from the recently obtained genetic information of individual individuals.

**6. Relational programming, Ekaterina Verbitskaya**

*Language Instrumentation Laboratory *

The lecture will focus on relational programming: a paradigm in which programs describe mathematical relationships and, therefore, are executed in different directions. So you can find the result by the given arguments, and, conversely, by the arguments get the given result. Catherine will talk about how it works, where it is applied, as well as about open problems in the field. Students are encouraged to have an understanding of functional programming languages.

**7. Meta-calculations, Daniil Berezun**

*Language Instrumentation Laboratory *

The lecture will focus on meta-computations – the field of computer science involved in the design of meta-programs, i.e. programs that manipulate other programs as data, including generating the latter as a result of their work. This area is closely related to software optimizations and semantics of programming languages and to the automatic generation of programs.

**8. Weak memory models, Anton Podkopaev**

*Language Instrumentation Laboratory *

The lecture will focus on memory models in general. The lecturer will explain why and how the promising memory model solves the existing problems of memory models of programming languages, and touches on proofs of correct compilation from the promising model in the x86-TSO, Power, and ARMv8.3 models using an intermediate memory model (IMM).

**9. The theory of formal languages in practice, Semyon Grigoriev**

*Language Instrumentation Laboratory *

Queries for graph databases, static analysis and code verification algorithms are examples of practical application of the theory of formal languages and parsing algorithms. In this context, new engineering and theoretical problems arise, and many old ones require new solutions. This will be discussed in a lecture.