I wonder if you can help me at all. As some of you will know I do a bit of java development here and there but unfortunately I don't really have any programming background, like, I haven't studied computer science - I just learned (well, that's an overstatement) let's say that I'm still learning java and I'll learn still for a long while but my knowledge of software development is obviously very basic. What I'm trying to get to here is, I'd like to take the software development career further and, in addition to learn java, I'd like to get a good graps of the theory behind it, say, algorithms etc etc, let's say the foundations of software development that I don't have. Now, before suggesting to go back to uni and perhaps do a computer science course which I would absolutely love, but that realistically will not happen for lack of time, I wonder if you guys could recommend any book/s that will help me. I'm very well aware of the fact that one or more books can't replace a degree, but still I'm sure they will help a great deal.
A while ago I remember reading bits of quite an interesting book called computer systems, but that was geared towards assembly so probably not for me.
Anyway, as usual, any help is appreciated