Good question. We talk about UI/UX v interaction a bit in the book, but to many readers/writers, then tend to meld into more or less the same thing.
I typically describe it as this. UI/UX tends to focus more on how to make things look great. How to create great buttons, match colors, meeting design specifications for a specific platform, etc. If you were building a house, UI/UX would be lessons on how to best pick out the perfect paint color, where to place wall art, which couches/tables go best in your house, etc.
Interaction design focuses a bit more specifically on why we choose buttons/sliders, etc, vs other interface components. Again, going to our house reference, it would be why we use certain building materials, why we place walls so far away from each other, use specific doorways, etc.
I recommend that programmers learn as much about all of these fields as possible, mostly because it's a fairly easy way to differentiate yourself and make your work more valuable. As people jump onto the mobile bandwagon, it's increasingly popular for people who can code to jump onto these platforms, but it's very hard to find someone who can code and build attractive UI. And it's not that difficult to learn, just pick up a couple books like mine and you'll know much more than most pretty quick.
Check out my latest book, Essential Mobile Interaction Design, for information on how to best design apps for iPhone, Android, Windows Phone, and all things mobile! A link to the book is in my forum biography if you're interested!
Have an interface or user interaction question? Shoot me an email or PM.
look! it's a bird! it's a plane! It's .... a teeny tiny ad