This appears to be preventing the book from being able to be uploaded to Google Play.
$ java -jar epubcheck.jar ~/Downloads/progit-en.31.epub
Validating against EPUB version 3.0 - custom validation
ERROR(RSC-001): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app02.html(148,278): File 'assets/7.png' is not found.
ERROR(RSC-001): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app02.html(150,370): File 'assets/8.png' is not found.
ERROR(RSC-001): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app02.html(166,158): File 'assets/7.png' is not found.
ERROR(RSC-001): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app02.html(168,158): File 'assets/8.png' is not found.
Validating using EPUB version 3.0 rules.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,1627): XHTML Content Document file name 'OEBPS/cover.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,1709): XHTML Content Document file name 'OEBPS/index.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18361): XHTML Content Document file name 'OEBPS/preface01.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18449): XHTML Content Document file name 'OEBPS/preface02.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18537): XHTML Content Document file name 'OEBPS/preface03.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18634): XHTML Content Document file name 'OEBPS/toc01.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18717): XHTML Content Document file name 'OEBPS/ch01.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18800): XHTML Content Document file name 'OEBPS/ch02.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18883): XHTML Content Document file name 'OEBPS/ch03.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,18966): XHTML Content Document file name 'OEBPS/ch04.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19049): XHTML Content Document file name 'OEBPS/ch05.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19133): XHTML Content Document file name 'OEBPS/ch06.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19217): XHTML Content Document file name 'OEBPS/ch07.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19301): XHTML Content Document file name 'OEBPS/ch08.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19385): XHTML Content Document file name 'OEBPS/ch09.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19469): XHTML Content Document file name 'OEBPS/ch10.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19555): XHTML Content Document file name 'OEBPS/app01.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19641): XHTML Content Document file name 'OEBPS/app02.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19727): XHTML Content Document file name 'OEBPS/app03.html' should have the extension '.xhtml'.
WARNING(HTM-014a): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/content.opf(2,19809): XHTML Content Document file name 'OEBPS/ix01.html' should have the extension '.xhtml'.
ERROR(RSC-001): /Users/schacon/Downloads/progit-en.31.epub/progit-en.31.epub(-1,-1): File 'OEBPS/assets/7.png' is not found.
ERROR(RSC-001): /Users/schacon/Downloads/progit-en.31.epub/progit-en.31.epub(-1,-1): File 'OEBPS/assets/8.png' is not found.
ERROR(RSC-005): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ch01.html(326,127): Error while parsing file 'value of attribute "width" is invalid; must be an integer'.
ERROR(RSC-005): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ch03.html(1191,156): Error while parsing file 'value of attribute "width" is invalid; must be an integer'.
ERROR(RSC-005): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ch03.html(1196,161): Error while parsing file 'value of attribute "width" is invalid; must be an integer'.
ERROR(RSC-005): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ch03.html(1201,216): Error while parsing file 'value of attribute "width" is invalid; must be an integer'.
ERROR(RSC-005): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ch06.html(0,0): Error while parsing file 'duplicate id: _pr_fail'.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,25645): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,25796): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,25941): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26072): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26217): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26356): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26493): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26631): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26829): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,26975): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,27127): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,27281): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,27430): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,27595): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,27741): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,27903): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28072): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28215): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28353): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28504): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28671): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28809): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,28953): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,29107): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,29255): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,29409): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,29588): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,29728): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,29865): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30006): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30165): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30291): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30420): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30557): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30714): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,30857): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,31011): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,31180): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,31319): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc.ncx(2,31469): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2191,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2211,67): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2223,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2237,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2251,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2265,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2279,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2293,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2307,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2321,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2341,56): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2353,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2367,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2381,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2401,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2415,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2429,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2443,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2457,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2471,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2485,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/toc01.html(2505,55): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(252,78): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(514,46): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(602,137): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(604,172): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(656,50): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(1028,133): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/app03.html(1274,106): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ix01.html(2,17594): Fragment identifier is not defined.
ERROR(RSC-012): /Users/schacon/Downloads/progit-en.31.epub/OEBPS/ix01.html(2,17858): Fragment identifier is not defined.
Check finished with errors
epubcheck completed
I'll look into this and if I can't figure it out, I'll file an issue in Atlas.