Nowadays, in our digital society, the question is no longer whether software should be used, but which software should be chosen, and how we, as computer scientists, should design our software for human users. In such decision-making processes, the usability of the software has a strong influence on its success (independently how success is defined). Excellent usability and positive user experience can only be achieved by knowing and understanding the user's goals, their hidden needs, and also their cognitive abilities. Thus, besides choosing the "right" technology, considering the users and their needs is fundamental for the later success of the service or product. However, usability is neither a characteristic inherent in software nor can usability, as a software feature, be developed separately at a certain point in time. Usability always stands in a particular usage context, and this context must be clearly understood. Thus, we need to ensure the usability of software for the respective target group despite probably existing complex software functionality. Thus, for improving a software's usability, the entire software development process must be adapted. Depending on the development phase, and the project situation, we can select and apply different principles and methods. In the course "Human-Computer Interaction I", you learn and apply these principles and methods to create a positive user experience.