For a Bitcoin beginner:
1) The Internet of Money by Andreas M. Antonopoulos - A good book for beginners who find it hard to cover up and understand the technical parts of Bitcoin mentioned in the book - Mastering Bitcoin by Andreas himself. I suggest you read this book first and it should really get you to understand the basics of Bitcoin and its purpose.
2) Digital Gold: Bitcoin and the Inside Story of the Misfits and Millionaires Trying to Reinvent Money by Nathaniel Popper - It provides a historical viewpoint of events and enterprenuers setting up their start ups and the overall story of Bitcoin and how it evolved. It has a good bunch of stories about prominent startups their success and failiures towards the end. Good read if you like Bitcoin documentaries.
For a technical explanation:
1) Mastering Bitcoin by Andreas M. Antonopoulos - Tells you things from Private keys, public keys, explains you how to use the Bitcoin core client about the protocol and future enhancements like the lightning network. This is just a brief, it covers in-depth a lot of topics and this is open source. https://github.com/bitcoinbook/bitcoinbook
2) Bitcoin and cryptocurrency technologies by Prinston University - http://bitcoinbook.cs.princeton.edu/ (This is going to be my next read right after I complete reading Mastering Bitcoin)
Thank you for the sources. I am also looking for one. I started reading Mastering Bitcoin by Andreas M. Antonopoulos and I must say this is must read for starters out there.