"The Art of Computer Programming" (http://www.amazon.com/s/ref=nb_sb_ss_i_6_31?url=search-alias...)
....to begin with.
Then there are theoretical computer science books.
I like the Computability, Complexity, and Languages, Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing)
http://www.amazon.com/Computability-Complexity-Languages-Sec...
For the record the shortened URLs are not affiliate links, and I'm not trying to make any statement about affiliate links. Here are the original URLs:
[1] http://mitpress.mit.edu/sicp/full-text/book/book.html
[2] http://ocw.mit.edu/courses/electrical-engineering-and-comput...
[3] http://dragonbook.stanford.edu/
[4] http://ocw.mit.edu/courses/electrical-engineering-and-comput...
[5] http://greenteapress.com/thinkpython/
[6] http://ocw.mit.edu/courses/electrical-engineering-and-comput...
Best way forward would be to work on your skills. Although its a long shot but follow some of the advice for novice programmer. You can look for Steve Yegge's post on interviews and Joel on Software. These will guide you through this landscape.
If you want to learn programming from ground up. Here is my list:
1. http://mitpress.mit.edu/sicp/
2. http://www.amazon.com/Introduction-Algorithms-Second-Thomas-...
3. A Data structure book
4. Some basic book on the programming language of your choice.
The list may go on but you need to go through them in full steam.
Best of luck.