Today I attended a day-long class on web-service technologies. (Yeah, late to the party.) Being a programmer was not a prerequisite (though it helped), and most people there weren't. This wasn't so much about programming and software design as about getting from WSDLs (web-service specifications) to code and vice-versa, and about understanding all the pieces, the WS-* standards, etc.
I should also mention that at the beginning of the class the instructor asked us to introduce ourselves and say what we do. I mentioned API (programming interface) design, among other things.
One of the exercises was pretty straightforward: they gave us some Java code for a trivial web service, and we were to generate the WSDL from it and deploy the service. We were using Eclipse, which has built-in tools for this, so that's pretty straightforward. Some of my coworkers were asking questions about the Java code to better understand it (which is good, to be clear).
After this had been going on for a little while the instructor walked past me, saw me typing, and said something like "you're still working on this?". Well, not exactly on the assignment, I said; having finished that, I'd noticed a couple obvious omissions from the interface their service offered, so I was implementing them to make sure I understood how to wire it all up. He looked over my shoulder, said something like "that array might bring you pain; consider a
Collection", I said I worried that that would be too Java-specific for a WSDL, and he pointed out that I was using a Java-specific tool and it would probably do something reasonable. And so it did.
After the class I apologized to him for being "that student" (I think I also asked more hard questions than everyone else put together), and he said no worries -- students like that keep him on his toes. :-) Me, I just wanted to make sure I got enough out of it to justify an 8AM start (ouch).