Macro-molecular biology techniques enable obtaining a huge amount of biological data, mainly in the form of biological sequences (DNA, RNA, and proteins). While trying to understand and utilize the data, many mathematical problems arise. Bioinformatics is a fast-growing field of modern computer science, which plays a crucial role in the further development of biology. This lecture introduces basic algorithmic principles for solving various biological problems. It is supposed knowledge of programming of the extend similar to the bachelor's course NPRG031 Programming 2. This is a course for the lecture NTIN084 Bioinformatics Algorithms.