I am a physics and math undergraduate and I want to learn quantum computing mainly I want to try doing research. Are there any resources online courses or books or websites? I not familiar with the concepts of computing. In particular, it would be really helpful if the books are for physics people.
I had already mentioned some beginner level resources in this answer to Does a study guide exist that starts from a “purely CS background” and advances towards “making a new quantum programming language”? I'll list some other good resources others which I have found since then, which I believe will be more suitable for physics undergrads.
- University of Waterloo's USEQIP 2011-12 lectures are now available on YouTube. Ideally, you should follow them in sequential order and if you devote full-time you should be able to grasp the basics of quantum computing in around 2 weeks. The lectures are extremely well structured and specifically aimed at pre-final year undergrads. They cover both theoretical and experimental topics like linear algebra, quantum algorithms, practical decoherence modeling, error correction, quantum dots, quantum key distribution, spin-polarized transport, superconducting qubits, quantum foundations, and NMR quantum computing. Generally, it's quite rare to find undergrad-level lectures by the leading quantum computing scientists like Michele Mosca, Andrew Childs, and Raymond Laflamme themselves. So you're lucky!
John Watrous' 2006 lecture notes are a great resource to accompany Vazirani's lectures and notes. You can think of this as an abridged undergrad-version of Nielsen and Chuang. It covers the basics of quantum algorithms, quantum information, cryptography, and error correction. This will be more useful if you're bent towards the computer science side of quantum computing.
John Watrous' 2011 lecture notes provide a very thorough exposition of quantum information theory (some of the topics discussed there are not even available in Nielsen and Chuang). You may go ahead with it once you're done with the resources mentioned in points 1 and 2, and find yourself sufficiently interested in quantum information theory. I've personally only been able to go through the first couple of chapters so far, as it's quite dense. Not recommended for beginners but definitely useful for the advanced students.
To get a basic idea of quantum complexity theory, go through Quantum Complexity Theory (Part 1) - CSSQI 2012 and Quantum Complexity Theory (Part 2) - CSSQI 2012. I believe complexity theory is a topic which very few physics students have a solid grounding in. But it's extremely helpful to have at least an undergrad level knowledge of computational complexity theory if you wish to pursue higher studies in quantum computing, even if you choose the physicist's path.
The CSSQI 2012 playlist also has topics like topological quantum computing and quantum control theory. I haven't watched all of them yet, but from what I've seen, they seem to be very high quality lectures, aimed at beginners.
Some answers have already been proposed in this previous question and in this one. Nielsen and Chuang's book is the reference but may introduce much and very fast. But you have many introduction PDFs like An Introduction to Quantum Computing (Michal Charemza). I would recommend crossing different sources to learn even material for non-physicists, like An Introduction to Quantum Computing for Non-Physicists (Rieffel & Polak). Look at quantum development kits like Q#, Qiskit, pyQuil and follow their docs and getting started.