The intention of this paper is to provide an overview on the subject of Human-Computer Interaction(HCI). Human-computer interaction basically covers the concepts of humans interacting with computers, but computers do not understand our feelings or emotions, so we need to inform them of how they should react in different situations, and to help the computer understand different situations, we use various techniques. In these different techniques, principles are designed for the interaction of a human and a computer in such a manner that our expectations are met. Additionally, we can define HCI as the area of study where only the approaches, principles, and techniques are applied to build a user-friendly interface between people and computers. Because we are all surrounded by many devices that make our jobs easier, HCI is crucial in our daily lives. Therefore, HCI is the end result of ongoing testing and improvement of interface designs that may have an impact on the context of usage for users.