What is often overlooked is the related areas of design that aren't specifically associated with programming. For example, typography can play a large role in usability. While it is mentioned in usability classes/articles, going deeper into the topic may be of benefit.
Also, the application of design technique varies between platforms and context. Design's role in web design vs. application design will share some similarities, but they are different mediums. A productivity suite for *nix platform could be very different than an iPhone application promoting an upcoming movie. (partly an issue of marketing vs. functionality; most programming will fall on the side of functionality)
Here area some areas to look into:
General Graphic Design
• Book: Graphic Design: The New Basics
• Book: Graphic Design, Referenced
• PDF: The Big Four: Contrast, Repetition, Alignment, Proximity
Typography
• Book: Thinking with Type
• Book: The Elements of Typographic Style
• Article: http://en.wikipedia.org/wiki/Typography
• Article: http://www.informationarchitects.jp/en/the-web-is-all-about-typography-period/
Layout
• Book: Layout Workbook
Color
• Book: Color Design Workbook
• Book: Color Harmony Workbook
Philosophy of Design
"The dumbest mistake is viewing design as something you do at the end of the process to ‘tidy up’ the mess, as opposed to understanding it’s a ‘day one’ issue and part of everything." -Tom Peters
"Good design keeps the user happy, the manufacturer in the black and the aesthete unoffended." -Raymond Loewy
"Truly elegant design incorporates top-notch functionality into a simple, uncluttered form." -David Lewis
"Good design is good business." -Thomas J. Watson Jr.
More Quotes