For every higher level design concept I know, I really ought to be capable of reproducing it in code and algorithms. Otherwise, my knowledge is inadequate, definitely as a programmer and likely as a designer as well. But back to what Tripper said, if you think you're not a good programmer, it's likely not be the case. What I mean is, in projects I've done at school most of my problems are with improper organization, requirements,design, and the ability to look up information. Hence coding almost never becomes a show stopper unless if your missing out on the world of pointers and references, in which case you need to find a good book. Eventually, if you're in that situation, you'll find that you already know these concepts, it being just a matter of translation into code. After all, what's the conceptual difference between bwtween a position in longitute and lattitude and pointers?
Also, at the university level they are not trying to teach you how to write code. You are there to learn higher-level shtuff! I don't know what... I'm a hardware guy. If you major in mechanical engineering, you don't take classes on automotive repair. I also remember somebody asking me "You are going to graduate (with an electronics degree), and you can't fix your own TV?" Uhhh no, I guess you have to go to trade school for th