Well, Im in school and working in industry so I pseudo-qualify to answer your question.
-design patterns
Yes. You use them whether you realize it or not, so you might as well learn them so you can do it right the first time
-uml
Yes, but I havn't found it to be a necessity. I use it during code reviews to illustrate and justify design decissions/suggestions.
-use cases
Never used 'em. Though like I said above, I could see this being a valuable tool.