What kinds of computational problems are quantum computers good at solving? What are the major challenges for algorithm designers in the NISQ era? This chapter is devoted to updating the readers with recent progress and upcoming challenges in near-term algorithm design. Quantum machines will be useless, if we do not know what algorithms we can run on them. So a big part in the race to practical quantum computing is to develop algorithms that run on NISQ computers. We lead with a section illustrating the general features of quantum information processing, how to exploit the so-called quantum parallelism, and how to evaluate the cost of a quantum program. After answering the above questions, we introduce a few medium-scale quantum algorithms such as the Deutsch-Josza algorithm and the Bernstein–Vazirani algorithm, as well as some other classes of algorithms tailored for NISQ computers, such as the Variational Quantum Eigensolver (VQE) and the Quantum Approximate Optimization Algorithm (QAOA). We conclude this chapter with a survey on promising quantum applications. In the next 5–10 years, we probably won’t have quantum processors built into our laptop or smart phone. But they will become useful for synthesizing better drugs and material, producing lower-energy fertilizer, solving optimization problems more efficiently, and so on.