I receive a lot of email from students and novice practitioners asking for resources to help them learn the fundamentals of interface design. These questions come from people with a variety of backgrounds: computer science, psychology, Web design, human computer interaction, and more. This is great because interface design, at its heart, is an inter-disciplinary activity whose practitioners benefit greatly from strong horizontal (generalist) skill sets.
Not surprisingly, the resources I usually provide to students of interface design span across multiple disciplines. To set expectations, I point them to Why Learn Interface Design? This article outlines how I would start out the graduate and undergraduate courses in interface design I taught for the University of Illinois.
The readings for these courses are listed sequentially online and include authors like Steven Johnson, Don Norman, Ben Shneiderman, Louis Rosenfeld, Nathan Shedroff, Jesse James Garrett, Jakob Nielsen, and more. Anyone looking to understand the fundamental principles and processes behind interface design would do well to start with this list then explore the authors and concepts that most interested them in more depth.