* Type Theory and Functional Programming (http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/)
* Programming in Martin-Lof type theory (http://www.cse.chalmers.se/research/group/logic/book/)
I've been learning Idris and reading the HoTT book at the same time. I'm not sure what it would have been like learning Idris without any formal type theory, but I believe it would be possible.
You mention Agda and Coq. Maybe one difference in our viewpoint is that Idris really is designed for general purpose programming. E.g. you can write a program with almost identical structure to a Haskell program.
Yes, there's no such a difference. However, in order to use Idris to its full potential, you need to use dependent types. It's just like writing procedural programs in object-oriented or functional language. It's possible, however, it's not a very bright idea.
[1] Software Foundations http://www.cis.upenn.edu/~bcpierce/sf/
Hint: Check out the overview [2] to see the chapter dependencies and decide which chapters you may want to skip.