Classical information processing has dramatically changed the lives of almost everyone over the last century. Now we are on the verge of a new information processing revolution, quantum computing. In this chapter, we present an overview of the main differences between classical and quantum computing, followed by a discussion of the foundational concepts of quantum computing and an introduction to quantum algorithms. We then briefly report on the latest developments in the field, focusing on the software-hardware co-design approach currently pursued at IQM. Finally, we provide an insight into the future developments and opportunities of quantum computing.