
Ask HN: Resources to start learning about quantum computing? - edu
Hi there,<p>I&#x27;m an experienced software engineer (+15 years dev experience, MsC in Computer Science) and quantum computing is the first thing in my experience that is being hard to grasp&#x2F;understand. I&#x27;d love to fix that ;)<p>What resources would you recommend to start learning about quantum computing?<p>Ideally resources that touch both the theoretical base and evolve to more practical usages.
======
bollu
There is really only one "bible". I recommend solving through it, at least the
first 4-5 chapters:

\- Nielsen and Chuang, Quantum computation and information:
mmrc.amss.cas.cn/tlb/201702/W020170224608149940643.pdf

While you are reading and solving the above book, I strongly recommend
reading:

\- "Quantum computing since Democritus" by Scott Aaronson, one of __the
__researchers on quantum
computation:[https://www.scottaaronson.com/democritus/](https://www.scottaaronson.com/democritus/)

This book will give you a "flavour" of where the power of quantum computation
might be coming from, and the whole host of theoretical issues that surround
this domain.

What I _highly_ recommend is practicing problem-solving using these resources:

(1) Microsoft quantum katas:
[https://github.com/microsoft/QuantumKatas](https://github.com/microsoft/QuantumKatas)

(2) Codeforces Q# coding contest:
[https://codeforces.com/msqs2018](https://codeforces.com/msqs2018)

Actually programming the circuits in Q# will give you a sense of stuff that's
swept under the rug when reading textbooks: initialization of qubit states, a
good sense of what "qubits cannot be copied" means, etc.

At this point, one ought to have an understand of quantum computation and our
current understanding of its power (in particular, the relationship that we
don't know how to separate BPP and BQP), how to implement the "common" quantum
algorithms in a programming language, and a vivid sense of the "quantumness"
of these algorithms.

For reference, I speak from experience: (1) My solutions to the quantum katas:
[https://github.com/bollu/quantum-course-
exercises](https://github.com/bollu/quantum-course-exercises). (2) My
scattered QC notes: [https://github.com/bollu/notes/blob/master/quantum-
computati...](https://github.com/bollu/notes/blob/master/quantum-
computation/main.pdf)

(One can find a full pdf of quantum computing since Democritus relatively
easily on the internet if one so chooses.)

~~~
jkingsbery
When I was a master's student, we used Nielsen and Chuang in our class. I
found it to be pretty good.

------
boothby
I'm a D-Wave employee, and our cloud service [1] is mature and available*
today. You can sign up to get a free minute of QPU time (which turns out to be
quite a lot; sampling a problem generally takes milliseconds of QPU time).
Additional time is granted if you link your github account to your Leap
account, and of course, you can pay for additional time.

We've recently added an IDE [2], we've got tutorials [3] and YouTube videos
[4] to guide you through the learning process. Additionally, we've recently
released a hybrid solver service [5], which supports up to 10k fully-connected
variables.

* The Leap service is available in 37 countries. We just launched in India and Australia this week.

[1] [https://www.dwavesys.com/take-leap](https://www.dwavesys.com/take-leap)

[2] [https://support.dwavesys.com/hc/en-
us/sections/360007452933-...](https://support.dwavesys.com/hc/en-
us/sections/360007452933-About-the-Leap-IDE)

[3]
[https://www.dwavesys.com/resources/tutorials](https://www.dwavesys.com/resources/tutorials)

[4]
[https://www.youtube.com/channel/UC6_etbfDnWMxAuYj9qD1qmA](https://www.youtube.com/channel/UC6_etbfDnWMxAuYj9qD1qmA)

[5] [https://www.dwavesys.com/sites/default/files/14-1039A-A_D-
Wa...](https://www.dwavesys.com/sites/default/files/14-1039A-A_D-
Wave_Hybrid_Solver_Service_An_Overview.pdf)

~~~
kanzenryu2
What's the most impressive real-world problem ever solved by one of your
systems?

~~~
boothby
Personally, I'm most interested in some rather esoteric applications: in a
very real sense, our QPU can be thought of as "programmable matter".
Specifically, it can be used to simulate various crystalline lattices [1, 2,
3]. Part of my job is figuring out how to best represent those lattices with
our systems, so I'm clearly biased.

To directly answer your question, I'm most impressed by [3]: materials with a
specific structure called the Shastry-Sutherland lattice exhibit a quantized
response to an external magnetic field. This is a place where materials
clearly demonstrate a quantum effect (itself a demonstration that quantum
mechanics are necessary to describe the universe) -- and when we use our
computer to simulate it, that effect is clearly visible.

I do think of physics experiments as real-world problems, but some of our
customers are doing really neat stuff that's much closer to a lay-perspective
of what "real-world" means. For example, Groovenauts and Mitsubishi Estate
collaborated [4] to optimize the routing of waste-collection trucks. Another
one, a collaboration [5] with Menten AI, involving protein design (admittedly,
a bit over my head) made use of our hybrid sampling service and they're now
doing wet-lab experiments. We've collected [6] quite a few of these
applications, and I'm barely familiar with a few of them.

[1] [https://phys.org/news/2018-08-d-wave-large-scale-quantum-
sim...](https://phys.org/news/2018-08-d-wave-large-scale-quantum-simulation-
topological.html)

[2] [https://arxiv.org/abs/2003.01019](https://arxiv.org/abs/2003.01019)

[3]
[https://science.sciencemag.org/content/361/6398/162](https://science.sciencemag.org/content/361/6398/162)

[4]
[https://www.dwavesys.com/sites/default/files/Dwave_Groovenau...](https://www.dwavesys.com/sites/default/files/Dwave_Groovenauts_Case_Study_V2.pdf)

[5]
[https://www.dwavesys.com/sites/default/files/Dwave_Menten%20...](https://www.dwavesys.com/sites/default/files/Dwave_Menten%20AI_Case_Study_V7_1_0.pdf)

[6]
[https://www.dwavesys.com/applications](https://www.dwavesys.com/applications)

------
sriram_malhar
I really really loved Nielsen and Matushak's Quantum country.

[https://quantum.country](https://quantum.country)

There are two reasons I like it.

There is no mumbo jumbo about polarising filters and "look how mysterious" it
is. No. They concentrate on very simple linear algebra and work with it.

Second, they make a convincing argument that when you memorise a bit of
material, it makes it intuitive. So they incorporate spaced repetition to
continually test you (by email) so that the material gets into your long-term
memory.

~~~
214610
It's a good source if you know linear algebra. Beginners should know that
there are no solutions to check your work.

~~~
dahele
Unofficial worked solutions are available here
[https://github.com/goropikari/SolutionQCQINielsenChuang](https://github.com/goropikari/SolutionQCQINielsenChuang)

~~~
214610
This is great. Thank you!

------
jonas_kgomo
Resources are quite widespread, if you want a community based learning, IBM's
Qiskit[0] is the best. If you are at high-school level, Michael Nielsen's
online mnemonic book [1] is good too. Ideally, you want to get a small grasp
of basic probability, some physics and algebra. Another community based
learning is QWorld [3].

[0] [https://qiskit.org/learn/](https://qiskit.org/learn/) [1]
[https://unitary.fund/posts/high_school_resources.html](https://unitary.fund/posts/high_school_resources.html)
[2] [https://quantum.country/](https://quantum.country/) [3]
[http://qworld.lu.lv/](http://qworld.lu.lv/)

------
_raul
The PragProg folks have a new book that includes exercises and looks very
promising as an introductory material. It's available in beta state and
apparently about to be finished:
[https://pragprog.com/titles/nmquantum/](https://pragprog.com/titles/nmquantum/)

------
ruggeri
Quantum Country is a nice resource. Also Aaronson.

But for me what really helped was Quantum Computing Without the Physics by
Nannicini. Aaronson is not formal enough or really a textbook to teach and
explain quantum algos like Simons (a good first algo) or Grover. It is an
amazingly fun book though.

[https://arxiv.org/abs/1708.03684](https://arxiv.org/abs/1708.03684)

Nielsen and Chuang is the standard textbook but was not useful to me sadly. I
wouldn’t recommend it to a beginner outside the framework of a course.

------
ArtWomb
>>> hard to grasp/understand

I truly believe anyone is capable of grasping QC. Minimal physics required.
Math no higher than linear algebra. Q# Quantum Katas are ideal for beginners.
Mariia Mykhailova is a terrific instructor. And you can scale up to arbitrary
numbers of (simulated) Qubits on Azure Quantum when you are ready to solve
real world optimizations / simulations ;)

Just want to link up another resource currently ongoing: Qiskit Global Summer
School. Currently 2000+ students enrolled and materials are identical to
bootcamp given to IBM Quantum Interns

[https://qiskit.org/events/summer-school/](https://qiskit.org/events/summer-
school/)

Best of Luck ;)

------
tbabej
Quick plug for folks that are coming from the SWE background, and would love
to get more hands-on experience (thus learn by doing!), the effort behind
Quantum open source foundation might be of interest [0].

We have compiled learning resources [2], organize workshops and hackathons
(i.e. we are behind the Quantum track at FOSDEM [3]) and even offer
mentorships [4] for people that have some QC knowledge and are interested in
entering the field of quantum SW development.

Originally the effort started as surveying the current state of open source
software in QC [1], but shortly afterwards we realized that the field could
benefit (similar as AI has), among other things, from more people with SWE
background joining and helping the ecosystem grow, making the individual
pieces of the QC stack more robust and interoperable, but also completely
building parts that are currently missing.

In that spirit, more recently we are trying to organize efforts to help the
open source quantum ecosystem by building various projects where people with
good SWE background could be very helpful.

Write me a short info about you at `tomas at qosf.org` with "[HN]" prefix if
interested to volunteer some of your time!

We're hoping to add couple of people into the team, and looking for people
with a different backgrounds (Python is the language of the science world in
QC, but we have use for everything ranging from devops, frontend to backend
skillsets).

[0] [https://qosf.org](https://qosf.org)

[1]
[https://journals.plos.org/plosone/article?id=10.1371/journal...](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0208561)

[2] [https://qosf.org/learn_quantum/](https://qosf.org/learn_quantum/)

[3]
[https://fosdem.org/2020/schedule/track/quantum_computing/](https://fosdem.org/2020/schedule/track/quantum_computing/)

[4] [https://qosf.org/qc_mentorship/](https://qosf.org/qc_mentorship/)

------
cameronperot
I would suggest starting from the basics of quantum physics if you don't
already have a solid foundation. MIT has several excellent courses on the
subject [1-4]. The first two are the same course, but taught by different
professors with slightly different curriculum.

[1] [https://ocw.mit.edu/courses/physics/8-04-quantum-physics-
i-s...](https://ocw.mit.edu/courses/physics/8-04-quantum-physics-i-
spring-2013/)

[2] [https://ocw.mit.edu/courses/physics/8-04-quantum-physics-
i-s...](https://ocw.mit.edu/courses/physics/8-04-quantum-physics-i-
spring-2016/)

[3] [https://ocw.mit.edu/courses/physics/8-05-quantum-physics-
ii-...](https://ocw.mit.edu/courses/physics/8-05-quantum-physics-ii-
fall-2013/)

[4] [https://ocw.mit.edu/courses/physics/8-06-quantum-physics-
iii...](https://ocw.mit.edu/courses/physics/8-06-quantum-physics-iii-
spring-2005/)

~~~
jeffreyrogers
You will also need a pretty good understanding of calculus and linear algebra
to understand QM, which many CS people don't have. You could probably learn
both at the same time, but it would be challenging. The unfortunate thing
about physics is you need to have pretty strong math skills to understand
things, and most people's mathematical preparation is not very good.

------
amzpix
Ed, here is a recording from Microsoft Workshop (5 hours!) on Quantum
Computing:
[https://microsoftevent.eventbuilder.com/event/22621/occurren...](https://microsoftevent.eventbuilder.com/event/22621/occurrence/20972/recording)

------
PacifyFish
I've found Anastasia Marchenkova's blog posts easy to read and thorough
[https://www.amarchenkova.com/category/quantum-
computing/](https://www.amarchenkova.com/category/quantum-computing/)

I like her because she writes code for a living AND has worked at quantum
computing startups, and went to postgrad for quantum, so she can go really
deep on both areas and their intersection.

She's also on Twitter
[https://twitter.com/amarchenkova](https://twitter.com/amarchenkova)

------
hackermailman
Ryan O'Donnell from cmu has lectures to understand qc from an algorithm design
perspective, so quantum information theory
[https://m.youtube.com/playlist?list=PLm3J0oaFux3YL5qLskC6xQ2...](https://m.youtube.com/playlist?list=PLm3J0oaFux3YL5qLskC6xQ24JpMwOAeJz)

His quote: "90% of the understanding of the quantum circuit model is achieved
by reviewing three purely 'classical' topics: classical Boolean circuits;
reversible classical circuits; and randomized computation"

------
brummm
I second a few people on here: You will probably need to learn quite a lot of
math if you did not study physics or math. In order to understand quantum
physics, you will need to understand what vector spaces and Hilbert spaces
are, have a good grasp of calculus (derivatives, integrals should be no issue
for you), a good understanding of Fourier analysis and statistics.

Then, you should probably take a class in the basics of quantum physics which
will lay the foundation for you to understand quantum computing.

------
westurner
"What are some good resources to learn about Quantum Computing?"
[https://news.ycombinator.com/item?id=16052193](https://news.ycombinator.com/item?id=16052193)
[https://westurner.github.io/hnlog/#comment-16052193](https://westurner.github.io/hnlog/#comment-16052193)

------
corysama
Here's chapter 1 of the O’Reilly book "Programming Quantum Computers"

[https://www.oreilly.com/library/view/programming-quantum-
com...](https://www.oreilly.com/library/view/programming-quantum-
computers/9781492039679/ch01.html)

------
q_eng_anon
if you're a comp-sci guy and just interested in understanding what it's all
about Aaronson will be your favorite author:

[https://www.scottaaronson.com/barbados-2016.pdf](https://www.scottaaronson.com/barbados-2016.pdf)

~~~
21eleven
his blog is excellent (and hilarious) as well.
[https://www.scottaaronson.com/blog/](https://www.scottaaronson.com/blog/)

------
abeppu
Umesh Vazirani has a quantum computation MOOC. I did an older version of it,
and enjoyed it. I believe it has been updated and moved to Edx. I felt the
version which I followed was a good distillation of challenging concepts, as
curated by an established expert.

------
Fishysoup
EDx has a Quantum Machine Learning course from UToronto. The first few
chapters cover the very basics of QM and Quantum Computing pretty nicely.

------
sushshshsh
As a side track, how far away are we from "quantum cloud services" that I can
pass arguments to and receive output from in exchange for a monthly or per-
resource-used fee?

What types of problems are quantum computers anticipated to solve? I've only
heard about how they are able to break certain cryptographical algorithms that
were designed long before quantum was even a thought.

~~~
UMetaGOMS
AWS Braket is in preview, so should provide what you are asking for in the
near future. QC hardware manufacturers generally also offer their own cloud
access mechanisms.

~~~
sushshshsh
Very cool! I have attached the FAQ for this service as now I have a new rabbit
hole to jump down.

I'm sure that once the electrical engineering side of things is in place and
commercial machines are being manufactured (custom or model based design), it
will become a new consulting domain for software engineers to work in.

[https://aws.amazon.com/braket/faqs/](https://aws.amazon.com/braket/faqs/)

------
minkowski
A friend has recommended Coecke and Kissinger's book, Picturing Quantum
Processes, which takes an alternative conceptual approach to quantum
computation based on string diagrams (not-so-secretly a formalism for working
with various flavours of monoidal category, as explained in the optional
sections) instead of linear algebra.

------
JoeDaDude
I found this text helpful:

Quantum Computing for Computer Scientists by Noson S. Yanofsky and Mirco A.
Mannucci

[https://www.cambridge.org/core/books/quantum-computing-
for-c...](https://www.cambridge.org/core/books/quantum-computing-for-computer-
scientists/8AEA723BEE5CC9F5C03FDD4BA850C711)

------
nestorD
In my experience, "Quantum computing for the very curious" is a great first
step: [https://quantum.country/qcvc](https://quantum.country/qcvc)

They use spaced repetition to help you interiorize the concepts and give a
good theorical basis to understand what quantum computing is about.

------
cevi
The best reference for learning quantum computing that I know is Watrous's
notes:
[https://cs.uwaterloo.ca/~watrous/LectureNotes/CPSC519.Winter...](https://cs.uwaterloo.ca/~watrous/LectureNotes/CPSC519.Winter2006/all.pdf)

------
YPBS
Here are some University lectures (from CMU, TU Delft, IIT etc) available
online at following link:

[https://github.com/Developer-Y/cs-video-courses#quantum-
comp...](https://github.com/Developer-Y/cs-video-courses#quantum-computing)

------
reikonomusha
#qlisp on Freenode IRC is dedicated to hacking on quilc, an optimizing
compiler for quantum programs, and QVM, a high-performance simulator. If you
want to write computer-sciencey software that interfaces with real quantum
computers, that’d a good place to join.

------
haecceity
[https://www.edx.org/course/quantum-mechanics-and-quantum-
com...](https://www.edx.org/course/quantum-mechanics-and-quantum-computation)

What better than learn from Shor and Chuang?

------
ahelwer
I will answer this question in two ways: one, I will tell you how I learned,
and two I will tell you how I would have liked to have learned with the
benefit of hindsight. Different people will value one more than the other, but
both are more valuable than a giant list of resources with zero guidance where
to start.

How I learned:

I started out like you, in possession of an undergraduate education in
computer science. I began reading _Quantum Computer Science: An Introduction_
[0] by N. David Mermin. This is a very good textbook, but I absolutely could
not skim it. I had to ensure I understood every single line before moving onto
the next. I had the impression I wasn't learning very quickly, when in fact
(due to the textbook's density) I was taking in a huge amount of information.

After a few weeks with the Mermin textbook, I bought _Quantum Computing for
Computer Scientists_ [1] by Yanofsky & Mannucci. This is a much softer
introduction than Mermin, almost too soft: I skipped the first few chapters on
linear algebra and complex numbers. However, in combination with the Mermin
textbook, I acquired a good understanding of quantum computing basics. It was
at this point I reached my own personal threshold for feeling I "understood"
quantum computing.

People often recommend _Quantum Computation and Quantum Information_ by
Nielsen & Chuang (also called "Mike & Ike") for beginners. I believe this is
not good advice. Had I tried to learn from that textbook, I would have failed.
However, it is an excellent textbook _after you already understand the
basics_. Anecdotally, I knew two people who tried to learn quantum computing
at the same time as me: one used Mike & Ike, and the other used a book called
_Quantum Computing: A Gentle Introduction_. Neither of those people understand
quantum computing today.

How I wish I had learned:

My experience learning quantum computing required a huge amount of mental
effort, and in the end what I learned wasn't actually complicated! So, I
created a lecture called _Quantum Computing for Computer Scientists_ [2] which
is the lecture I wish I'd had access to before trying to read any textbooks.
The lecture is popular and well-received, and I think it covers all the stuff
that's really conceptually tricky; once you're over those conceptual hurdles,
you can apply your regular computer science skills to learn everything else
about quantum computing you need (how specific algorithms work, etc.) Thus my
"hindsight" study guide is as follows:

1\. Watch the lecture I created.

2\. Watch Professor Umesh Vazirani's lectures on quantum computing; they flesh
out my lecture and he is a tremendously effective explainer of concepts (these
are scattered around YouTube but you can find a full playlist at [3])

3\. Concurrently, work through the first few chapters of either the Mermin or
Yanofsky textbooks

4\. After you feel you understand the quantum computing basics, pick topics
which interest you from the Nielsen & Chuang textbook

5\. Stick around quantumcomputing.stackexchange, reading questions & answers,
asking your own, and maybe eventually answering your own!

Good luck!

P.S. I've also heard good things about the Quantum Katas:
[https://docs.microsoft.com/en-us/quantum/tutorials/intro-
to-...](https://docs.microsoft.com/en-us/quantum/tutorials/intro-to-katas)

[0] [https://www.amazon.com/Quantum-Computer-Science-David-
Mermin...](https://www.amazon.com/Quantum-Computer-Science-David-
Mermin/dp/0521876583)

[1] [https://www.amazon.com/Quantum-Computing-Computer-
Scientists...](https://www.amazon.com/Quantum-Computing-Computer-Scientists-
Yanofsky/dp/0521879965)

[2] [https://youtu.be/F_Riqjdh2oM](https://youtu.be/F_Riqjdh2oM) \+ slides
[https://speakerdeck.com/ahelwer/quantum-computing-for-
comput...](https://speakerdeck.com/ahelwer/quantum-computing-for-computer-
scientists)

[3]
[https://www.youtube.com/playlist?list=PLDAjb_zu5aoFazE31_8yT...](https://www.youtube.com/playlist?list=PLDAjb_zu5aoFazE31_8yT0OfzsTcmvAVg)

------
balopat
Hi,

I personally have a similar background to you, with ~15 years of software
engineering.

I second some of the comments: I really started understanding quantum
computing much better when I sat down and worked through the problems of the
Nielsen and Chuang book ("Mike & Ike") - the first 4 chapters should give you
a solid start. It starts from theoretical base and does cover some of the
applications of QCs as well, though from that perspective there are a bunch of
newer results that are not represented in it yet (e.g. QAOA/VQE, NISQ era
algorithms, etc.). Some basic linear algebra is definitely needed though, it
takes effort and practice to build up familiarity there if you are rusty on it
(I was).

Also, I would like to plug open source contribution as a vehicle / forcing
function for learning. I started contributing to Cirq
([https://github.com/quantumlib/Cirq](https://github.com/quantumlib/Cirq))
starting last year in my free time (as well as some of my work time at Google)
and I learned a ton through that. I now work on Cirq full time. OpenFermion,
qsim, Tensorflow Quantum are all projects that are excited to have new
contributors.

The reason I mention my journey because it shows that you don't need formal
training in quantum physics to become productive in the quantum computing
community (it can definitely help though). However, the field is very deep and
is moving very fast, I very much consider myself a noob and rely heavily on
the expertise of others for contributions, and I spend a lot of time reading
and learning still every day - including other chapters of Mike & Ike,
Preskill's notes
([http://www.theory.caltech.edu/people/preskill/ph229/](http://www.theory.caltech.edu/people/preskill/ph229/)),
papers and online tutorials from other platforms that can help shed light on a
particular topic.

Also, don't forget to check out
[https://algassert.com/quirk](https://algassert.com/quirk) \- a very useful
in-browser quantum circuit simulator written by Craig Gidney, who also was one
of the main creators of Cirq. Even more inspiringly, he also, with very hard
work, grew from a software engineer into a quantum researcher without formal
training. His words: "My learning was heavily based on explaining things to
the computer and then having the computer show me the consequences of what I
explained." \- he also recommends this playlist:
[https://www.youtube.com/playlist?list=PL1826E60FD05B44E4](https://www.youtube.com/playlist?list=PL1826E60FD05B44E4).

Hope this helps!

------
usmannk
Does anyone have experience with Hidary's Quantum Computing: An Applied
Approach? How is it?

------
martinmartinez
Learning Quantum Computing based on skill level (math is the biggest friction
point, suggested pdf should save you lots of time) (Recc is personal
recommendations, Hi-Recc is look at ASAP)

# QC Main Ideas

    
    
        - Rotate, Compute, Rotate
        - Think in Amplitude Interference
    
    

# Beginner:

    
    
        -(Hi-Recc) Quantum Computing Primer (1.5hr) : https://www.youtube.com/watch?v=F_Riqjdh2oM
        -(Hi-Recc) Math Primer for Quantum Computing (easiest intro/primer I found on the topic; Highly Recommend   ) : https://cds.cern.ch/record/1522001/files/978-1-4614-6336-8_BookBackMatter.pdf
            -- understand Bra Ket notation [<Bra|Ket>]  (Ket as Column vector, Bra (Row vector) as Complex Conjugate of Ket (denoted as dagger) )
            -- understand Kronecker product  ( for multi-qubit systems) 
        - Quantum Computing for Computer Scientists book - https://www.amazon.com/Quantum-Computing-Computer-Scientists-Yanofsky/dp/0521879965
        - Quantum Math Primer (Faculty of Khan) (found a bit hard the first time around, pretty dense) : https://www.youtube.com/playlist?list=PLdgVBOaXkb9AtG88OsK_c8FDEBDLCC6_9
    
    

# Intermediate

    
    
        -(Recc) Ryan O'Donnell CMU course [is the best if you want to really understand the capabilities of quantum computing, get practice with math, intuition] (algos connection to Fourier, Quantum Complexity Theory, Math best practices, learning multi-quibit systems) 
            -- Quantum Computation and Information at CMU : https://www.youtube.com/playlist?list=PLm3J0oaFux3YL5qLskC6xQ24JpMwOAeJz
            -- Lecture Notes (use as reference in case video is not clear, or camera shot lags/changes) https://www.cs.cmu.edu/~odonnell/quantum18/  
        - Mermin's Textbook https://www.goodreads.com/book/show/1959623.Quantum_Computer_Science
        - Nielsen & Chuang's Textbook https://www.amazon.com/Quantum-Computation-Information-10th-Anniversary/dp/1107002176
            -- Nielsen's Lectures https://www.youtube.com/playlist?list=PL1826E60FD05B44E4
    
    

# Advanced

    
    
        -(Recc) Scott Aaronson Graduate Course http://stellar.mit.edu/S/course/6/fa14/6.845/materials.html
        -(Recc) Scott Aaronson Papers (really interesting) https://scottaaronson.com/papers/
        - Complexity Zoo - List of Algorithms https://complexityzoo.uwaterloo.ca/Complexity_Zoo
        -(Recc) Machine Learning https://www.amazon.com/Quantum-Machine-Learning-Computing-Mining/dp/0128100400
    

# Reference:

    
    
        -(Recc) https://qiskit.org/textbook/preface.html   ToC for different algorithms ( easy to follow, do it for quick basic algo math implementation lookup)
        - 'Suggested texts, notes, and videos to look at' section at bottom of page https://www.cs.cmu.edu/~odonnell/quantum18/
    

( I found this skill level format useful when learning Haskell/Functional
Programming Paradigm. This is what I found useful for getting started with
minimal friction; if more of a textbook learner Nielsen/Chuang textbook or
Quantum Computing for Computer Scientist's)

------
sparrigan
We wrote our O'Reilly book, "Programming Quantum Computers", precisely to fit
your use case. It assumes no advanced mathematics, doesn't shy away from
really delving into how algorithms work, and also has an online simulator to
let you experiment with actual code. I am of course biased, but I would say
that it's the resource out there requiring the least mathematics needed to get
some practical knowledge and a chance to experiment in code:

[https://www.amazon.com/Programming-Quantum-Computers-
Essenti...](https://www.amazon.com/Programming-Quantum-Computers-Essential-
Algorithms/dp/1492039683)

Shameless plug dealt with, the text I'd next point you to for being grounded
more in the Real world rather than Hilbert space is Mermin's. Modulo his
insistence on using the term QBit rather than qubit, it's a great pedagogical
work by someone with a very deep understanding of quantum mechanics. It's also
in hardcover, which also helps lend it more weight:

[https://www.amazon.com/Quantum-Computer-Science-David-
Mermin...](https://www.amazon.com/Quantum-Computer-Science-David-
Mermin/dp/0521876583)

As others have recommended, anything by Scott Aaronson is gold. Computational
complexity is his passion, and although I think his work is very thorough and
accessible, I would suggest it's a little less hands-on. However for very,
very deep insights there's nowhere better to go. Alongside his book,
Aaronson's blog at
[https://www.scottaaronson.com/blog/](https://www.scottaaronson.com/blog/) is
also revered by both QC enthusiasts and professionals alike and a great place
to follow debate on the latest developments in the field.

The most mathematically demanding text (or most thorough, depending on how you
look at it) I'd consider is Nielsen and Chuang (a.k.a "Mike 'n' Ike", a.k.a
"The bible"). It's slightly out of date in some more recent concepts regarding
the implementation of quantum computing (not wrong, just a tad incomplete),
but is still solid and indispensable for the core concepts and insights behind
quantum computing.

If you're interested in the physical implementation of a quantum computer
(i.e. what does it _look_ like inside), then Mike 'n' Ike is the only one that
will come close to satisfying you. The real world is so damn messy, and
quantum hardware is no exception. QC tech moves fast and the money is still on
the table as to just what that tech might look like inside the million qubit
quantum computer of the future. Mike 'n' Ike does discuss some specific types
of qubits, but I'm not aware of a book providing a truly comprehensive and up
to date description of today's most promising approaches.

------
redis_mlc
Not sure if quantum computing has any practical uses at this time, but some
people in the field used to do simulations with the following Perl module:

[https://metacpan.org/pod/Quantum::Superpositions](https://metacpan.org/pod/Quantum::Superpositions)

(The original author, Damian Conway, is a university CS professor.)

