This document provides an introduction to human-computer interaction (HCI). It discusses methodologies for designing interfaces, techniques for implementing and evaluating interfaces, and areas of HCI research like vision-based interaction, ubiquitous computing, and augmented/virtual reality. It emphasizes that even expertly designed systems will not be used if the interface/interaction is terrible. It defines properties like learnability, efficiency, and memorability for evaluating interfaces. It also discusses principles from Don Norman for designing intuitive interfaces, like making the system state and possible actions visible. Finally, it considers interaction as communication between user and technology according to five factors: address, attention, action, alignment, and avoiding accidents.