I have just started to learn about quantum computing, and I know a little bit about qubits. What is a resource where I can learn a basic quantum algorithm and the concepts behind how it works?
6 Answers
Most textbooks and lecture courses start with solving the Deutsch problem using quantum computing.
Parts 1 to 4 of John Watrous's lecture notes will describe the concepts, starting from basics. By the end of lecture 4, you will have learned how a quantum computer can solve the Deutsch problem with fewer operations than a classical computer would need.
All 22 lecture notes can be found here.
If you prefer to learn while coding, check out the Quantum Katas. There are katas for teleportation, Deutsch-Jozsa, Grover's, and Simon's algorithms, among others.
I suggest a good introductory book, but using lots of linear algebra, and it covers several nice topics. I really, really, love this book:
1) Quantum Computing Explained
I recommend my advisor's book because it has a very nice view on Grover's algorithm and a good explanation on it.
The best book I could suggest is from Yanofsky and Mannucci Quantum Computing for Computer Scientists. You would find very detailed and very numerical examples rather than abstract theorems which I believe is better in the beginner level.
I created this simple video lecture aimed at computer scientists, which explains how basic quantum circuits work mathematically and how you can use them to solve the Deutsch Oracle problem: the simplest problem where a quantum computer outperforms a classical computer in some sense. I tried to make the lecture I would have wanted to watch when originally struggling through introductory textbooks on quantum computing (I used Quantum Computing for Computer Scientists by Mannucci & Yanofsky and Quantum Computer Science: An Introduction by Mermin) and am happy with the result. The slides are available here.
A really well-made resource explaining Grovers algorithm is 'How the quantum search algorithm works' on Quantum Country by Andy Matuschak and Michael Nielsen.
I think this fits your question nicely, as it is a fundamental algorithm, the explanation does not assume a lot of prior knowledge and the explanation focuses on a conceptual understanding.