Quantum computers take advantage of entanglement. A single bit is in one of two states. A single qubit can be a superposition of those two states. But the magic comes when you have many entangled qubits. So 10 bits will have one of 1024 states. 10 qubits can be a superposition of any combination of those 1024 states - an enormous number.
A special case of quantum computing is the
quantum annealing process. Since it is not clear whether there are problems where that annealing can outpace classical computing, it has not grabbed the spot light. But it is worth noting that the
"Orch Or" mechanism that Nobel Laureate Roger Penrose has proposed for some information processing in our brains looks an awful lot like a form of quantum annealing. I don't believe that Penrose ever described Orch Or as a form of "quantum annealing" - but his work predates that term.
The best reading depends on what your interest is. If you are already into software engineering, then take a close look at
the wiki article on Shors Algorithm. It has gotten pretty detailed.
That algorithm is good for exercising some terminology. The algorithm itself is for factoring the product of two prime numbers. So, you might describe it as a "reverse multiply". But when manipulating qubits, that is, implementing qubit gates, you are only allowed "reversible" operations. And when many of these reversible gates are combined to form a quantum multiplication, the result is a "reversible multiplication" - which is way different that what I called a "reverse multiply". A reversible multiply means that enough "side" information (called "ancilla bits") have been stored to run the multiply backwards. This is a necessary feature of
qubit logic operations. What those "ancilla bit" buy you is to have the input and output states of the multiply (or other boolean operation) to be the same quantum state. Think "if you know my work, you know me" - but in the most literal and physical sense.
Now let me switch to
Grover's Algorithm. And, once again, it is to address some terminology - in particular, "oracle". If you have created a qubit computation that results in an entangled state that, when measured will yield the correct answer more often that any one incorrect answer, then you have three choices. The first is to run the computation enough times so that you can see which result gives happens with the greatest frequency - but in some cases, this may take billions or more tries. The second is good when there is some way of verifying an answer - but it can still take (depending on the problem) a huge number of tries. The third is to apply Grover's Algorithm, perhaps multiple times, before making a measurement. That algorithm makes the most likely result even more likely and it can be applied multiple times. If you read up on Grover's Algorithm, the term you will encounter is "oracle". In quantum computing, an oracle is that quantum circuit or device that creates an initial superposition. For Grover's algorithm, it is the quantum circuit or device that creates the superposition of correct and incorrect answers.
I hope this gets you started.
Scott