Java and Theory
I am about to start doing a computer science degree quite soon, but I read somewhere that the way many universities teach coding (usually by teaching java) doesn't instill a good sense of coding theory.
So, my question is, do you know of any beginner Java books that also teach coding theory quite well? Or should I learn theory separately?
Well, I am not aware of any such books that also teach coding theory. Coder (or I should say the developer) automatically learns this during his/her practical sessions (not the college lab sessions, but when he/she actually starts coding).
You can still search for the "Java Best Practices" which will guide you the general pattern everyone follows. But don't stick to them. They are guidelines, and useful also, but you can also create your own pattern.
The following books an website for useful to you...
Java Concepts by Cay S. Horstmann