Human computer interaction
Design principles and methodologies
User-centered system design
Usability evaluation methods
Display designs
Usability of programming languages
Human-computer interface
Interaction elements
Hard controls and soft controls
Control-display relationships
Natural versus learned relationships
Mental models and metaphor
Current research
Descriptive models
Predictive models
User customization
Embedded computation
Augmented reality
Social computing