The paper discusses principles of construction for quantum algorithms and their main features. Distinction of quantum parallelism from classical methods of high-performance computing is shown. Quantum algorithms design strategy is presented based on quantum circuits. Methods of programming for implementation of quantum algorithms using high-level languages are proposed. An approach to implement unitary transformations based on the oracle method is described.